Software Engineer Full-Stack
Job Description
Job Description Summary: The Software Engineer (Full-Stack) role involves designing, developing, testing, and maintaining web applications and APIs using Microsoft Azure. The developer will collaborate with cross-functional teams to gather requirements, optimize performance, and ensure scalability and reliability.Key skills include proficiency in Angular, C#, ASP.NET, relational databases, and implementing best practices for code quality and security.
As a Software Engineer, you will:
Design, develop, test, and maintain applications using various front-end frameworks as needed
Design, develop, test, and maintain application back ends using APIs leveraging Microsoft Azure and common back-end frameworks.
Collaborate with cross-functional teams to define, design, and ship new features.
Optimize applications for maximum speed and scalability.
Create and enhance existing code implementing industry best practices around software design patterns to ensure the codebase is maintainable and scalable
Ensure the technical feasibility of UI/UX designs.
Implement responsive design principles to create applications that work across various devices and screen sizes.
Participate in code reviews and contribute to the continuous improvement of development processes.
Stay up-to-date with the latest industry trends and technologies to ensure our applications remain current and competitive.
Mentor junior developers and provide guidance on best practices.
Requirements:
Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience) and able to demonstrate high proficiency in programming fundamentals.
Proven working experience as a full stack developer with a strong portfolio of web applications.
Skilled in Angular and/or other front-end frameworks (e.g., React, Vue.js, ASP.NET).
Skilled in back-end frameworks such as .NET and ORM like Entity Framework
Skilled in building RESTful APIs and asynchronous request handling.
Skilled in relational databases such as SQL. Ability to model, build, and implement relational schemas. Ability to create and optimize queries to meet application requirements.
Skilled in recognizing, applying, and implementing design patterns and best practices for web development to enhance code quality, maintainability, and scalability. (MVC, REST, Microservices, SOLID principles, Event Driven, DDD, etc.)
Fundamental knowledge of version control systems (e.g., Git).
Preferred Qualifications:
Experience with Microsoft Azure services, including Azure App Services, Azure Functions, and Azure DevOps.
Experience with automated testing. Knowledge and experience applying multiple levels of testing (Unit, Integration, and End to End)
Experience with monitoring & logging application performance in cloud environments
Experience with containerization and orchestration tools (e.g., Docker, Kubernetes).
Experience with CI/CD pipelines and cloud