- Company Name
- Ritchie Bros.
- Job Title
- Senior Software Engineer
- Job Description
-
Job Title: Senior Software Engineer
Role Summary: Lead architect and developer responsible for designing, building, and maintaining high‑performance, scalable applications across the Microsoft .NET and Java/Spring ecosystems. Collaborate with product owners, architects, and cross‑functional teams to deliver robust solutions, mentor junior engineers, and ensure production stability.
Expectations: • 7–10+ years of professional application development experience.
• Deep expertise in both C#/.NET and Java/Spring stacks.
• Strong grasp of OOP, SOLID, design patterns (DI, DDD), async/concurrency, and modern development methodologies.
• Proven ability to mentor and elevate engineering teams.
• Excellent communication, organization, and continuous learning mindset.
Key Responsibilities: • Design, develop, and maintain scalable, high‑performance applications in C#, ASP.NET, ASP.NET MVC, Web API, Java, Spring Framework, Spring Boot, Spring Cloud, and related technologies.
• Collaborate with cross‑functional teams (product owners, architects, stakeholders) to shape architecture and technical decisions.
• Apply best practices in object‑oriented design, pattern implementation, and clean code.
• Support and troubleshoot production systems, ensuring timely resolution of incidents.
• Participate in Agile/Scrum ceremonies, contribute to continuous improvement, and drive quality practices (TDD, unit/integration testing, pair programming).
• Mentor junior and mid‑level engineers, fostering engineering excellence.
• Implement and maintain CI/CD pipelines, containerization (Docker, Kubernetes), and cloud deployments (Azure App Services, Azure Functions, AWS).
• Integrate real‑time communication (SignalR, WebSockets), RESTful APIs, and SOAP services.
• Maintain data layer across SQL Server, MySQL, Oracle, and PostgreSQL.
Required Skills: • Programming: C#, ASP.NET, ASP.NET MVC, Web API, Java, Spring Framework, Spring Boot, Spring Cloud, REST, SOAP.
• Front‑end: HTML5, JavaScript, jQuery, Knockout.js, AngularJS/TypeScript.
• Concurrency & Asynchronous Programming: async/await, parallel tasks, multi‑threading, delegates.
• Design & Architecture: OOP, SOLID, Dependency Injection, Domain‑Driven Design, design patterns.
• Databases: SQL Server, MySQL, Oracle, PostgreSQL.
• Testing: JUnit, Mockito, unit & integration testing, TDD.
• DevOps & Deployment: Git/Bitbucket, CI/CD pipelines, Docker, Kubernetes, Azure, AWS.
• Real‑time tech: SignalR, WebSockets.
• Agile/Scrum experience; pair programming.
Required Education & Certifications: Bachelor’s degree in Computer Science, Engineering, or a related field. No mandatory certifications required, but experience with cloud services (Azure/AWS), containerization, and modern CI/CD practices is essential.