D&K Engineering is looking for a Sr Software Engineers. This is a regular fulltime position here in San Diego.
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 (Primary Responsibilities):
These may include, but are not limited to:
- Uses technical requirements to create high quality software and/or firmware solutions on embedded microcontroller, desktop, mobile and/or cloud platforms.
- Interfaces with other engineering disciplines – EE, ME, Systems.
- Discusses technical challenges with manager and client.
- Develops highly reliable software and/or firmware suitable for production by employing design reviews, code reviews, pair programming, product verification and validation.
- Helps with defining and documenting product and user interface requirements.
- Performs feasibility studies.
- Performs design reviews in accordance with project and company standards.
- Investigates and evaluates software technologies as needed, both open source and private domain, to achieve product objectives.
- Uses appropriate software development methods and techniques.
- Develops rapid prototype software and firmware to test early bread boards.
- Solves complex problems in a manner that meets program needs, e.g. within schedule.
- Assists in developing verification protocols, test harnesses and validation.
- Assists in the transition of product designs from R&D into Manufacturing.
- Performs other duties as assigned.
Experience and Skills:
EDUCATION, EXPERIENCE, SKILLS AND ABILITIES REQUIRED:
Experience, Knowledge, Job Complexity, Supervision:
Typically requires a minimum of 4-6 years of related experience with a Bachelor's degree; or 2-4 years and a Master's degree; or equivalent experience.
Essential Knowledge, Skills & Abilities:
- Excellent grasp of software development, coding principles, depth and/or breadth in languages, with outstanding productivity in a mainstream language, e.g. C++, C# or other.
- Knowledge and effective application of a diverse set of software technologies, e.g. 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 effective.
- Grasp of purpose, and use of configuration management as it relates to SW development.
- Excellent attention to details.
- Excellent interpersonal skills for collaboration and teamwork (internally and with clients).
- Excellent communication and presentation skills (written and oral).
- Able to apply requirements, specifications, and architecture document to write software.
- Understanding most common software development methods (i.e. Waterfall, Agile, Extreme, Code reviews, Reuse/Leverage) and able to adapt to such methods for effective results.
- Clear command of how to connect software to test, such as unit, ad-hoc, system, or verification testing, or evaluations such as static analysis.