Ball Corporation / Ball Aerospace Principal Software Engineer (664308) in Annapolis Junction, Maryland
Who We Are:
Ball Wavefront delivers secure, technical solutions to protect critical, sensitive and proprietary data for the private and public sectors. Our expertise in the latest tools and techniques for Advanced Analytics, Data Science, Network Exploitation and Security Solutions enable us to support our customer’s mission in the Intelligence Community, the Department of Defense, Federal Government and Commercial spaces.
Software En*gineer (SWE) – Principal*
What You’ll Do:
- Develop, maintain, and enhance complex and diverse software systems (e.g., processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems) based upon documented requirements.
- Work individually or as part of a team.
- Review and test software components for adherence to the design requirements and documents test results.
- Resolve software problem reports.
- Utilize software development and software design methodologies appropriate to the development environment.
- Provide specific input to the software components of system design to include hardware/software tradeoffs, software reuse, use of Commercial Off-the-shelf (COTS)/Government Off-the-shelf(GOTS) in place of new development, and requirements analysis and synthesis from system level to individual software components.
- Analyze user requirements to derive software design and performance requirements
- Design and code new software or modify existing software to add new features
- Debug existing software and correct defects
- Integrate existing software into new or modified systems or operating environments
- Develop simple data queries for existing or proposed databases or data repositories
- Provide recommendations for improving documentation and software development process standards
- Develop or implement algorithms to meet or exceed system performance and functional standards
- Assist with developing and executing test procedures for software components
- Write or review software and system documentation
- Develop software solutions by analyzing system performance standards, confer with users or system engineers; analyze systems flow, data usage and work processes; and investigate problem areas
- Serve as team lead at the level appropriate to the software development process being used on any particular project
- Modify existing software to correct errors, to adapt to new hardware, or to improve its performance
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
- Design or implement complex database or data repository interfaces/queries
- Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project
- Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints; Perform quality control on team products
- Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces
- Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met
- Implement recommendations for improving documentation and software development process standards
- Maintain a regular and predictable work schedule.
- Establish and maintain effective working relationships within the department, the Strategic Business Units, Strategic Support Units and the Company. Interact appropriately with others in order to maintain a positive and productive work environment.
- Perform other duties as necessary.
What You’ll Need:
- Bachelor’s degree or higher in Engineering, Computer Science or a related technical field, plus 12 or more years of related experience is required.
- Each higher-level degree, i.e., Master’s Degree or Ph.D., may substitute for two years of experience. Related technical experience may be considered in lieu of education. Degree must be from a university, college, or school which is accredited by an agency recognized by the US Secretary of Education, US Department of Education.
- Knowledge and experience in the use of Embedded C/C++ Programming and object oriented design, Intel/Marvell and Motorola PPC microprocessors, 802.11 a/b/g/n/ac packet formats, Embedded system architecture, Embedded system optimization, Global Positioning System (GPS) formats, Flash memory and management, Embedded system inter-process communications, LINUX and iPhone Mobile operating systems, Java, C/C++and other software languages, Tcl/Tk, GTK, Qt and other software tool kits, System Administration of UNIX, LINUX and Windows systems, Web design and development, WIMAX 802.16 packets.
- Work is performed in an office, laboratory, production floor, or clean room, outdoors or remote research environment.
- May occasionally work in production work centers where use of protective equipment and gear is required.
- May access other facilities in various weather conditions.
- Travel and local commute between Ball campuses and other possible non-Ball locations may be required.
Successful candidate will have completed a government security investigation and must meet eligibility requirements for access to classified information. *U.S. Citizenship is Required.
Relocation for this position is NOT Available
US CITIZENSHIP REQUIRED
Equal Opportunity Employer
Minority, Female, Disabled, Lesbian, Gay, Bi-sexual, Transgender and Veterans.
Job Title: Principal Software Engineer (664308)
Job ID: 664308
Location: MD - Annapolis Junction
Full/Part Time: Full-Time