The Engineer III, Software is an experienced professional who participates in leading, creating and extending Omnicell products. This person is a highly skilled developer who can apply industry and corporate best practices to produce quality applications. This person applies their practical and theoretical knowledge from Computer Science and previous experience in healthcare or a related industry. This person works as part of a team to design and develop new products as well as maintain Omnicell’s current portfolio.
Responsibilities
- Collaborate with product management to understand business requirements and plan products and features
- Work as part of a team to design, develop, test, deploy, maintain and improve software
- Assist in providing technical leadership for the architecture, design, and implementation of Omnicell software solutions
- Aid in code reviews for fellow team members, as required
- Create unit tests to help ensure code quality throughout the application’s life cycle
- Analyze and improve efficiency, scalability, and stability of various system resources once deployed
- Continue to improve code quality by tracking, reducing and avoiding technical debt
Required Knowledge And Skills
- 6+ years of experience building C# / .NET Web APIs using ASP.NET Core, with a strong understanding of middleware, dependency injection, and API lifecycle.
- Solid experience developing and maintaining microservices-based systems in distributed environments (containerized deployments preferred).
- Good understanding of RESTful API design – versioning, error handling, authentication/authorization, and backward compatibility.
- Hands-on experience with event-driven architectures, working with messaging systems such as Kafka or RabbitMQ (producers/consumers, retries, basic failure handling).
- Experience working with relational databases (PostgreSQL / SQL Server) including query optimization and efficient data access patterns.
- Familiarity with design patterns and clean coding practices (SOLID principles, separation of concerns, etc.).
- Comfortable contributing across the development lifecycle: design, implementation, testing and deployment.
- Experience collaborating with and supporting junior engineers through code reviews and knowledge sharing.
- Working knowledge of Agile methodologies, with experience in iterative development cycles (e.g., 2-week sprints).
- Strong focus on delivering reliable, customer-centric solutions.
Basic Requirements
- BE/BTech with 6+ years of relevant experience.
- At least 4+ years of experience building distributed applications using object-oriented design principles.
- At least 4+ years of experience developing web-based applications.
Preferred Knowledge And Skills
- Exposure to Kubernetes and container orchestration.
- Experience with observability practices (logging, metrics, tracing).
- Familiarity with CI/CD pipelines.
- Familiarity with Test automation frameworks.
- Experience with frontend JavaScript frameworks such as Angular, React, etc..
Work Conditions
- Office Environment.
- Ability to travel 10% of the time.