PICKUP’s Software Engineers are talented and smart folks who get stuff done. Our engineers are expected to disrupt and challenge conventions to deliver value to the business faster, better, and safer. A Software Engineer at PICKUP will work across many disciplines—the role of software engineer is no longer limited to cranking out code in your favorite language. We have embraced the devops philosophy, which means software engineers also need to understand deployment, operations, infrastructure, quality assurance, networking…and the list goes on and on!
Don’t worry—as a Software Engineer I, we won’t expect you to know all those disciplines from the beginning. Heck, finding someone who has deep knowledge of all those disciplines is a real rarity—we are all learning and should continue to learn—not only because working in technology demands it, but because it’s who we are. We work together, apart—our team is 100% remote. Go take a walk when you’d otherwise be commuting.
The applications we build and maintain range from dotnet/SQL Server hosted on servers to microservices deployed to kubernetes to AWS Lambda functions written in nodejs to an iphone/android app that is central to how we provide our service. At PICKUP, developers are our architects—we strive to drive architectural decisions as a team and not from specific individuals. Everyone on our teams has a voice in design decisions, tooling, and how the team operates.
We are constantly striving for improvement. Our team practices SCRUM on a two week sprint cycle. At the end of every sprint, we discuss how to improve our work. When we encounter a production incident, we don’t consider the incident tied up until we’ve had our blameless postmortem where we discuss the cause of the problem and make a plan to keep it from ever happening again. We agree with Gene Kim that “Improving daily work is even more important than doing daily work."
We carry the pager on our team. We don’t have a separate organization to clean up our messes in production. We deploy what we build and support what we deploy. We share responsibility for two different on duty schedules—a weekly schedule where you are the point person that the robots call when bad things happen, and a daily schedule where you are the point person that handles issues from our users. As a Software Engineer I, you’ll get a heavier share of the daily schedule. This duty provides a great way to learn the business, the technology and the application ecosystem, and you’ll have plenty of help from the rest of the team.
Here’s a list of some of the more important responsibilities a person in the role of Software Engineer I would take on:
· Write and deploy high quality, tested code
· Review your teammates' code Work with our users to resolve problems (which come to us as tickets)
· Adhere to best practices while delivering efficient and effective solutions
· Present bi-weekly demos of your work at the end of each sprint
· Play nice with others. Build relationships with individuals on and outside of your team to elevate your ability to execute
· Work in an Agile methodology (iterate, iterate, iterate)
· Participate in design sessions
This role requires the attitude and confidence to work on difficult solutions and collaborate with teammates to do what is best for our customers and partners, our platform and our team. Individuals that are looking to become PICKUP engineers are flexible, logical, tenacious, curious, knowledge seekers that are also willing to challenge each other and the organization. While every iteration brings unique challenges and opportunities, the value our engineers bring to the organization is recognized and rewarding.
BASIC AND PREFERRED QUALIFICATIONS (EDUCATION and/or EXPERIENCE)
Here are some long lists of specific technologies and disciplines that we work with. The more of these you are comfortable with, the better fit you are for this role, though the ability to learn is paramount.
· Bachelor’s degree from an accredited program in Information Systems, Computer Science, or related experience (preferred but not required)
· Some of the following technologies
o ReST Service Development
o XUnit, mocha or similar unit testing frameworks
o Kafka, Redis, Elasticsearch experience would be great
· Exposure and experience with some of the following disciplines:
o Quality Engineering (testing methodologies, automation)
o User Experience (front-end design)
o OOP and Design Patterns
o Database Development (database design, report writing)
o Business Analysis (writing user stories, collecting requirements)
o CI/CD (value chain automation)
o Software Development (multiple languages)
o Cloud Technologies (we’re on AWS)
· The desire and willingness to do what it takes to create an awesome team
MINIMUM QUALIFICATIONS, JOB SKILLS, ABILITIES
· Ability to communicate well—in both verbal and written forms. Know your audience.
· Ability to manage your time to get the right things done
· Ability to solve problems
· Comfortable with Software Development Life Cycle—specifically SCRUM
· Aware of non-functional software requirements including security, scalability, and usability
· Aware of design patterns, principles, and practices
· Keen attention to detail, craftsmanship, pride in your work
PICKUP® is the enterprise-grade, last mile delivery service and one of the nation’s fastest growing on-demand logistics providers. Our team features trust-verified PICKUP Good Guys delivering big & heavy items (including assembly) - from household essentials to furniture and mattresses - in as little as one hour. PICKUP has partnered with leading retailers and commercial businesses to transform their omni-channel delivery experience with solutions such as Contactless Buy Online Deliver From Store (BODFS). Our intelligent platform and success teams enable PICKUP Good Guys to consistently provide exceptional customer experiences. We currently operate in over 70 service markets with aggressive expansion plans. We are a customer-obsessed culture of creative problem-solvers. If this sounds like you, join our mission to build the best last mile in the nation.