Junior Level Software Engineer (Django, Linux)
Position Description:
Work as a software developer on a team that is focused on open source software development supporting an enterprise platform. Specific duties include:
- Experience with Web App framework (Django, Rails, Express)
- Understanding of REST interfaces and Web.
- Experience troubleshooting production Linux systems.
- Experience scripting with Ruby and/or Python.
- Experience Shell scripting with Bash.
- Design, develop, unit/integration test, and build software code to provide new functionality and extend/modify existing code; using object-oriented software methodologies.
- Support a variety of open source enterprise applications with thousands of users
- Development tasks will be across all of Ruby, Node.js, PHP, Java, Javascript and Python
- Data formats (i.e. JSON, XML, and HTML)
- Write Linux based scripts for code integration and cron jobs (e.g. Shell, Ruby, Python, etc.) and work in a command line environment
- Manage code using Git
- Troubleshoot and debug a variety of software stacks such as Rails, MEAN, Django
- Support networking protocols such as TCP/IP and UDP, and application protocols including HTTP and DNS
- Managing a variety of databases, including MySQL, PostgreSQL, MongoDB, and ElasticSearch
- Have working knowledge of Chef, Puppet, Ancible, or Salt.
- Integrate a wide variety of applications from various sources, integrate and ensure they meet performance standards for stability and resource utilization
- Develop software as necessary to integrate between components, perform new capabilities, to facilitate testing, etc.
- Support continuous integration/build tools such as Jenkins, Maven, etc.
- Work in an Agile and DevOps style environment
Technical Skills Required:
- Experience with JavaScript, Hypertext Markup Language (HTML), CSS, equivalents for developing and coding at least one OOS.
- Developing solutions integrating and extending COTS products.
- Demonstrated technical writing skills and shall have generated at least four (4) documents in support of a software development project.
- Designing and developing applications that contain a user-facing view component.
Minimum Experience Required:
- At least six (6) years in software development/engineering, including requirements analysis, software development, installation, integration, evaluation, enhancement, maintenance, testing, and problem diagnosis/resolution.
- At least four (4) years developing software in an enterprise environment.
- At least three (3) years developing software for Windows, UNIX or Linux (Redhat versions 3-5) operating systems. At least one (1) year of this experience must have been obtained within the last two (2) years.
- At least three (3) years in software integration and software testing, to include developing and implementing test plans and test scripts.
- TS/SCI with Polygraph Required.