What are the responsibilities and job description for the Principal Software Engineer position at The Brixton Group?
Job Details
Principal Front-End Software Engineer
The ideal candidate will be a software craftsman, excellence champion, and an expert in modern front-end development (React or Angular, cross platform), with exposure to object-oriented programming and related concepts using .NET technologies and cloud. You will be expected to take on the most complicated features while also mentoring less senior developers on coding practices, design patterns, and the overall processes to follow that lead to high quality code.
Responsibilities:
- Lead the design and development of complex, scalable software solutions using OOP principles in .NET and front-end engineering areas.
- Be a champion in engineering excellence, which starts from clean, testable code and spans through unit tests.
- Go beyond unit tests with the Test-First approaches like Test-Driven Development and Behavior-Driven Development.
- Execute spikes / POCs to prove, or disprove, an architecture, design, or concept.
- Conduct thorough code reviews and provide constructive feedback to team members.
- Collaborate closely with product managers, architects, UX designers, and other stakeholders to define and implement software functionality, architecture, and system designs.
- You will tackle the most challenging and intricate tasks within the development lifecycle.
Requirements:
- 10 years of experience in software development, with at least 7 years focusing on frontend technologies on a commercial software product
- Expert-level knowledge of React with Typescript
- Experience with C# and .NET Framework/Core
- Strong understanding of OOP principles and design patterns
- Extensive experience with software architecture and system design
- Proficiency in developing and consuming RESTful APIs
- Proven track record of implementing and maintaining test-driven development practices.
- Knowledge of microservices architecture and containerization (e.g., Docker, Kubernetes)
- Familiarity with cloud platforms (e.g., AWS)