Software Developer-Reverse Engineer II - 30945 in San Antonio, TX at Alion Science and Technology

Date Posted: 9/8/2019

Job Snapshot

Job Description



Responsibilities/Qualification

 

Duties & Responsibilities;

The Software Developer/Reverse Engineer shall independently be able to develop and code software solutions that provide needed capabilities in support of customer’s computer network operations (CNO) activities through professional software development to include data architectures, software assurance and security. The Software Developer/Reverse Engineer shall:

•         Conduct rapid software prototyping to demonstrate and evaluate technologies in relevant environments conduct performance, security, and other aspects of evaluating software systems

•         Test software capabilities using novel testing and analysis techniques

•         document software with an emphasis on architectures, user stories, and interface definitions

•         Practice agile software development methods and actively participate on teams of software developers, researchers, designers, and technical leads

•         Support software development infrastructure and assist in building and configuring computing systems and resources

•         Conduct Vulnerability Analysis/Assessment and Reverse Engineering of assigned software/firmware/applications

•         Interface with technical community and other Government entities to understand challenges, needs, and develop solutions

The Software Developer/Reverse Engineer contributes to improving the overall technical capabilities of the customer’s CNO mission by participating in design (software and otherwise) sessions, developing unique capabilities, and sharing insights and practices across Government organizations supporting the CNO mission. The Software Developer/Reverse Engineer shall be able to continuously demonstrate and provide professional services related to the following activities:

  • Evaluate and recommends software development platforms and architectures as well as the hardware requirements for the support of development, testing, quality assurance, and production environments.    
  • Conduct applied research in the areas of current and emerging computer technology for the purpose of integrating appropriate new technological advances into the CNO mission.    
  • Develop and maintains software development architecture and makes recommendations for improvement. Establishes and documents software development guidelines, coding standards, and conduct training sessions as needed. Conducts code review and diagnoses technical issues reported.    
  • Write program code, compiles, debugs, tests, deploys, documents, and implements programs for new and existing systems (COTS/GOTS/ custom developed).    
  • Conducts daily hands-on programming work using, Assembly, C, C++, Python, Pearl, Ruby, Java, SQL, and Object Oriented programming.    
  • Serve as a member of a team of programmers responsible for developing, implementing and maintaining several diverse applications. 
  • Conduct reverse engineering and vulnerability analysis of assigned software, firmware or applications.  
  • Modify existing applications when required and resolves technical issues as needed.    
  • Design and develops database tables, stored procedures and other routine database related programming work.    
  • Translate system requirements and technical specifications into application prototypes and programming specifications.  
  • Provide input for the configuration of the applications and servers on which application programs run to ensure information security/information assurance principles related to the CNO mission are adequately addressed.

Key Requirements:  

  • Minimum six (6) years’ experience programming with object-oriented programming languages   
  • Minimum four (4) years’ experience developing Windows applications using Visual Studio or .NET environments OR four (4) years’ experience developing UNIX applications using make files or comparable build environments.
  • Experience developing complex programs using C, C#, C++, Java, or other comparable languages   
  • Minimum two (2) years leading projects that develop complex software, ensuring a collaborative environment, and configuration management   
  • Experience implementing software lifecycle management (requirements, design, develop, test, validate, deploy)
  • Demonstrated proficiency with software debugging tools such as IDA Pro, Ghidra or GDB.




#CJMB



Security Clearance

 

Top Secret/Sensitive Comp Info

Duties & Responsibilities;

The Software Developer/Reverse Engineer shall independently be able to develop and code software solutions that provide needed capabilities in support of customer’s computer network operations (CNO) activities through professional software development to include data architectures, software assurance and security. The Software Developer/Reverse Engineer shall:

•         Conduct rapid software prototyping to demonstrate and evaluate technologies in relevant environments conduct performance, security, and other aspects of evaluating software systems

•         Test software capabilities using novel testing and analysis techniques

•         document software with an emphasis on architectures, user stories, and interface definitions

•         Practice agile software development methods and actively participate on teams of software developers, researchers, designers, and technical leads

•         Support software development infrastructure and assist in building and configuring computing systems and resources

•         Conduct Vulnerability Analysis/Assessment and Reverse Engineering of assigned software/firmware/applications

•         Interface with technical community and other Government entities to understand challenges, needs, and develop solutions

The Software Developer/Reverse Engineer contributes to improving the overall technical capabilities of the customer’s CNO mission by participating in design (software and otherwise) sessions, developing unique capabilities, and sharing insights and practices across Government organizations supporting the CNO mission. The Software Developer/Reverse Engineer shall be able to continuously demonstrate and provide professional services related to the following activities:

  • Evaluate and recommends software development platforms and architectures as well as the hardware requirements for the support of development, testing, quality assurance, and production environments.    
  • Conduct applied research in the areas of current and emerging computer technology for the purpose of integrating appropriate new technological advances into the CNO mission.    
  • Develop and maintains software development architecture and makes recommendations for improvement. Establishes and documents software development guidelines, coding standards, and conduct training sessions as needed. Conducts code review and diagnoses technical issues reported.    
  • Write program code, compiles, debugs, tests, deploys, documents, and implements programs for new and existing systems (COTS/GOTS/ custom developed).    
  • Conducts daily hands-on programming work using, Assembly, C, C++, Python, Pearl, Ruby, Java, SQL, and Object Oriented programming.    
  • Serve as a member of a team of programmers responsible for developing, implementing and maintaining several diverse applications. 
  • Conduct reverse engineering and vulnerability analysis of assigned software, firmware or applications.  
  • Modify existing applications when required and resolves technical issues as needed.    
  • Design and develops database tables, stored procedures and other routine database related programming work.    
  • Translate system requirements and technical specifications into application prototypes and programming specifications.  
  • Provide input for the configuration of the applications and servers on which application programs run to ensure information security/information assurance principles related to the CNO mission are adequately addressed.

Key Requirements:  

  • Minimum six (6) years’ experience programming with object-oriented programming languages   
  • Minimum four (4) years’ experience developing Windows applications using Visual Studio or .NET environments OR four (4) years’ experience developing UNIX applications using make files or comparable build environments.
  • Experience developing complex programs using C, C#, C++, Java, or other comparable languages   
  • Minimum two (2) years leading projects that develop complex software, ensuring a collaborative environment, and configuration management   
  • Experience implementing software lifecycle management (requirements, design, develop, test, validate, deploy)
  • Demonstrated proficiency with software debugging tools such as IDA Pro, Ghidra or GDB.




#CJMB



Diversity Statement

 

We are an EOE that values our employee’s talent – regardless of gender, race, ethnicity, national origin, sexual orientation, religion or other protected characteristics – Your Talent Is Our Strength.

Alion will provide a reasonable accommodation to individuals with disabilities and disabled veterans who need assistance to apply. Please visit the Alion Careers site for more information.

U.S. Citizenship Required for the majority of our positions.

CHECK OUT OUR SIMILAR JOBS

  1. Software Engineer Jobs
  2. Project Engineer Jobs

Next Steps

Next Steps

JOIN OUR TALENT NETWORK

Join the Alion Talent Network today and stay up-to-date on our openings as they continue to become available! As a member of our network, you will receive alerts with new job opportunities that match your interests and have the ability to share job opportunities through social media or email. Join now!

Whether you choose to apply or just leave your information, we look forward to staying connected with you.