Responsibilities include designing and implementing software solutions to create our next generation monitoring platform, which enables connectivity between all our patient monitoring devices and microservices. More importantly, you will have an opportunity to deliver technical solutions that directly impact and improve the ability of healthcare professionals to care for their patients.This is a hybrid role requiring 2-3 days onsite in Milwaukee, WI each week.Legal authorization to work in the U.S. is required. We will not sponsor individuals for employment visas, now or in the future, for this job opening.
Roles and Responsibilities- Identify the scope of the work, provide initial estimate, and justify the estimate with facts.
- Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
- Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
- Execute in a fast-paced delivery mode and focus in delivering tasks to meet the product release goal
- Maintain code quality through best practices, unit testing and code quality automation
- Seek and provide feedback on design and development.
- Demonstrate the ability to make informed technology choices after due diligence and impact assessment.
- Understand whole product, its modules, and the interrelationship between them while being an expert in the assigned component or module.
- Help in designing interfaces and information exchange between modules.
- Articulate the need for scalability and understand the importance of improving quality through testing.
- Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
- Drive design reviews, define interfaces between code modules, and applies existing technology to designs
- Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
- Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice.
- Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
- Provide guidance to a team of 4 to 6 developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM
- Write code that meets standards and delivers desired functionality using the technology selected for the project.
Qualifications:- Bachelor’s degree in electrical engineering, Computer Engineering, Computer Science, or related computer degree
- 6+ years of professional experience in Software Engineering.
- Strong knowledge of Object-Oriented Analysis and Design, Software Design Patterns
- Strong Java and/or C++ software design, implementation and testing skills.
- Experience with building scalable, distributed systems using a modern cloud framework such as AWS.
- Motivated to learn and stay to update with emerging and relevant technologies.
- Excellent written and verbal communication skills for presenting, discussing, and documenting technical information.
- Ability to voice opinions, present clear rationale and uses data or factual evidence to influence decisions.
- Effective problem-solving capabilities, ability to break down problems and drive closure to resolutions.
- Ability to work effectively within and across various teams.
- Experience in Agile development practices: Test Driven Development (TDD), Behavior Driven Development (BDD).
Desired Characteristics:- Experience or studies related to distributed systems, peer-to-peer networks or computer networking, networking sniffing.
- Experience with Data Distribution Services (DDS)
- Experience with service-oriented architectures and microservices
- Experience with RESTful services
- Experience with multi-threaded, concurrent systems
- Experience with Kubernetes
- Experience with Docker containers
- Experience with all deployment models on public cloud, and on-premises infrastructure.
- Experience with Gradle/CMake/Conan for build automation
- Experience with Ansible for software provisioning, configuration, and application deployment
- Experience with developing in a Linux-based environment.
- Experience with Git for software configuration management
Leadership:- Demonstrates clarity of thinking to work through limited information and vague problem definitions
- Influences through others; builds direct and "behind the scenes" support for ideas
- Proactively identifies and removes project obstacles or barriers on behalf of the team
- Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
Personal Attributes:- Able to work under minimal supervision.
- Excellent communication skills and the ability to interface with senior leadership with confidence and clarity
- Able to work well with global teams, including time-zone flexibility
- Skilled in providing oversight and mentoring team members.
- Shows ability to effectively delegate work.