Senior Software Engineer
Some questions we find ourselves asking: How can technology help an Architect explore thousands of ideas in the time it currently takes to explore one? How can software optimize the quality of space for usability while reducing the cost and resources required to build? How do we encourage adoption of reusable solutions that can be manufactured more sustainably and efficiently?
Answers to these questions require deep expertise in design and engineering that comes from every level of our company. This is why we’ve invested deeply in building a culture that empowers its employees to do great work and directly shape the future of its products. We want smart, creative, and intentional individuals to be part of our core team. Are you in?
We are actively seeking an experienced, creative, and pragmatic Senior Software Engineer to join our growing team. The engineering team is a mix of people from traditional CS backgrounds as well as non-traditional backgrounds such as architecture, mechanical engineering, music, and more. We value this diversity and pride ourselves on being a place that creates opportunities for motivated individuals to move into technology careers.
Our stack includes Golang, React, Typescript, ThreeJS, Docker, Kubernetes, and Google Cloud Platform. We strive to write clean, maintainable code that is tested, documented, and understood across the team. We are a small team, and you will work on a variety of problems across the stack. You will have a voice and influence on technical direction and decisions, and are expected to contribute to making our team the best it can be.
- Design, develop, test, deploy, maintain, and improve Outer Labs software
- Manage both individual and team-wide project priorities, deadlines, and deliverables
- Act as a pillar of the software engineering team, using your experience to help guide technical decisions and direction
- Perform technical investigations on sometimes open-ended problems, form well-researched and defensible opinions on technical decisions
- Participate in code and design reviews; provide strong but constructive opinions on how to improve the quality of our infrastructure and our products; and suggest and implement creative solutions to the challenges we encounter.
- Collaborate with other disciplines on our team, including product management, design, and business development
- Proactively communicate with other members of the team, and sometimes external clients
- Teach what you know, acting as a mentor when appropriate, while staying open to a process of constant learning.
- 8+ years software development experience in one or more general purpose programming languages.
- Deep experience with Java. You will be expected to learn many new tools, but this will form the foundation of your role.
- Experience working with development practices at scale, or in large organizations.
- Ability to think abstractly about complex systems
- Enthusiasm for collaborative work. Outer Labs values working on projects together, bouncing ideas off each other, and swapping responsibilities as necessary to work quickly and smoothly.
- Strong communication skills. Outer Labs is a highly remote/distributed company. We communicate through written documents, Slack, Hangouts, phone, and email. You should be a good listener and reader as well as able to get your ideas across clearly and respectfully.
- BS degree in Computer Science, similar technical field of study or equivalent practical experience.
- Experience or interest in AEC (Architecture, Engineering, & Construction) is a huge plus.
- Healthcare, dental, and vision insurance for employee & dependents. We cover 85% of the cost for employee, and 75% of the cost for dependents
- 401K with matching up to 4% of your salary
- Paid parental leave for all new parents
- Unlimited PTO
- 11 paid company holidays
- Computer and home office setup with phone and internet paid for up to $100 each.
- Annual stipend for education and professional development
- 100% remote working