Software Engineer III


Senior Java or C++ software engineers
8+ Months

Looking for senior Java or C++ software engineers experienced in SOA and/or Data Distribution Services. Candidates need to 
have strong design as well as implementation skills in these or equivalent areas. Need to support the entire software 
development lifecycle from requires, design, implementation and testing. Testing will involve implementing automated testing at 
both the software unit as well as system level using technologies such as BDD, xUnit and custom tools. 

Location: 8200 West Tower Avenue, Milwaukee, WI 
Must work onsite: Yes 
Responsibilities and/or Tasks to be Performed 

Individual will work within an existing software engineering team. The team follows an Agile Scrum process for planning and 
executing tasks on a 3-week Sprint cadence. Work within a Sprint falls into one or more of the following areas: 
Creating and documenting software designs 
Holding design and code reviews 
Implementation of new software functionality 
Implementation of fixes for software bugs 
Implementation of automated unit tests (e.g. JUnit) 
Implementation of automated BDD tests 
Implementation of performance and reliability tests 
Documenting and executing manual test procedures 

Required Skills 
Strong Java or C++ design and implementation skills for backend services 
Experienced with service-oriented architectures and microservices 
Experienced with Docker and Docker containers 
Able to develop in a Linux-based environment 
Able to develop using Git for software configuration management 
Able to implement automated tests using BDD and xUnit frameworks 
Desired Skills 
Experience with the Data Distribution Services (DDS) standard or similar 
Experience debugging memory leaks within C++ or Java applications 

Additional Context 

These contractor positions will be joining an existing software development team. The software development team is one of 
many teams working on the AMS program developing a new patient monitoring system. The new patient monitoring system 
consists of three basic subsystems: 
1. Hub - A mobile device that acquires and displays physiological data for a single patient. 
2. Viewer - A web-based viewer application that allows clinicians to view multiple patients by displaying the data provided 
by each Hub associated with each patient. 
3. Platform - A collection of microservices that provide the backend functionality that support the Viewer and Hub 
The work for this team falls into general areas: 
Core Microservices & Communication Library 
This team works solely on the Platform subsystem and is responsible for delivering the follow core Software Units: 
Core Communication Library - This library is based on the Data Distribution Service (DDS) standard. Communication 
between microservices, Hubs and Viewers leverage the DDS publish and subscribe framework to exchange real-time 
data encoded in a proprietary format. 
Patient Management Microservices - A collection of microservices that provide the ability to associate a Hub to a patient 
allowing other services like the Viewer to determine what Hubs and patients are currently being monitored within the 
overall System. 
Configuration Microservice - A microservice that is responsible for providing the default configurations for the System. 
For example, the Hub will consult this microservice to determine how it should configure itself within the System as well 
as default patient monitoring configuration settings. 
Much of the implementation of these Software Units are in place, however the AMS Program is still in the early phases of 
overall system integration. Therefore, much of the work involves creating automated white and black box tests using BDD and 
xUnit frameworks. Additionally, the team is involved with investigating, root causing and fixing issues that are discovered as 
part of system integration testing. These issues could be related to functional failures, performance bottlenecks or resource 

Swapnil Sawant

APN Software Services, Inc (

39899 Balentine Drive, Suite 385, Newark, CA 94560

Phone: 510-402-1080 / Fax 510-623-5055 

Email Id:


Want to apply later?

Type your email address below to receive a reminder

ErrorRequired field

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field