Senior Software Engineer - .NET
We are looking for a Senior Software Engineer - .NET to design, develop, and maintain scalable applications while collaborating with cross-functional teams to deliver high-quality software solutions.
Responsibilities
- Design, develop, and maintain applications using C#, .NET Framework 4.x, and .NET Core
- Develop backend services, REST APIs, and application components following coding standards and best practices
- Build and maintain full stack applications, including frontend and backend components
- Develop and optimize database solutions using Microsoft SQL Server, MongoDB, and other relational or non-relational databases
- Apply object-oriented programming principles, design patterns, and architectural best practices to build maintainable and scalable applications
- Deploy and troubleshoot .NET Core applications in Linux-based environments
- Support application deployment and integration with AWS services
- Write unit and integration tests, troubleshoot issues, and improve application performance and reliability
- Collaborate with architects, QA engineers, and other developers to deliver quality software solutions
Requirements
- 5+ years of programming experience in C# and .NET Framework 4.x
- Hands-on experience with .NET Core and application development in Linux-based environments
- Experience with REST APIs and backend application development
- Knowledge of Microsoft SQL Server, MongoDB, and database design concepts
- Strong understanding of Object-Oriented Programming (OOP), design patterns, and software architecture
- Familiarity with AWS cloud services and application deployment
- Strong analytical and problem-solving skills
- Ability to write clean, reusable, and maintainable code
- Good understanding of application performance, scalability, and security
- Effective communication and collaboration skills
Nice to have
- Experience with microservices architecture and cloud-native application development
- Knowledge of automated testing, CI/CD pipelines, and source control tools such as Git
- Exposure to Docker and Kubernetes
- Experience working in Agile/Scrum development environments
Benefits
Opportunity to work on technical challenges that may impact across geographies
Vast opportunities for self-development: online university, knowledge sharing opportunities globally, learning opportunities through external certifications
Opportunity to share your ideas on international platforms
Sponsored Tech Talks & Hackathons
Unlimited access to LinkedIn learning solutions
Possibility to relocate to any EPAM office for short and long-term projects
Focused individual development
Benefit package:
- Health benefits
- Retirement benefits
- Paid time off
- Flexible benefits
Forums to explore beyond work passion (CSR, photography, painting, sports, etc.)