Software Engineer
Mission
Build the product right and influence what the right product is.
Take responsibility in shipping code to production.
Understand who the user is and how to make the software easy to use by the end-user.
Responsibilities
Help guide architectural decisions: Archer roadmap is discussed across all positions, engineers help drive the conversations toward the best possible solutions.
Adopt, embrace, and contribute to new processes: As our team grows, we're implementing new processes, to help with code collaboration, testing, documentation, deployment and code maintenance.
Reduce technical debt: Archer has a complex codebase. A large amount of the work is dedicated to deep refactoring of legacy code, making the front-end easier to use, and careful implementation of new features.
Take ownership of features: Guide the development of new features / components from original request, to mockup, to live deployment.
Continuous development & deployment: Ship early and frequently. Have a strong impact on the end-user experience, prioritize delivering real user value as often as possible.
Help with support and interact with users. On a regular basis, handle support, be the first responder, resolve tickets and respond to feature requests.
Think generic: Archer has multiple customers with diverse market needs. Is a feature only going to be used by one specific customer? The goal is to build the most generic feature that solves a specific problem.
Performance indicators
Develop productivity skills and coding best practices.
Ability of prioritizing tasks and knowing when to ask for help when blocked.
Self-sufficient in varying areas of the codebase with an understanding of other parts of the project.
Effective communication with the team. Proactively identifies problems and assumptions with requirements.
Demonstrate a growth mindset. Embrace feedback and find ways for improvement.
Engage in support, able to handle the first Responder responsibilities. Follow up on response and resolution of tickets.
Participate in code documentation and testing.
Positions
Associate Engineer (intern): Basic knowledge of core CS concepts. Assist other team members and participate in level 1 support to gain knowledge in the codebase.
Junior Software Engineer: Broad knowledge of core CS concepts. Focus on growing as an engineer, learning existing tools, resources and processes.
Mid-level Software Engineer: Good understanding of the business logic. Able to make informed design decisions to work in other areas of the codebase with guidance. Can debug difficult problems occurring at multiple levels in the stack.
Senior Software Engineer: Expert in one area of the codebase; understands the broad architecture of the entire system. Researches and proposes new technologies. Lead, manage, and delegate to other team members.
Last updated