|
GENERAL JOB SUMMARY: Designs, develops, tests, troubleshoots, and debugs software programs for enhancements and new products for small to medium size real-time process control applications. Apply knowledge and principles of software engineering and programming to product development and product support. Has knowledge of commonly used software languages, development concepts, practices, and procedures. Relies on experience and judgment to plan and select right course of action. Work is done independently and is reviewed at critical points. May lead a team and direct the work of others. A wide degree of creativity and latitude is expected. ESSENTIAL JOB FUNCTIONS:
- Perform high level and detailed design of computer software components
- Design or assist in the design of large software programs and/or software systems (i.e. 30+ components)
- Develop and write requirements specifications, design, and test documents
- Lead software engineering teams or groups during the development of a software project
- Analyze software requirements to determine feasibility of design within time and cost constraints
- Perform and assist hardware and software integration tasks
- Perform and assist in the system level software analysis and design tasks
- Consult with hardware and system engineers to analyze interfaces between hardware and software and operational and performance requirements of overall system
- Conduct and support design reviews, program reviews, and other presentations to the customer to include development of presentation material
- Develop and direct software testing procedures and documentation
- Provide technical guidance to software engineering personnel during design activities
- Must be at assigned worksite during assigned hours 100% of time; less PTO, FML/STD/LTD
Other Job Functions
- Maintain integrity of customer, military and company standards and requirements during development activities
- Lead software project to include managing / directing software personal, in all aspects of the development process from engineering kick-off, requirements analysis, preliminary design, critical design, integration testing, qualification testing, to customer delivery
- Assist in training new software engineering employees
- Perform other work-related tasks or assignments as directed by supervisor or project lead
SUPERVISORY RESPONSIBILITY:
Keyword: software development, real-time systems, C/C++, C#, Java, Python, MATLAB, embedded systems, multi-threaded applications, OOP, UML, Agile, Scrum, Git, Visual Studio
Required Experience:
KNOWLEDGE, SKILLS AND ABILITIES REQUIRED:
- Ability to maintain sensitive and confidential information as required by government standards
- Ability to interact effectively with peers and supervisors
- Ability to interact appropriately with the public when necessary
- Ability to adhere to workplace rules
- Ability to read, write and develop intelligible instructions, procedures and software development documentation
- Ability to collaborate and work with a multi-functional team in a fast-paced environment
- Knowledge of multi-threaded application programming
- Sound knowledge of user interface design principles, software architecture, and design patterns (Simulink concepts are a plus)
- Adept in writing code for optimizing graphical output for interaction as well as plotting animation data by changing colors, size, scales according to client requirements with MATLAB are a plus
- Strong and pronounced problem solving and analytical skills
- Understanding of Fourier analysis, digital signal processing and discrete math as well as knowledge of coordinate system transforms are a plus
- Strong working knowledge of software engineering and programming principles and practices
- Strong working knowledge of Software Lifecycle Management to include development, configuration control, and release management
- Knowledge of CUI data and appropriate marking / labeling
- Ability to drive towards goals and milestones while valuing and maintaining a strong attention to detail and schedule
- Working knowledge of the Agile software project management and development processes to include Scrum and/or Kanban and the ability to work / lead project teams in this process
- Knowledge of DoD-STD software development processes and procedures
- Must have highly developed interpersonal skills to interact with and present to customers and senior management
EDUCATION AND EXPERIENCE:
- BS in Computer Science, Computer Engineering, Electrical Engineering, or related technical field
- 5+ years of experience in software development or related field
- Experience with C/C++, C#, Java, Python
- Experience with MS Visual Studio, Eclipse, CLion, .Net, MFC preferred
- Experience with National Instruments LabVIEW / TestStand
- Experience with MATLAB preferred
- Experience with formal analysis and design methodologies
- Experience developing embedded systems and working with Real-Time Operating Systems (RTOS)
- Experience with multi-threaded applications
- Experience with Object Oriented Design/Object Oriented Programming
- Experience with the Unified Modeling Language (UML) preferred
- Experience with project planning
- Experience with Software Lifecycle Management / Collaboration tools (e.g., Git, Jira, Bitbucket, Bamboo, Confluence, Requirements Yogi, etc.)
- Advanced experience with MS Word, Excel, PowerPoint, Visio, Teams, and basic experience with MS Project
WORK ENVIRONMENT / PHYSICAL REQUIREMENTS:
- Office and production environment
- Ability to stand and sit for long periods of time
- Ability to perform repetitive motion (keyboarding, 10-key, phones)
- Ability to lift up to 25 pounds
- Ability to travel, foreign and/or domestic 10% of the time in support of customer products
THE ABOVE STATEMENTS ARE INTENDED TO DESCRIBE THE GENERAL NATURE AND LEVEL OF WORK BEING PERFORMED BY INDIVIDUALSiASSIGNED TO THIS CLASSIFICATION. THEY ARE NOT INTENDED TO BE CONSTRUED AS AN EXHAUSTIVE LIST OF ALL RESPONSIBILITIES, DUTIES AND SKILLS REQUIRED OF PERSONNEL SO CLASSIFIED. A REVIEW OF THIS CLASSIFICATION HAS EXCLUDED THE MARGINAL FUNCTIONS OF THE CLASSIFICATION THAT AREiINCIDENTAL TO THE PERFORMANCE OF FUNDAMENTAL JOB JUTIES. ALL DUTIES AND RESPONSIBILITIES ARE ESSENTIAL JOB FUNCTIONS AND REQUIREMENTS AND ARE SUBJECT TO POSSIBLE MODIFICATION TO REASONABLY ACCOMMODATE INDIVIDUALS WITH DISABILITIES TO PERFORM THIS JOB PROFICIENTLY.i THE REQUIREMENTS LISTED IN THIS DOCUMENT ARE THE MINIMUM LEVELS OF KNOWLEDGE, SKILLS OR ABILITIES EEO/M/F/D/V #LI-Onsite
From: Kratos Defense
|