
Senior Software Engineer
Straive
Job description
About the Role:
We’re expanding our team with a skilled Senior Software Engineer to build scalable, high-performing microservices and APIs as part of a cloud-native Azure solution. In this role, you’ll work across the full development lifecycle - collaborating with cross-functional teams to deliver clean, reliable .NET applications that integrate seamlessly with modern data systems and frontend experiences.
What You'll Do:
-
Design, develop, test, and deploy high-quality, scalable, and maintainable microservices and components for the Azure-based solution using .NET.
-
Write clean, efficient, and well-documented code, adhering to established coding standards and best practices.
-
Partner with frontend developers to design and deliver APIs that effectively meet the needs of user interfaces and ensure a seamless user experience.
-
Engage with technical leads, architects, DevOps engineers, and other team members on technical designs, code reviews, and integration efforts.
-
Work with data engineers to understand relevant data pipelines and discuss data integration points, ensuring your applications effectively utilize and interact with data systems.
-
Contribute to the design and implementation of data models and ensure data integrity within an SQL database environment.
-
Participate actively in the full software development lifecycle, including requirements analysis, design, implementation, testing, and deployment via CI/CD pipelines.
-
Develop and maintain unit tests and integration tests to ensure software quality and reliability.
-
Troubleshoot, debug, and resolve complex software defects and production issues in a timely manner.
-
Contribute to the team's adoption of best practices in areas like API design, secure coding, logging, monitoring, and application performance.
Key Qualifications:
-
Solid experience (e.g., 5+ years) in professional software engineering, with a focus on back-end or full-stack development.
-
Strong proficiency in .NET development (e.g., C#, ASP.NET Core) and familiarity with the .NET ecosystem, with a track record of effectively writing testable, secure, and well-organized code.
-
Solid understanding of software design principles, object-oriented patterns, and architectural best practices for building scalable, maintainable, and resilient systems.
-
Proven experience with a cloud platform (preferably Azure), including services relevant to application development, deployment, and monitoring.
-
Hands-on experience with containerization technologies (e.g., Docker), ideally with Kubernetes.
-
Experience with or understanding of microservices architectures and related patterns, like asynchronous messaging technologies.
-
Strong understanding of fundamental web development concepts (HTML, CSS, JavaScript) and experience working with, or designing APIs for, modern frontend applications (e.g., Angular, React).
-
Solid understanding of and experience applying best practices in software testing, logging, monitoring, and CI/CD processes.
-
Proficiency in SQL and core relational database (RDBMS) concepts, including database design for application needs.
-
Excellent communication skills, with the ability to articulate technical concepts clearly and participate effectively in design discussions and code reviews.
-
Proven ability to collaborate effectively with diverse technical teams, including Data Engineers, DevOps Engineers, Architects, and Technical Leads.
-
Strong analytical and problem-solving skills, with a proactive attitude towards learning and continuous improvement.