Job Description
We are seeking a talented and motivated Senior Software Engineer (.net developer) to join our dynamic team. The ideal candidate will have a solid background in building scalable, high-quality, and high-performance applications using Microsoft technologies. You will work collaboratively with team members to design, develop, and maintain innovative software solutions with a focus on best practices and modern technologies.
Responsibilities:
- Design, develop, and maintain efficient, reusable, and reliable .NET Core applications.
- Implement and adhere to software development best practices, including clean architecture and design patterns.
- Optimize application performance, ensuring responsiveness and reliability.
- Write well-structured, maintainable, and testable code, including automated unit and integration tests.
- Troubleshoot, debug, and resolve software defects and performance issues.
- Participate in code reviews and provide constructive feedback to peers.
- Collaborate with DevOps teams to deploy and manage applications in various environments.
- Communicate effectively with team members and contribute ideas during all phases of the software development lifecycle.
- Stay up-to-date with the latest trends and advancements in software development and .NET technologies.
Requirements:
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- Proven hands-on experience with .NET Core and C#.
- Experience with Entity Framework Core and relational databases (e.g., SQL Server, PostgreSQL).
- Familiarity with MongoDB.
- Proficiency in object-oriented programming and design patterns.
- Strong understanding of software development best practices, including clean architecture.
- Ability to write clean, maintainable, and testable code.
- Strong problem-solving skills and attention to detail.
- Familiarity with Redis cache, including its data structures and implementation in .NET applications.
- Familiarity with front-end technologies including HTML, CSS, JavaScript, and React.js.
- Familiarity with version control systems, such as Git.
- Experience with Agile methodologies and working as part of an Agile team.
- Excellent communication and teamwork abilities.