Description:
Key Responsibilities
- Software Development: Design, develop, and maintain software applications using C#, .NET, ASP.NET Core, and other Microsoft technologies.
- Code Review: Conduct and participate in code reviews to ensure high-quality code and adherence to best practices.
- System Design: Collaborate with the team to design and architect scalable, reliable, and maintainable systems.
- Testing: Write unit tests, integration tests, and participate in the testing process to ensure code quality and robustness.
- Documentation: Create and maintain technical documentation related to system architecture, design, implementation, and usage.
- Performance Optimization: Identify and resolve performance bottlenecks and ensure efficient resource utilization.
- Agile Practices: Participate in agile development processes, including sprint planning, daily stand-ups, and retrospectives.
- Mentoring: Mentor junior developers and provide guidance and technical expertise to the team.
- Collaboration: Work closely with cross-functional teams, including product managers, designers, and QA, to deliver high-quality products.
- Innovation: Stay updated with the latest industry trends and technologies, and advocate for their adoption when appropriate.
How this opportunity is different
In working within the engineering team you will be exposed to a breadth of technologies in building out the technical strategy across 8000 live clients with datasets up to 45M rows by 300 columns geniting billions of analytics processing dynamic client requests across a day.
Skills and experience that will lead to success
Proficiency in C#: In-depth knowledge and experience with C# and the .NET Framework, including .NET Core, design patterns, familiarity with IOC/DI containers, performance and data structures, SOLID programming principles
- NET Core: Strong experience with ASP.NET Core for building web applications and APIs.
- Database Management: Experience with SQL Server or other relational databases. Experience of No-Sql databases
- Cloud Platforms: Experience with cloud platforms like Azure or AWS.
- Version Control: Proficiency with version control systems, particularly Git.
- DevOps: Understanding of CI/CD pipelines and tools like Azure DevOps, Jenkins, or similar.
- Problem-Solving Skills: Strong analytical and problem-solving skills.
- Communication: Excellent written and verbal communication skills.
- Team Collaboration: Ability to work effectively both independently and as part of a collaborative team.
- Experience: Minimum of 5 years of professional experience in software development.
- Preferred Qualifications
- Microservices: Experience with microservices architecture and containerization technologies like Docker and Kubernetes.
- Test-Driven Development: Experience in TDD and behavior-driven development (BDD).
- Agile Methodologies: Familiarity with Agile methodologies, such as Scrum or Kanban