Job Description: We are seeking a highly skilled and experienced Principal Engineer with expertise in full-stack development to join our dynamic team. The ideal candidate will be a technical leader and visionary with a proven track record of architecting and implementing complex software solutions across the full technology stack.
Key Responsibilities:
- Architect, design, and implement scalable and robust full-stack solutions that meet business requirements and technical standards.
- Lead and mentor a team of engineers, providing technical guidance, mentorship, and support to help them excel in their roles.
- Define and drive technical strategy, standards, and best practices for full-stack development, ensuring alignment with company goals and objectives.
- Collaborate closely with cross-functional teams, including product management, design, and quality assurance, to ensure seamless integration and delivery of software solutions.
- Stay up-to-date on the latest technologies, tools, and frameworks in full-stack development, and incorporate them into the team's work to drive innovation and efficiency.
- Lead by example through hands-on coding, code reviews, and technical discussions, promoting excellence in software craftsmanship and engineering practices.
- Provide technical leadership and guidance on architectural decisions, performance optimization, security best practices, and other technical considerations.
- Drive continuous improvement and process optimization within the engineering team, championing the adoption of Agile methodologies and DevOps practices.
- Collaborate with senior leadership to align technical initiatives with business goals and priorities, and provide insights and recommendations on technical strategy and roadmap.
Qualifications:
- Bachelor's degree in Computer Science, Engineering, or a related field; Master's degree preferred.
- 8+ years of experience in full-stack development, with a strong background in both front-end and back-end technologies.
- Proven track record of architecting and implementing complex software solutions across the full technology stack.
- Strong technical expertise in front-end technologies such as HTML, CSS, JavaScript, and modern JavaScript frameworks (e.g., React, Angular, Vue.js).
- Strong technical expertise in back-end technologies such as Node.js, Python, Ruby on Rails, or Java/Spring Boot.
- Experience with databases and data modelling, RESTful APIs, microservices architecture, and cloud platforms (e.g., AWS, Azure, Google Cloud Platform).
- Excellent communication, interpersonal, and leadership skills, with the ability to effectively communicate technical concepts to non-technical stakeholders.
- Strong problem-solving skills and the ability to make sound decisions in a fast-paced and dynamic environment.
- Experience working in an Agile development environment and familiarity with Agile methodologies such as Scrum or Kanban.
- Experience with DevOps practices and tools such as Docker, Kubernetes, Jenkins, and Terraform is a plus