Senior Software Engineer
Being a developer at Tandem is all about collaborating with clients to help them solve meaningful business challenges and collaborating with your team (developers, designers, product and more) to build quality, reliable software. We want to work on software with a positive social impact and feel good about what we do. We typically spend our days at the Tandemoffice in Bucktown (Chicago) or the Financial District (San Francisco), working directly with our clients in small teams, building and providing guidance on products, and collaborating with designers.
If you like writing well-tested, maintainable, and clean code, that's fantastic! We do too. We hope you're also excited about participating in client meetings, discovery sessions, and design discussions, as well as engaging the wider community through things like open source, blogging, meetups, podcasting, and conference talks.
Our vision is to create a supportive, collaborative environment and empower people to do the best work of their lives. Everyone says that, though, right? The difference between Tandem and a typical tech company is that instead of bringing in snacks and a ping pong table and calling that "culture," we do the behind-the-scenes work to foster an environment where everyone teaches and everyone learns. Egos are low, and we're all genuinely interested in seeing everyone else succeed. If this sounds good to you, please read on.
(But we do have snacks.)
In this role you will...
- Collaborate on the Sales process to help define what kind of engagement developers will have with incoming sales prospects
- Watch for process changes and edit based on client assessment and advocate for resilience across the company
- Be a thought leader in the development world challenging the team to think critically about their work in relation to other work out there
- Lead and collaborate with your teammates and customers (during and after the sales process) to discover the best possible product to solve customer needs
- Lead development teams to build successful products for our customers with tight integration with designers and deep collaboration with stakeholders
- Champion and evolve our internal Tandem development process and its integration with design and other disciplines
- Provide empathetic guidance and feedback to the client on product decisions during a project
- Work with clients and client engagement to make sure projects stays on time and within budget
- Write well-tested and maintainable code
- Architect solutions that walk the line between pragmatism and theory to build the best solution in each situation and gather buy-in from the team and stakeholders
- Shift between various programming languages, frameworks, and platforms as the industry and customer needs evolve
- Pair program with other Tandem and/or client developers
- Collaborate with design and stakeholders on product planning and lead the development planning and estimation sessions
- Teach, mentor, and learn from your fellow team members
- Above all, be compassionate, optimistic, and people-focused
Our projects are largely greenfield web and mobile applications, but also sometimes involve extensions to existing systems. Projects tend to last 6-18 months and we rotate developers roughly every 4-9 months, so you'll be exposed to many different systems and business verticals.
We currently do most projects in Rails, React and ReactNative and are increasingly using Elixir, native mobile (Swift, Kotlin), Docker, and IoT technology (Go, Kafka/Kinesis, C/C++ etc). We occasionally have projects in the Python, Java, .NET, and Node ecosystems. Nothing is off-limits, however, so familiarity with any modern framework, even one not on our list, is a plus.
We subscribe to a modern, evolving process that has us writing tests for almost all the code we add to a codebase. We also believe in continuous integration/delivery and do frequent deployments on every project. Our projects rarely work with dedicated QA personnel.
- Excellent communication skills; we like to describe ourselves as concise, accurate, and warm, but direct
- Experience working in collaborative team environments - where you are counted on, and you can count on your team
- Highly attentive to details
- Focused on productivity and delivering value
- Self-directed and capable of adding value without micromanagement
- Alignment with Tandem's core values
Career Paths...What level am I at?
At Tandem we have a few levels in our career path for engineering. Once we get into the interview process we'll determine where you fit along that path.
This application is for people with prior experience as a professional software developer. If you have just graduated from a bootcamp, or only have a few months of experience, you might be interested in applying for our apprenticeship. Check our blog, twitter feed, or open positions page to learn when our apprenticeship applications are open.
- Healthy work/life balance with no overtime requests; work 40 hours and go home
- Minimal travel; work mostly at our offices (not on-site at client offices)
- 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
- 1 optional work-from-home day per week
- Catered lunch and breakfast in-office from local restaurants multiple days each week
- Annual learning budget for conferences, courses, online training, books, etc.
- Yearly pre-tax transit benefit
- Eligibility to enroll in the Tandem retirement plan with 3% employer matching after 6 months of employment