Principal Software Developer
Software Developer : Researches, designs, develops and/or modifies enterprise-wide systems and/or applications software. The candidate will be responsible for development of applications and web interfaces to create products at customer request for use in analysis of large quantities of data. Candidates should display the ability to interact frequently with customers and other development team members to identify customer requirements at the beginning of requirement period and throughout the development process. The successful candidate will demonstrate the ability to adhere to timelines in an Agile methodology environment for producing reviewable packages of work. He or she will show an ability to recognize the wider range of customer needs and help to incorporate those into the end product. 1. Designs, develops, codes, tests, and debugs complex new software products, or makes significant enhancements to existing software. 2. Researches and integrates design strategies, product specifications, development schedules, and user expectations into product capabilities. 3. Resolves complex hardware/software compatibility and interface design considerations. 4. Conducts investigations and tests of considerable complexity. 5. Researches emerging technologies to determine impact on application execution. 6. Provides input to staff involved in writing and updating technical documentation such as user manuals, system documentation, and training materials. 7. Troubleshoots complex problems and provides customer support for software operating systems and application issues. 8. Advises hardware engineers on machine characteristics that affect software systems, such as storage capacity, processing speed, and input/output requirements. 9. Prepares reports on analyses, findings, and project progress. 10. Provides guidance and work leadership to less-experienced software engineers. 11. May serve as a technical team or task leader. 12. Maintains current knowledge of relevant technology as assigned. 13. Participates in special projects as required. Education Bachelors Degree in Computer Science, Engineering or a related technical discipline, or the equivalent combination of education, technical training, or work/military experience. Qualifications 8-10 years of related software development experience. Required:
- Self-reliant, independent thinker who can also work in a team setting.
- Java and Python experience
- Ability and willingness to communicate frequently with customers to ensure their full satisfaction with the direction of the project.
- Full-stack web development (front to back end) knowledge and experience.
- Experience with knowledge management systems.
- Facility with a wide range of development tools and ability to apply various ones as necessary