Senior Software Engineer
Posted Updated
Description
Responsibilities:
- Develop and maintain scalable. NET microservices for diverse client projects.
- Implement robust Web APIs with proper error handling, validation, and security.
- Write comprehensive unit and integration tests ensuring high code quality.
- Design portable, efficient solutions deployable across different client environments.
- Collaborate with cross-functional teams and client stakeholders.
- Optimize application performance and implement caching strategies.
- Implement security best practices for enterprise applications.
- Participate in code reviews and maintain coding standards.
- Support deployment and troubleshooting in client environments.
Requirements:
- Bachelor's degree in computer science, engineering, or a related technical field.
- 4-6 years of professional. NET development experience.
- Strong understanding of object-oriented programming and. NET fundamentals.
- Excellent written and verbal communication skills.
- Ability to work independently and manage multiple client priorities.
- Adaptability to work across different domains and client requirements.
- Client-facing experience or willingness to interact with client teams.
Core Technical Expertise:
- . NET Framework/Core: 4+ years of production experience with. NET Core 3.1+, . NET 5+, and C# 8+.
- Frameworks: Strong hands-on experience with ASP. NET Core Web API and Entity Framework Core.
- REST API Development: Proven experience designing and implementing RESTful web services and middleware.
- Design Patterns: Solid understanding and implementation of SOLID principles, dependency injection, and the repository pattern.
- Testing: Experience with unit testing (xUnit, NUnit, MSTest), mocking frameworks (Moq), and integration testing.
Microservices and Deployment:
- Containerization: Hands-on Docker experience for packaging and deploying. NET applications.
- Microservices Architecture: Understanding of service decomposition, inter-service communication, and distributed systems.
- Abstraction and Portability: Configuration management (appsettings.json, IConfiguration), environment-agnostic design.
- Package Management: NuGet package management, understanding of project dependencies.
Advanced Technical:
- Advanced Frameworks: . NET 6/7/8, Minimal APIs, gRPC, SignalR for real-time communication.
- ORM and Database: Advanced Entity Framework Core, Dapper, and database migrations.
- Orchestration: Kubernetes, Docker.
- Cloud Platforms: Azure (App Service, Functions, Service Bus), Alibaba, or GCP services.
- Message Brokers: Azure Service Bus, RabbitMQ, Apache Kafka.
- Databases: Both SQL (PostgreSQL, MySQL) and NoSQL (MongoDB, Cassandra).
- API Gateway: Azure API Management, Kong API Gateway.
Development and Operations:
- CI/CD pipelines (Azure DevOps, Jenkins, GitHub Actions).
- Monitoring and Observability (Application Insights, Serilog, Prometheus).
- Security best practices (HTTPS, CORS, input validation, secure coding).
- Background Services (Hosted Services, Hangfire, Quartz. NET).
Client-Facing Experience:
- Experience working in service-based organizations.
- Adaptability to different domain requirements.
- Understanding of various industry standards and compliance requirements.
Skills
- API
- API Gateway
- Azure
- Azure Application Insights
- Azure DevOps
- Azure Service Bus
- Cassandra
- CI/CD
- Cloud
- Containerization
- C#
- Design Patterns
- DevOps
- Distributed Systems
- Docker
- .NET
- GCP
- GitHub
- GitHub Actions
- gRPC
- Integration Testing
- Jenkins
- JSON
- Kafka
- Kubernetes
- Microservices
- MongoDB
- MySQL
- NoSQL
- NUnit
- Observability
- OOP
- PostgreSQL
- Prometheus
- RabbitMQ
- REST
- Secure Coding
- SQL
- Unit Testing
- xUnit