The role
Township is looking to add a Staff Software Engineer to our team. We work primarily on React, Next.js, and React Native projects writing in Javascript or Typescript, as well as full stack Elixir and Phoenix applications. Interest and/or experience with those technologies is required. This position is best suited for someone who wants to join a team as an individual contributor.
As an engineer, you will find that this role is very hands-on. You will collaborate with senior technical leadership and clients on the implementation of business-critical applications. You will create new web applications from scratch, extend current code bases, and design new architecture for future expansions that enable fast-moving companies to meet the demands of growth. Specifically, you will combine your problem-solving abilities and hands-on coding experience to drive the development of early-stage client projects grounded in our full technology stack. You will have the opportunity to help shape crucial architecture decisions to ensure reliability, performance, and sustainability.
Management vs. Individual Contributors (ICs) at Township
Managers and individual contributors are compensated the same, even though the roles and responsibilities are quite different. Traditional wisdom suggests that companies should promote their highest performers into management roles, regardless of their interest in or ability to be a manager. Township equalizes management and ICs in an effort to remove incentives from choosing one over the other. Both paths have a clear path set for them within Township, and contribute to the overall team success in important and unique ways.
Transparent Compensation
Responsibilities
- You’ll participate in and lead all stages of application development, frontend development, backend development, deployment, and application monitoring.
- You’ll engage in the UI/UX design process by providing feedback and implementation guidance.
- You’ll foster an environment of craft through writing quality software, providing thoughtful code review, and being a trusted pairing partner.
- You’ll interact skillfully with teammates and clients for collaboration, planning, and requirements definition.
- You’ll play a key role in architectural and software design decisions.
- Your most impactful contribution to sprint planning is weighing in on all aspects of feature planning, from discovery to execution and testing.
- You’ll contribute to a small, growing engineering team by helping form best practices and offering thoughtful code review, pairing, and technical mentorship.
- You’ll cultivate an environment of healthy communication, support, and collaboration.
Desired skills
Note: We view this section as a guide, not a checklist. We encourage you to apply even if you don't satisfy every single bullet on the list! Most qualified applicants will have 6-8 years of experience and have worked successfully on a remote team before.
- Extensive experience with React front-end framework, and a deep understanding of React.js, Typescript, and React Native.
- Experience or interest in Elixir and Phoenix.
- Experience with cross-functional collaboration at all product life cycle stages from prototype to production.
- You design, build, and maintain performant and reliable applications for web and native devices. Your code is consistently high quality, tested, and production-ready.
- Demonstrable knowledge of code versioning tools and processes, testing frameworks, and CI/CD.
- Generalist experience with a willingness and curiosity to focus in on any area of our toolset, including DevOps, test and QA automation, analytics and accessibility, or server and full stack integrations.
- The ability to build rapidly, with pragmatic implementations, while maintaining high code quality, maintainability, and performance standards.