We’re hiring a Software Engineer II to join our team. Our Level 2 Software Engineers are growing into more independent and autonomous team members. Engineers at this level organize their own work in a productive manner with little oversight from leads. Read on to learn about us, what it’s like to work with us, what we’re looking for, and our hiring process.
Who we are
Tandem is a technology and innovation studio that specializes in product definition, custom software, and software managed services. We create custom software that inspires people and drives business forward. As a talented group of thinkers and makers from many disciplines, we are brought together by a shared goal: do work that changes the world for the better. We always focus first on people — our clients, their customers, and our team — by collaborating to solve meaningful business challenges. We enjoy designing and building ambitious digital products and tools.
What it’s like to work with us
As a consultancy, we have the opportunity to solve a lot of different problems. We work directly with our clients in small teams, building and providing guidance on products, and collaborating with designers. Our unique approach to consulting leads to a better developer experience and a higher quality of work life.
As engineers, we love well-tested, maintainable, and clean code! We are always encouraging each other to write better code through pair programming and code reviews. We’re generalists and strive to make sure that we’re choosing the best technology to solve our clients’ problems. Right now we’re loving Postgres, Rails, and React as our greenfield tech stack, but we occasionally have projects in the Python, Java, .NET, Node, iOS, or ReactNative ecosystems. Nothing is off-limits, so we never turn down the opportunity to learn a new technology!
Our vision is to create a supportive, collaborative environment and empower people to deliver work they’re proud of. At Tandem, everyone teaches and everyone learns. Egos are low, and we're all genuinely interested in seeing everyone else succeed.
Who you are
We would love to hear from you if you
- Have a solid command of 1 full stack, including relational database, server-side framework, and client-side framework
- Have experience with relational data modeling
- Love to learn and look at challenges as learning opportunities
- Value a breadth of knowledge and enjoy being a generalist developer
- Delight in problem solving and strive to make the best decisions for the problem and information at hand
- Are excited about software testing and always ship well-tested code
- Align with our core values and genuinely want to do work that makes a positive impact
In this role, you will...
Our career levels and responsibilities are cumulative. For a full list of responsibilities, please check out our Software Engineering Career Path.
- Contribute to the work of your project team with little rework necessary
- Own small areas of the project and/or code-base such as taking responsibility to be a subject matter expert for a part of the domain
- Transfer programming skills (command over languages, frameworks, libraries, etc) between technologies with proficiency
- Update and coordinate your work with clients, raising issues and pre-empting problems
- Actively participate in Tandem’s interview process
- Happily contribute on all sides of the stack, frontend and backend
- Work on medium complexity features, such as those requiring new implementation patterns in a single layer of the application, such as the UI or API or database. You can complete this work independently if necessary, with minimal rework
- Work on high complexity features, such as those that integrate multiple systems or call out to a third-party, with some coaching and pairing assistance from other team members
- Effectively debug medium complexity issues in the code using a systematic approach. Medium complexity issues are those where the remediation steps require more investigation, but do not require large refactors or multi-level system changes.
- Execute low complexity refactors, such as those that touch multiple components within a single layer of an application
- Model data for low complexity features, such as those that require foreign key relationships but do not require polymorphism or join tables
- Consistently deliver code with test coverage for some of the primary functionality, focusing on essential behavior. Primary functionality is that which is needed to meet the core requirements, such as data parsing logic. Nonprimary functionality is non-essential to the core requirements, such as a helper function for displaying date strings.
- Deliver code with error handling for critical errors in integral parts of application functionality
- Demonstrate proficiency in multiple languages and frameworks. Transfer programming skills between languages and frameworks with similar syntax
- Apply best practices of their proficient languages and frameworks and consistently deliver code that follows those best practices, with some coaching and pairing assistance from other team members
- Coach less experienced team members on the basics of your proficient languages and frameworks
- Provide high-level documentation for your work most of the time, including PR descriptions, commit messages, README updates, or content in the project management tool
- Communicate your opinions on technical matters and explain the justifications behind your implementation decisions, even if the basis for the opinion is from anecdotal experience and not aligned with current requirements
- Provide specific, actionable technical feedback to other team members in PR and code reviews and identify some opportunities for improvement
Professional & Consulting Skills
- Asks question to discover edge cases and identify product and/or technical concerns before implementation work starts on a feature
- Ask questions about timeline or budget when talking about requested changes with the team
- Produce realistic estimates for your individual scope of work at the task level. You explain assumptions, risks, and unknowns for your estimates.
- Understand trade-offs in decision making and seeks support in applying this type of thinking to your work
- Identify scope creep and escalate to your team, with some coaching and pairing assistance from other team members
- Actively seek buy-in for technical direction and process decisions from members of your project team
- Manage your personal scope of work to meet deadlines most of the time and consistently notify the team if you may not be able to do so
- Navigate project management tools and writes user stories and other documentation
- Contribute your technical and consulting opinions in client and internal meetings
- Assist more senior engineers in pre-sales client activities (discovery, scoping, estimation, etc)
- Explain technical and business decisions to clients, with some coaching and pairing assistance from other team members
- Handle risk, change, and uncertainty within your personal scope of work effectively, with some coaching and pairing assistance from other team members
How we work and our benefits
We care deeply about our team and strive to provide flexibility and benefits so each person can prioritize the things they care about.
For example, our core working hours are from 10am-4pm in your local time zone. The goal of core hours is to ensure that we can pair and collaborate in a high-bandwidth way during the majority of our workday while allowing us the flexibility that real life requires. You may notice that 10am-4pm for five days doesn't add up to 40 hours - yet 40 is generally what we expect to do. How you organize your work time outside of core hours is at your discretion, whether this is early mornings, late evenings, or weekends (though weekend work is not recommended).
Our other benefits include
- Healthy work/life balance with no overtime requests
- Competitive annual salary
- 100% employer paid medical, dental, and vision plans for employee, spouse, and family
- 100% employer paid life insurance policy
- 100% employer paid short-term and long-term disability insurance
- 3 weeks of paid time off to start, increasing by 1 week each year up to 5 weeks off
- 3 paid conference days each year
- Annual learning budget for conferences, courses, online training, books, etc.
- Eligibility to enroll in the Tandem retirement plan with 3% employer matching after 6 months of employment
For a full list of all benefits and employment policies, please check out our Company Handbook.
Our hiring process
We use a 4 step process.
- Phone screen
- Take home code challenge
- Remote in-person interview
The first step in our process is to fill out our application form. You will be asked a few questions on that form. We value thoughtful responses and will disregard applications without them.
If we decide to move forward, we’ll follow up with you to schedule an initial phone screen with one of our engineers. Our phone screens are non-/low-technical. We won’t be grilling you on database design but are interested in learning about your career trajectory, professional experiences, and what interests you.
If that goes well, we’ll send you our take-home code challenge. We know that everyone has different responsibilities and priorities in life, and we want to give you the time you need to shine. You will have 7 days to complete your challenge and submit it.
Once submitted, we’ll do an internal code review to determine if we’d like to do an in-person interview. If we choose not to move forward, we’re happy to schedule a call for feedback.
Finally, the last step in our process is a remote in-person interview. You’ll have the chance to meet with many of our team members, extend your code challenge, pair with us on real clients and problems that we’re solving that day, and participate in a consulting challenge.
Who you’ll be working with
To get a sense for us, check out these posts about and by our team.
Tandem Roundtable: Stephanie and Shamyle on Pair Programming, Remote Work, and How Taylor Swift Can Help You Produce Better Code by Stephanie Minn and Shamyle Ghazali
Imposter Syndrome: Feels, Not Reals by Mina Slater
Tandem is currently engaged in a contract with the Department of Defense and we encourage our potential employees to consider their willingness and comfort level in working with government entities of this nature. Please feel free to ask more questions during your phone interview.
PLEASE NOTE: applications which do not include thoughtful responses to our application questions will be disregarded.