Senior Java Software Developer

Company

  • Innovative robotics and automation software company.
  • Proprietors of a general purpose software platform that we license and use to build robotics and automation applications for customers.
  • Particular expertise in automated/autonomous vehicles and transportation related automation applications.
  • Building a highly motivated professional engineering organization to deliver ground-breaking solutions and have a significant impact on the robotics industry.

Job Description

  • Skilled and experienced Java software developer.
  • Knowledge of Java in general and Java Swing.
  • Knowledge of server-side Java software development.
  • Skilled and experienced object-oriented software professional.

Specific Skills: 

Java Programming

  • Extensive knowledge, skill, and experience with programming in Java.
  • Knowledge of Java SE libraries.
  • Object-oriented Java programming skill.
  • Skill in reuse of, extension of, and refactoring of software.
  • Documentation and JavaDoc of code.
  • Debugging and performance profiling skills.
  • Multi-threaded programming.

Java Swing Design and Programming

  • Skill and experience with creating nice looking Java Swing designs.
  • Experience with rapid creation of mock screens for receiving customer feedback and evolving the GUI design.
  • Experience with linking GUI front ends with back end server processing software, including writing of server side Java handling code.
  • GUIs are used to configure, operate, and monitor mobile robots and supporting processes.

Object-Oriented Design and Programming

  • Know-how in extracting and deriving top-level and detailed tasks and designs from various forms of written and verbal communications.
  • Skill in creating object-oriented software designs with consideration for Java implementation.
  • Knowledge and use of design patterns as well as hierarchical and layered software design.
  • Ability and interest in working with, using, and helping extend an underlying reusable software framework and extensions.
  • Translation of designs into Java software constructs.
  • Knowledge and skill in use of UML class and scenario/object diagramming and tools.

Development Tools

  • Skill and experience with Java IDE tools, namely Eclipse.
  • Skill and experience with version control tools, namely SVN.
  • Skill and experience with Maven and Ant are ideal.
  • Remote debugging and performance profiling (e.g. JProfiler) ideal.
  • Unit and system test tools ideal.

Specific Development Task Examples

  • Development of GUIs for configuration of robot operations.
  • Development of GUIs for monitoring robot GPS positions on a map.
  • Development of GUIs for controlling robot behaviors and properties.
  • Development of reusable GUIs components and a framework for robot and automation application configuration, monitoring, and control.
  • Development of GUIs for analyzing robot generated performance data (graphs, charts, etc.).
  • Deploying and testing software on various target platforms (Linux, Windows, Mac).
  • Development of Java-based data collection and retrieval software.
  • Development of server-side, Web-based Java software.
  • Development of server to remote mobile client socket-based communications.
  • Development of file management software.

 

Organizational Skills

  • Documenting GUI and software developer and user guide information.
  • Methodical and structured GUI and software design and implementation.
  • Documenting software development and use information.
  • Organized development approach.
  • Methodical and structured software design and implementation.