Key duties & responsibilities Directly contributes as a member of a scrum team to the test-driven development of software features and non-functional quality attributes, applying software engineering best practices and authoring integration tests. Provides thoughtful recommendations in sessions with scrum team members to structure solution source code and implementation approaches emphasizing the need to optimize code that follows engineering best practices, and maximizes maintainability, testability and performance.
Ensures SOLID principles and standard design patterns are applied to system architectures and implementations.Drive adoption of modern engineering practices such as Continuous Integration, Continuous Deployment, Code Reviews, TDD, FunctionalNon-Functional testing, Test Automation, Performance Engineering etc. to deliver high-quality, high-value softwareWorks with product management, business stakeholders and application architects to understand software requirements and helps estimate epics, features and stories.Scripts and maintains automated build steps, continuous integration systems and staging environments.Provides skillful communication and respectful listening conveying logical and structured thoughts, truthfulness, empathy, confidence and friendliness.Applies consistent levels of strategic thinking, judgment, decision making, attention to detail, teamwork, organization, innovation and initiative.Foster a culture and mindset of continuous learning to develop agility using the three pillars transparency, inspection and adaptation across levels and geographies.
Mentors other members of the development team.Evaluates, understands and recommends new technology, languages or development practices that have benefits for implementing.Experience, Skills and Knowledge 12+ years of experience designing and developing n-tier Web applicationsWell versed with C#, modern UI technologies and database, ORM technologies.
Must have solid understanding of modern architectural and design patterns.Advanced knowledge of general engineering concepts like design patterns, OO programming, and SOLID principles, HTTP, MVC, APIs, data structures, and algorithms.Advanced knowledge and experience with automated test tools and techniques including test-driven development, behavior-driven development, automated acceptance testing, Gherkin & Given/When/Then.Advanced knowledge and experience with Microsoft development technologies and tools: C#, Visual Studio or Visual Studio Code, .NET Framework/Core, and Entity Framework.Advanced knowledge and experience with REST and WebAPIs including but not limited to Web Sockets, JSON, RAML, Swagger, OData, or GraphQL.Good working understanding and experience with DevOps practices in source code management, continuous build and deployment tools including but not limited to git, Jira, Jenkins, Docker, Kubernetes, APM tools.Working understanding and experience with secure coding practices:
OWASP, XSS, CSRF, SSO/Authentication, static code analysis tools, ethical hacking.Working understanding of application architecture concepts like microservices, Domain-Driven Design, broker pattern/message bus, event-driven, CQRS, ports & adapters/hexagonal/onion, SOA.Deep expertise in one or more Clouds (Azure, AWS, Google Cloud)Strong exposure to Agile software development methodologies and enabling tools such as Jira, ConfluenceExcellent communicator with demonstrable ability of influencing decisionsKnowledge of healthcare revenue cycle management, HL7, EMR systems, HIPAA, FHIR would be preferred.Good working understanding of application architecture concepts like microservices, Domain-Driven Design, broker pattern/message bus, event-driven, CQRS, ports & adapters/hexagonal/onion, SOA would be preferredKey competency profileSpot new opportunities by anticipating change and planning accordinglyFind ways to better serve customers and patients.Be accountable for customer service of highest qualityCreate connections across teams by valuing differences and including othersOwn your development by implementing and sharing your learningsMotivate each other to perform at our highest levelHelp people improve by learning from successes and failuresWork the right way by acting with integrity and living our values every daySucceed by proactively identifying problems and solutions for yourself and others.
Keyskills: Software Engineering OData APIs Swagger RAML HTTP data structures Web Sockets JSON MVC