Software Engineer (Lead)
Location: Salt Lake City UT
Full time direct hire
Full benefits
Relocation
No visa sponsorship
Job description:
Drive critical decisions about the highlevel 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 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:
- Bachelors Degree and a minimum of 12 years of prior relevant experience. Graduate Degree and a minimum of 10 years of prior related experience. In lieu of a degree minimum of 16 years of prior software related experience
Preferred Additional Skills:
- Bachelors or Masters degree in Computer Science or related field
- 12 years of experience developing software applications with an objectoriented programming language preferably C.
- 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 flowdown and allocation design development test and selloff
- Experience with Agile and Waterfall Methodologies