The Software Engineer designs, develops, and tests software applications and products. Additionally, the Software Engineer manages software development teams, provides technical leadership, and establishes software development lifecycle practices and processes.
The Software Engineer is proficient in programming languages such as Java, JavaScript, C, C++, C#, Ruby, Python, Scala, and Groovy.
In this role, the Software Engineer requires extensive knowledge of programming languages, software development, computer operating systems, Continuous Integration / Continuous Delivery (CI / CD), DevOps, Application Programming Interface (API) development, container development, and distributed systems.
The Software Engineer also applies engineering principles to software creation, manages production releases of software, performs code reviews, merges feature development branches, and analyzes and triages issues.
The necessary skill areas for the Software Engineer include programming and coding, fundamentals of computer science, software design and architecture development, algorithms and data structures, information analysis, software debugging and testing, and working on development teams.
The Software Engineer also works with sponsors to curate requirements, define sprint work items, set priorities for work backlogs, and organize development teams.
Key Responsibilities
- Perform software development, debugging, modification, enhancement, and documentation
- Develop and maintain kernel and user-level software and scripts
- Contribute to technical reports and presentations
Additional Responsibilities
- Develop object-oriented software applications
- Follow agile software development processes and practices
- Interface and coordinate with team members including other developers, testers, system engineers, etc.
- Support optimization of software for running on specific targets / platforms
- Support translation of system requirements into software requirements and design
- Review / produce technical documentation, designs, and data
Required Minimum Qualifications
- Familiarity with Python, C#, C++, Java, and other scripting / programming languages
- Proficiency and knowledge of software version control tools and best practices, i.e. Git
- Proficiency in developing on / for Windows and Linux operating systems
- Strong verbal and written communication skills
Preferred Qualifications
- Active Secret Clearance
- Experience working with automated testing systems
- Experience working with continuous integration and continuous delivery (CI / CD) pipelines
- Knowledge of agile software development methodologies
Travel Requirements
Education and Length of Experience
Levels 1, 2
This position vacancy is an open-rank announcement. The final job offer will be dependent on candidate qualifications in alignment with Research Faculty Extension Professional ranks as outlined in section of the Georgia Tech Faculty Handbook
0 years of related experience with a Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, Aerospace Engineering, Physics, or related field
U.S. Citizenship Requirements
Due to our research contracts with the U.S. federal government, candidates for this position must be U.S. Citizens.
Clearance Type Required
Candidates must be able to obtain and maintain an active security clearance.