Principal Engineer, Software
Researches, designs, develops and/or modifies enterprise-wide systems and/or applications software. 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 Specific Python/Django Development Specialist Requirements/Qualifications The candidate shall possess subject matter expertise that includes but is not necessarily limited to technical services as follows:
- 8 to 10 years’ software development experience in web based applications
- Significant experience with Python. (minimum of 3 years’ experience)
- Significant experience with the Django framework. (minimum of 1 to 2 years of consistent experience)
- Significant experience with Test Driven Development and Continuous Integration. (minimum of 1 to two years of consistent experience)
- Experience with Vagrant, Nginx, Gunicorn and Ubuntu Linux.
- Experience with deploying to and securing apps on Heroku.
- Experience testing across multiple web browsers and platforms. (minimum of 5 years’ experience)
- Be able to work with clients, peers and management in a highly visible, mission-critical environment both orally and in writing.
- Experience working in an Agile (e.g., scrum, kanban) environment. (minimum of 3 years’ experience)
- Make and document recommendations of best practices, resources and any alternative tools or technologies to those outlined above.
- Previous ColdFusion experience (for some legacy applications) is helpful, but not required.