Sr. Software Engineer
Job description
D&K Engineering (a Burke Porter Group company) is looking for Sr. Software Engineers to join their Rancho Bernardo location.
The Sr Software Engineer analyzes, designs, develops, and debugs software applications running in a variety of systems, hardware, and products. Interfaces with clients to assist in the gathering and documenting of software requirements, and develops software based on the derived requirements and use cases. Develops rapid prototype software and firmware in order to control and evaluate electrical and mechanical prototype builds. Performs root-cause failure analysis; debugs and enhances existing software and firmware applications. Supports personnel in preparation for product verification, field testing, and new product transition to manufacturing.
ESSENTIAL FUNCTIONS:
- Integrates technical requirements within program constraints to create high quality software and firmware solutions.
- Interfaces and coordinates with other engineering disciplines - EE, ME, Systems.
- Discusses challenges with manager and client, and generates architectural roadmaps.
- Gathers, defines, and documents product and user interface requirements and objectives.
- Performs feasibility studies.
- Performs design reviews in accordance with project and company standards.
- Investigates and evaluates appropriate software technologies, both open source and private domain, to achieve product objectives.
- Deploys appropriate software development methods and techniques starting with the analysis of requirements and the creation of SRS, creating architecture and design followed by technical execution of writing, reviewing, verifying, and validating software.
- Develops rapid prototype software and firmware to test representative prototypes.
- Develops highly reliable software and firmware that is suitable for production by employing design reviews, codes reviews, pairs programming, product verification and validation.
- Creates reliable, elegant system architecture and designs. Solves complex problems in a manner that meets program needs (technical, schedule, budget, reliability, etc.)
- Assists in developing production test and validation requirements.
- Assists in the transition of product designs from R&D into Manufacturing.
- Works with the client to develop and verify software and firmware updates for delivery to production and the installed base.
- Outlines and generates high quality technical status updates and reports suitable for client.
- Coordinates and leads internal and client-facing technical meetings.
- Mentors other software engineers.
- Performs other duties as required.
Experience and Skills:
Education & Experience:
Typically requires 8 years related experience with a Bachelor’s degree; 6 years with a Master’s degree; or 3 years with a PhD, or the equivalent combination of education, experience and training that provides the required knowledge, skills and abilities.
Job Complexity:
Works on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors. Exercises judgment in selecting methods, techniques and evaluation criteria for obtaining results. Networks with key contacts outside own area of expertise.
Knowledge, Skills & Abilities:
- Excellent interpersonal skills for collaboration and teamwork (internally and with clients).
- Excellent communication and presentation skills (written and oral).
- Strong understanding of the requirements capture, analysis, and documentation processes with subsequent architecture development. Has demonstrated ability to drive each step to appropriate closure while observing critical technical, program, and business constraints.
- Strong understanding of all software development process methods (i.e. Waterfall, Agile, Extreme, Code reviews, Reuse/Leverage). Has demonstrated ability to adapt such methods to the needs of each project to yield most effective and optimal results.
- Excellent grasp of basic and advanced software development, coding principles, depth and/or breadth in languages, with outstanding productivity in critical languages and development effectiveness (as measured by metrics such as defects, escapes, and unit test coverage etc).
- Clear command of how to connect software to proper verification methods such as unit testing, ad-hoc, system testing, static analysis, and determining the appropriate levels of regression testing.
- Strong Knowledge and effective application of a diverse set of software technologies such as but not limited to: OOD - Object Oriented Design; C, C++, C#; Web technology; Communication / connectivity protocols - USB, TCP/IP, Wireless; RTOS, Embedded OS; Open Source tools; MSFT tool set
- Knowledge and use of a variety of Software Tools such as IDEs, build platforms, and debug methods. Technically strong enough to pick up a variety of tools and rapidly become an effective developer in any new area.
- Excellent grasp of purpose, use, and deployment of configuration management as it relates to the development and release of production software as well as the role and purpose of configuration management in an R&D environment.
- Ability to mentor other software engineers.
- Excellent attention to details.
SUPERVISION: Determines methods and procedures on new assignments and may coordinate activities of other personnel (Team Lead).
From: D&K Engineering
abouteureka.com is the go-to platform for job seekers looking for the best job postings from around the web. With a focus on quality, the platform guarantees that all job postings are from reliable sources and are up-to-date. It also offers a variety of tools to help users find the perfect job for them, such as searching by location and filtering by industry. Furthermore, abouteureka.com provides helpful resources like resume tips and career advice to give job seekers an edge in their search. With its commitment to quality and user-friendliness, abouteureka.com is the ideal place to find your next job.