Senior Java Software Developer
- 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.
- 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.
- 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.
- 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.
- 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.