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 None #J-18808-Ljbffr
dapr Teamwork HTML Agile refactoring Software Architecture Systems Analyst Mentoring scripting Docker Product development Development methodologies React Architectural design microservices C# Software Developer Verbal communication Quality Assurance (QA) docker-containers design-patterns design-principles testing JavaScript clean code principles Root Cause Analysis (RCA) Collaboration Process improvement developer-tools Written communication skills Kubernetes .NET RDBMS deployment dynamic-content Angular NoSQL Leadership prototyping Software Engineer