Scientist, Software Engineer
Description:
Job Title: Scientist, Software Engineer
Job Location: Salt Lake City, UT
Job Code: CS20221305-82325
Job Description:
L3Harris Technologies Communication Network Effects Simulator (CNES) team is a research and development group aimed at invention and innovation in the area of networked RF modeling and simulation. Our tools provide a virtual flight test environment used to develop the next generation military communication systems. We develop high fidelity real-time models of advanced autonomous networked RF communications. We use ground breaking techniques in hardware accelerated real-time computing, database analytics, inter-process communication, high fidelity physics based RF modeling, advanced visualization techniques, and a host of other exciting technologies.
We are currently seeking an experienced, skilled and innovative software developer. New team members will have a central role in software research and development activities. These activities include design, implementation, test, and integration of next generation real-time modeling and simulation tools.
Position Responsibilities Include:
- Scripting languages such as bash or python is desirable
- Knowledge and experience in Docker or other virtualization is desirable
- Agile development methodology and Atlassian tools
- Machine learning, data analysis, and advanced algorithm design and development
- A very strong depth of knowledge in programming languages, compilers, and application execution
- Physics and math background is desirable
- Knowledge of computer networking with emphasis on wireless mobile networks, wireless systems engineering, and Internet technologies (TCP/IP protocol stack) is a big plus
- Drive critical decisions about the high-level structure of a software system (architecture), its main components and their interfaces and interactions
- Responsible for guiding software product development through analysis, design, development, testing and integration
- May serve in a customer facing IPT lead technical role for software focused discussions
- Participate in overall bid strategy discussions, cost estimates, and generation of technical documentation artifacts to support software related proposal efforts
- Design software architecture with consideration for full product and product line performance, integration, reliability, usability, maintainability, scalability, etc.
- Help define product roadmaps and software quality metrics
- Raise level of software functional organization proficiency in DevSecOps, CI/CD, Agile Methodology
- Encourage software reuse initiatives
- Recommend tactics and strategies that directly impact the achievement of overall business or functional results
- Propose technical standards, including coding standards, tools, or platforms
- Provide input to project schedule, financial and technical goals as appropriate
- Analyze and assist in the development of requirements flowed down by Systems Engineering
- Oversee and/or participate on a software team to design, document, develop and test software in alignment with a unified architectural vision
- Help resolve any disputes/design conflicts and make tradeoffs when necessary keeping product performance in mind
- Identify risks and propose mitigations when necessary
- Participate in software design/code reviews
- Participate in Integration efforts/Bug fixes/optimization of existing software systems
- Participate in estimating efforts for programs
- Deliver highly technical messages/presentations communicating at the level of the audience
Basic Qualifications:
Bachelor's Degree and a minimum of 12 years of prior relevant experience. Graduate Degree and a minimum of 10 years of prior related experience.
Preferred Qualifications:
- 10+ years of C++ and object oriented programming.
- FPGA VHDL or FPGA interface and integration experience
- Demonstrated ability leading small to medium sized software development teams through all phases of the software development lifecycle
- Broad, extensive and modern knowledge of the software development process and its technologies
- Understanding of software metrics and performance measures
- Experience estimating and justifying size/cost/schedule of a software development effort
- Experience developing and working against a schedule
- Experience with executing throughout the full development life cycle including requirements flow-down and allocation, design, development, test, and sell-off
- Experience with Agile and Waterfall Methodologies