Join Clinisys as a Senior Software Engineer in Bengaluru, Karnataka, India. Be part of an Agile team crafting user-centric features for scientific and healthcare products. Must have strong communication skills, mentoring ability, and expertise in .NET, C#, JavaScript, RDBMS, and Agile methodologies.
Job description
As a Senior Software Engineer and a member of a dynamic and multi-functional Agile development team, you will be responsible for crafting, developing, and unit testing product features with an eye towards user-centric workflow accuracy within our scientific and healthcare suite of products. To be successful in this role you need a real passion for quality software, a dedication to customer happiness, and an ability to work effectively in a matrix organization. You will need a positive attitude, persistence, a love of problem solving, and the ability to communicate with people at all levels of a product development organization.
Essential Functions
- Develops software solutions across multiple subsystems within our applications, including collaboration with requirements definition, prototyping, architectural design, coding, testing and deployment
- Understands how our applications operate, are structured, and how customers use them
- Provides engineering support when building, deploying, configuring and supporting systems for customers
- Performs complex product design, systems analysis and engineering activities on applications software
- Researches new technology and development tools to remain informed of current trends
- Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, code comments and clearly readable code
- Analyzes defects, performs root cause analysis, and collaborates to resolve
- Complies with established internal quality systems and considers standards, best practices, and regulatory requirements as part of coding activities
- Leads code and design reviews. Analyzes and makes recommendations regarding coding standards, technology improvements, development tools, best practices, and process improvement.
- Participates with the engineering and operations teams to analyze and make recommendations for standardizing, scaling and enhancing our products and the services utilized to deploy/install/release those products
- Mentors team members in best practices and provides technical leadership and product guidance
- All other duties and responsibilities as assigned
Skills needed to be successful
- Clear, effective verbal and written communication skills
- Good collaboration and teamwork skills
- Ability to mentor others
- Ability to present complex ideas in a consumable manner to technical and non-technical stakeholders
- Expert knowledge of scripting and object-oriented software development principles
- Expert knowledge of relational and/or non-relational databases
- Solid development skills and overall understanding of software development methodologies
- Understanding of refactoring or re-engineering solutions
- Thorough knowledge of design principles and patterns
- Solid understanding of Agile software development methodologies
Required Experience & Education
- Bachelor’s degree in software engineering, computer science, or related discipline or equivalent experience
- 5-7 years’ experience with software development life cycle, software testing methodologies, and quality assurance
- Expert knowledge of .NET, C#, JavaScript, RDBMS (Oracle (preferred), SQL Server), OOPS concepts as well as multi-tiered application design and development, and HTML/DHTML
- Experience in front end web technologies like React, Angular
- Experience in API programming, Scripting, and Service Oriented Architecture
- Experience with Microservices architecture
- Application modernization experience with containers (Docker), Kubernetes or DAPR
- Experience in working on enterprise web-based software systems utilizing N-tier architectures, dynamic content, highly scalable approaches, and security models/implementations.
Preferred Experience & Education
- Knowledge of scientific data software, medical devices, or healthcare software
- Master’s degree in software engineering, computer science, or related discipline
- Team/technical lead of a small team
Supervisory Responsibilities