06 nov
|
Programming.Com
|
México
06 nov
Programming.Com
México
Position: Senior Software Engineer – C# / .NET / Distributed Systems
Employment Type: Full-Time/Contract
Experience: 7+ Years location:Remote
Job Overview seeking an experienced Senior Software Engineer to join its IT engineering team. This is a hands-on technical leadership role focused on designing, developing, maintaining, and enhancing business-critical applications, backend services, APIs, and distributed systems.
The idóneo candidate will have strong expertise in C#, .NET, full-stack development, microservices, and distributed messaging architectures, with experience building scalable, reliable, and production-grade applications.
The engineer will work across frontend and backend technologies, asynchronous workflows, system integrations, databases, and cloud environments. The role also requires strong problem-solving skills, technical ownership, mentoring capabilities, and the ability to take responsibility for production systems.
Key Responsibilities
- Design, develop, and maintain full-stack applications using C#, .NET, ASP.NET Core, Blazor, and .NET MAUI.
- Build scalable backend services, REST APIs, microservices, and system integrations.
- Develop message-driven and event-driven architectures using NServiceBus, service buses, queues, and asynchronous processing.
- Implement distributed system patterns, including sagas, durable workflows, retries, idempotency, deduplication, and error handling.
- Design and maintain database schemas, data models, service contracts, and message contracts.
- Optimize database performance through query tuning, indexing, transactions, and caching.
- Build background services, integration components, and asynchronous data workflows.
- Work with Azure cloud environments, CI/CD pipelines, and modern software delivery practices.
- Troubleshoot production issues, perform root cause analysis, and improve system reliability and performance.
- Develop unit, integration, and automated regression tests.
- Participate in architecture discussions, code reviews, agile ceremonies, and technical planning.
- Mentor junior engineers and provide technical guidance to the development team.
- Take ownership of assigned applications and services, including monitoring, maintenance, and production support.
- Explore and responsibly implement AI-assisted development tools to improve engineering productivity and software quality.
Required Qualifications
- Bachelor's degree in Computer Science, Engineering, Mathematics, or a related technical field, or equivalent professional experience.
- 7+ years of professional software development experience.
- Strong hands-on development experience with C# and .NET.
- Proven experience developing and supporting production-grade full-stack applications.
- Strong knowledge of distributed systems, service-oriented architecture, and asynchronous workflows.
- Experience building APIs, microservices, background services, and system integrations.
- Strong understanding of relational databases, SQL optimization, indexing, and transactions.
- Experience working with Azure, cloud environments, CI/CD pipelines, and source control.
- Experience with modern frontend development and component-based UI frameworks.
- Strong debugging, troubleshooting, and production support capabilities.
- Excellent communication, collaboration, and technical problem-solving skills.
Preferred Qualifications
- Production experience with NServiceBus, including:
- Sagas and durable workflows.
- Message handlers and asynchronous processing.
- Retries and error queues.
- Message recovery and failure handling.
- Experience with Blazor and .NET MAUI.
- Experience deploying mobile applications to Apple App Store and Google Play.
- Experience with authentication, authorization, dependency injection, and reusable UI components.
- Familiarity with AI-assisted software development tools.
- Previous experience providing technical leadership and mentoring engineers.
📌 Senior Software Engineer – C# / .NET (México)
🏢 Programming.Com
📍 México