We are seeking an experienced Senior Software Engineer to help develop and maintain business-critical software applications. This individual will contribute to full-stack development, technical architecture, and the delivery of reliable, scalable solutions. The ideal candidate combines strong .NET development skills with modern front-end experience and can take ownership of projects while collaborating with technical and nontechnical stakeholders.
Required Qualifications
- 5+ years of professional software engineering experience building and supporting complex applications
- At least 2 years of hands-on experience with React or Angular and ASP.NET Core using C#
- Strong proficiency in C# and experience working across the .NET ecosystem, including .NET Framework and .NET Core
- Solid understanding of object-oriented programming, software design principles, and application architecture
- Experience working with relational databases, SQL queries, and database optimization
- Background in developing web applications, integrating APIs, and implementing real-time or asynchronous communication
- Familiarity with message brokers and event-driven application patterns, such as RabbitMQ
- Experience using Git and collaborative source control practices
- Bachelor’s degree in Computer Science, Software Engineering, or a related discipline preferred; equivalent practical experience will also be considered
Key Responsibilities
- Develop and enhance full-stack applications with a focus on reliability, scalability, and maintainability
- Evaluate technical approaches and contribute to application architecture and system design
- Manage development initiatives throughout the full lifecycle, from requirements gathering and effort estimation to deployment and ongoing support
- Provide technical guidance, code reviews, and mentorship to other engineers
- Produce well-structured, tested code while identifying opportunities to improve application performance and code quality
- Partner with product and business stakeholders to translate functional needs into effective technical solutions
- Assist with software releases, investigate production defects, and implement lasting solutions to technical issues
- Identify opportunities to improve development standards, engineering processes, and the overall software delivery lifecycle