Job Description :
Role: Architect / Senior JAVA Software Developer

Location:  Milwaukee, WI

Type of Position:  Full Time Position OR CTH

Duration: Long term

Rate: Market/Competitve

Degree Required:  Undergraduate Degree



Job Description
Experience Required:  7+ years of software development experience

Join a rapidly growing company that provides opportunities to grow and excel.  Client is a fast paced provider of healthcare optimization solutions for insurance brokers and employers.  The company provides SaaS-based products and services across the country.  Client is seeking a passionate Senior Software Developer / Architect to design, implement, and support a JAVA-based web application that analyze and optimizes healthcare options.



Architect / Senior Software Developer Role Overview

The Senior Software Developer position is a challenging and key role.  This role will interact directly with the Product Owner and Users to understand the solution requirements.  Based on these requirements, the Senior Software Developer will estimate, plan, and implement the required JAVA application changes. Development will involve individual programming as well as working within a team.  The solutions must adhere to highly available architectures and automated software testing techniques.



The Architect / Senior Software Developer must subscribe to a highly disciplined Agile-based and test-driven development methodology, be attentive to detail, and focused on delivery of highly reliable and available applications. Technologies involved include (but are not limited to) AngularJS, JavaScript, Java, vert.x, Websocket, PostgreSQL, Bootstrap, JBehave, Gradle, TeamCity, Web Services, AJAX,  JQuery, JUnit, Tomcat, Linux, and Amazon AWS. Diverse interest in technologies will help qualify and differentiate candidates.



Responsibilities

-Independently meet with product management personnel to review, elaborate, and document system requirements (including user interface, functional, and non-functional requirements)

-Independently meet with end customers to understand problems that need to
be resolved

-Design effective and efficient technical solutions

-Create high quality software

-Low defect rates in code produced

-Meet target delivery dates (where incumbent has been involved in setting the target dates)

-Practice and advance Agile development techniques

-Practice and advance test-driven development techniques

-Create application and code-level documentation, sharing this and other technical knowledge with the team

-Report, monitor, and resolve software defects

-Develop and implement software that supports interoperability

-Participate in peer code reviews

-Implement and maintain automated unit tests

-Continue to advance the DevOps, Continuous Delivery, and TDD capabilities for the platform



Qualifications

-5+ years experience with one or more object oriented programming languages

-Bachelor’s degree in Computer Science, Engineering, or related discipline

-Excellent, proven oral and written communication skills

-Demonstrated analytical skills and methodical problem solving skills

-Current on technologies.  Demonstrated ability to rapidly absorb and implement new technologies and procedures. 

-High degree of attention to detail, personal initiative, and commitment to quality

-Moderate database design and implementation expertise

Skills



-Use an Integrated Development Environment

-Web development technologies (HTML, JavaScript, CSS, other technologies as described in this Job Description)

-Relational database design and implementation, including DDL and SQL

-Write unit tests

-Use a project build tool for building, packaging, and deploying

-Document algorithms and code patterns

-Self directed for assigned projects

-Knowledge

-Bachelor’s degree in Computer Science, Engineering, or related discipline

-General understanding of the business domain

-Experience and desire to advance DevOps, Continuous Delivery, and Test Driven Development practices

-Object oriented principles of abstraction, inheritance, polymorphism

-Continues to study languages, platform, IDE capabilities

-Adopts new technologies as required for various projects through study and practice

Abilities

-Communicate with Product Owners and users

-Design solutions for simplicity and consistency

-Demonstrate analytical and methodical problem solving

-Provide accurate estimates for assigned projects

-Apply solid understanding of business value to assigned projects

-Predictably meets target dates

-Take personal ownership for the quality of assigned projects