Position Title: Software Engineer – Java/Backend

Reports To: Software Engineer Manager

Position Description:

Summary

The Software Engineer will be responsible for the analysis, design, coding, testing, and maintenance of production software applications in a team environment. The Software Engineer will work independently but be directed by an existing team member and focused primarily on the creation of services and background processing for the current and future products as well as deployment. Development of UI and reports may be involved as well but is secondary.

Essential Duties, Responsibilities and Personal Characteristics

To perform this job successfully, an individual must be self-motivated and demonstrate the ability to work with individuals from various functional groups. The individual’s responsibilities span all aspects of software development: design, implementation, and test. Many times the individual will be working on several projects simultaneously requiring good organization skills and multi-tasking abilities. A secondary objective is to assist company field personnel and customers with the installation of various software modules. In executing these duties it is paramount that the individual properly document and communicate the technical content of the design.

Skills

  • Minimum of 4 years practical software engineering and design work experience on Web applications
  • Excellent work history
  • Knowledge and experience using Linux and Microsoft Windows Operating Systems
  • Knowledge and experience using Java and PL/pgSQL
  • Knowledge/experience in technologies: Java, JSON, REST, HTTP, SOA, MVC, OOP
  • Experience with JavaScript, HTML/HTML5, and CSS a plus
  • Working knowledge of the following development tools and environments is a strong plus: Maven, Subversion, NetBeans IDE, and Glassfish
  • Experience productizing software for deployment to the field is a strong plus
  • Experience designing and developing databases in PostgreSQL using stored procedures, triggers and queries
  • Working knowledge of current cyber security issues and techniques a plus
  • Experience with automated installers and automated testing are a plus
  • Experience in all phases of the software development lifecycle: requirements, design, development,
    testing, deployment, documentation, and support
  • Excellent communication skills and record keeping of projects
  • Strengths in documentation, design, and support preferred

Abilities

  • Ability to create Web based applications and database object methods
  • Ability to create Web Services utilizing Java technologies
  • Ability to create and manage PostgreSQL database structures and stored procedures
  • Ability to work in a team environment and communicate effectively
  • Ability to meet deadlines and manage multiple priorities
  • Ability to work independently with minimal supervision
  • Ability to plan effectively to meet company priorities and schedules

Education

  • BS Computer Science/Software Engineering degree or equivalent industry experience required.