Principal Software Engineer
Previous Job
Principal Software Engineer
Ref No.: 18-09846
Location: San Diego, California
Principal Software Engineer
San Diego, CA
3 Months

Job Family Summary
Software Engineering is responsible for developing, enhancing, and sustaining software systems in a cross-functional team environment through adherence to established design control processes and good engineering practices.

What is expected of you for success in your role

• Hands-on implementation of well-documented, testable, high quality code.
• Demonstrate advanced knowledge of software engineering practices and techniques, technology trends, and working knowledge of domain expertise.
• Develop detailed software architecture and design documents.
• Mentor other Software Engineers on the team to enable the adoption of new technologies and to implement the architecture and designs proposed.
• Work closely with the Product Manager and/or the Software Development Manager to translate the company's product and technology vision into implementable products.
• Demonstrate ability to work effectively on several concurrent projects.
• Work with global cross-functional teams to develop requirements, perform requirement flow-downs, design planning, risk retirement, architecture and design trade-offs, systems integration, verification, validation, external evaluation support, quality metrics, and defect resolution leadership.
• Repair defects and maintain existing products.

Required Qualifications

• Strong hands-on knowledge of the following development technologies including C#, ASP.NET MVC, ADO.NET, Web API/REST, Entity Framework, XML, XSLT/DTD/Schema.
• Experience in front-end technologies such as AngularJS/React, Kendo UI.
• In-depth understanding of Software Design Patterns.
• Extensive expertise designing and developing Service Oriented Architecture.
• Experience in a global and matrix environment.
• Experience working with Version Control systems (TFS).
• Experience in creating and maintain artifacts (models, diagrams, documents) by evaluating needs, clarifying requirements, and analyzing use cases and dependencies to recommend a course of action.
• Knowledge in Data Modeling for OLTP databases.
• Working knowledge of T-SQL, SSRS, SSIS and other related SQL Server and DB technologies.

Additional Qualifications
• Bachelor's degree in Computer Science, Computer Engineering, or related field, or the foreign academic equivalent.
• 7+ years of progressive related work experience.
• Experience working in a regulated environment (medical, aerospace, etc.)
• Ability to train and coach others from technical expertise.

Responsible for developing, enhancing, and sustaining software systems in a cross-functional team environment through adherence to established design control processes and good engineering practices. Demonstrates working knowledge of software engineering practices, techniques and processes and basic knowledge of technology trends and domain expertise. Understands and analyzes requirements for a single component. Translates the results of analysis into design by Designing solutions to address a specific requirement. Develop modules with moderate guidance. Has developed knowledge and skills in own job family; still acquiring / expanding fundamental knowledge and higher-level skills. Applies knowledge and skills to a variety of standard activities. Works with moderate guidance in own area of knowledge. Requires a BS degree preferably Computer Science, Computer Engineering, Mathematics, Physics or a related Engineering discipline and 5+ years' experience. Demonstrated understanding of multi-threaded software design and development. Excellent written and oral communication and interpersonal skills are essential. Demonstrated understanding of development in a process oriented/regulated environment and adhering to a quality management system.