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. 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 of 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. - Knowledge and skill in use of Document Object Model (DOM) and Scaled Vector Graphics (SVG) objects. - Knowledge and skill in use of Java Swing, JFreeChart, and Apache Batik library APIs. 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. To apply: This email address is being protected from spambots. You need JavaScript enabled to view it.