The Senior Software Developer is responsible for designing, developing, and maintaining high-quality software applications. This role involves leading complex technical projects, mentoring team members, and ensuring that software solutions align with business goals and technical standards. The Senior Software Developer plays a crucial role in driving technical innovation, optimizing development processes, and delivering scalable and reliable software products.
Main Activities & Responsibilities * Write and maintain high-quality, efficient code that meets project requirements and technical standards * Analyse technical requirements and adapt code to align with these needs, ensuring robustness and scalability * Implement and promote best coding practices across the project to ensure code quality and maintainability * Develop and oversee quality assurance procedures, including testing strategies and methodologies to ensure reliable software delivery * Analyse technical requirements and translate them into functional code and solutions * Identify areas for improvement and propose revisions to enhance existing projects * Collaborate with other developers, designers, QA testers, system analysts, and business analysts to ensure cohesive development efforts * Coordinate and communicate effectively with team members to ensure alignment and progress towards project goals * Document all aspects of the development process, including code changes, development workflows, and technical specifications for future reference and maintenance * Integrate various software components and ensure their interoperability * Conduct thorough testing of software to identify, troubleshoot, and fix issues, ensuring a high level of functionality and performance
Required Skills & Experience * * Proficiency in .NET framework and .NET Core (or .NET 8/9) * Deep knowledge of C# * Must be fluent in English (both written and spoken) * Experience with ASP.NET MVC, ASP.NET Web API, and ASP.NET Core for building web applications and services * Strong skills in SQL / No-SQL, including writing complex queries and performance tuning * Experience with Entity Framework or other ORM tools * Experience with software design patterns, architectural styles (e.g., microservices), and best practices for scalable and maintainable applications * Proficiency with version control systems, particularly Git, including branching, merging, and pull requests * Knowledge of unit testing frameworks (e.g., NUnit, xUnit) and test-driven development (TDD) * Experience with automated testing tools and CI/CD pipelines (e.g., Github Actions, Jenkins) * Experience with cloud platforms, particularly AWS * Skills in profiling, debugging, and optimizing .NET applications for performance and scalability