We are seeking a highly experienced and accomplished Senior Staff Software Engineer to join our engineering team. As a Senior Staff Software Engineer, you will play a key role in leading the technical direction of our software development projects. You will be responsible for architecting complex systems, providing technical leadership, and mentoring other engineers. You will collaborate closely with cross-functional teams, contribute to the product strategy, and drive the successful delivery of high-quality software solutions.
- Lead the design, development, and implementation of complex software systems, ensuring scalability, performance, and maintainability.
- Architect and drive the technical direction of projects, making informed decisions on technologies, frameworks, and architectural patterns.
- Provide technical leadership and mentorship to the development team, guiding them in architectural decisions, code reviews, and best practices.
- Collaborate closely with product managers, designers, and stakeholders to understand project requirements and translate them into technical solutions.
- Drive and participate in architectural discussions, code reviews, and technical decision-making processes.
- Write high-quality, clean, and efficient code, adhering to coding standards and best practices.
- Troubleshoot and debug complex software issues, identifying root causes and implementing effective solutions.
- Conduct performance analysis and optimization to ensure optimal system performance and scalability.
- Stay up to date with emerging technologies, industry trends, and best practices, and evaluate their potential application to our software projects.
- Drive the adoption of engineering best practices, tools, and methodologies, and contribute to the continuous improvement of development processes.
- Extensive professional experience (10+ years) in software development, with a strong focus on backend development.
- Proven expertise in designing and developing large-scale, highly scalable software systems, preferably in a distributed or cloud-based environment.
- In-depth understanding of software architecture, design patterns, and software engineering principles.
- Strong leadership and mentorship skills, with a track record of guiding and inspiring engineering teams.
- Experience with agile software development methodologies and practices, such as Scrum or Kanban.
- Solid understanding of web technologies and frameworks, databases, and distributed systems.
- Excellent problem-solving and analytical skills, with a strong attention to detail.
- Strong written and verbal communication skills, with the ability to effectively communicate complex technical concepts to both technical and non-technical stakeholders.
Bachelor’s in a related field or equivalent experience.
Knowledge, Skills, Abilities
- Experience with cloud platforms and services such as AWS, Azure, or Google Cloud Platform.
- Knowledge of containerization technologies (e.g., Docker) and orchestration frameworks (e.g., Kubernetes).
- Familiarity with frontend frameworks such as React, Angular, or Vue.js.
- Understanding of security principles and best practices in software development.
- Experience with performance optimization and profiling tools.
- Contributions to open-source projects or active participation in developer communities.
- Strong project management skills, including the ability to plan, execute, and deliver complex projects on time and within budget.