Senior Principal Engineer, Software - Connected Vehicle Services
Type of Position
The Senior Principal Engineer will play a pivotal role in providing technical guidance to other employees in the areas of code compliance and standards, innovation and will implement best practices. In addition, this individual will be responsible for a set of applications along with a team and will help design, develop and manage the application stack. This person will also provide technical direction by working with other leaders on the development teams who may be working on different applications to ensure that the technologies interoperate or integrate with each other appropriately.
This position requires the ability to work closely with all levels of management and across the various engineering departments (architecture, infrastructure, and development). This also includes researching and making recommendations on new technologies and applications that must be implemented to ensure the Sirius XM Connected Vehicle business continues to remain a technical and thought leader in its space.
While this individual must be able to think strategically to help establish the short and long term technical direction of the company, they must be very "hands-on" and be able to develop or analyze code while serving as an integration specialist.
Duties and Responsibilities:
- Research technologies and trends and recommend best practices for adoption.
- Provide solutions, architecture, development and technical guidance for distributed and complex software and hardware problems.
- Design and develop software systems in accordance with the best practices for maintainability, scalability, performance and security.
- Be a subject matter expert and integration specialist expert in one or more of the following areas: Telematics, web and mobile applications, ESB technologies and implementations, Wireless Account Management, CRM or Financial systems.
- Monitor and research software trends and best practices; recommend and drive implementation methodology of such practices across the connected vehicle business line.
- Work with senior IT management to develop IT strategy and implementation plans.
- Improve existing process within the IT organization.
- Communicate succinctly with other groups and work with executives in prioritizing work for the development team.
- Help resolve complex problems.
- Review and improve code.
- Define detailed specifications, clarifying ambiguity in requirements.
- Provide mentorship for Engineers in the design and implementation of complex solutions.
- Design, develop and consume integration interfaces using enterprise Java EE technologies like JAX-WS, XML, XSD, JAX-RS, JSON, JAXB and JMS.
- Provide technical solutions that follow best practices, are reliable, are easily maintainable and are scalable under sustained load.
- Run load tests and perform application tuning.
- Troubleshoot and enhance code which was written by other team members.
- Provide well-written design documents from requirements documents (even loosely specified requirements).
- Define, design and develop the architecture for the solution.
- Enable technical innovation throughout the organization.
- Analyze, design, develop, validatie, and deliver the product features and stories for the agile team.
- Support new capabilities through early adopter customer use and overcome their limitations.
- Effectively transition applications and technologies to other technical and operational groups.
- Act as a bridge between the architecture and development teams.
- Facilitate complex problem resolution.
- Bachelor's Degree in Computer Science or a related field, M.S. in Computer Science preferred or equivalent, relevant experience.
- 10 + years of hands-on software development are required, including but not limited to: software & systems architecture, object oriented programming, and the design and implementation of large scale transactional systems.
- Experience writing white papers and submitting or contributing to Open Source Software, Microsoft and Java software engineering forums and blogs.
Requirements and General Skills:
- Utilizes sound decision making skills and communicates well with other team members and business users.
- Identifies problems and recommends solutions, performs triage in a team environment.
- Works independently as part of a team, including cross functional teams.
- Interact with IT at all levels.
- Excellent oral and written communication skills.
- Ability to interface with a multitude of diverse personalities in a professional and consistent manner.
- Occasional local and regional travel.
- Flexibility to work in a constantly changing environment and support short releases.
- Be a self-starter, self-motivated and self-directed.
- Able to set and meet deliverable deadlines and estimates.
- Ability to deliver working solutions under a tight deadline.
- Must have legal right to work in the U.S.
- In-depth Java programming experience.
- Defining, designing API Platforms with Node JS or similar technology stacks.
- Packaged software configuration and development - Siebel, Salesforce, Oracle Financials, Portal or similar.
- Experience in design and development of multi-task/multi-threaded applications.
- Multi-tier applications design and architecture proficiency, including but not limited to databases design, data retrieval optimization, applications design patterns, modern data caching approaches, rules engines and GUI layer cross-device implementation techniques.
- Excellent code review skills.
- Ability to understand, capture and explain design considerations within existing architecture.
- Ability to enhance architecture with new technologies and methodologies.
- Knowledge of Open Source software.
- Excellent presentation and written skills.
- Mentoring skills and competencies, with an ability to transfer knowledge to junior and senior members of engineering teams.
- Ability to analyze new technologies, emerging standards and market trends, and understand how they affect products today and in the future.
- Ability to anticipate obstacles and think through the likely impact of alternative proposals/solutions.
- Ability to analyze and interpret data, and draw inferences.
- Ability to apply functional expertise to make significant company contributions.
- Ability to quickly assess multifaceted problems and complex situations, recognize patterns and distinguish the root cause.
- Extensive experience in performance optimization for thick and thin clients or enterprise applications (C# or J2EE).
- Strong background in data structures, algorithmic and I/O efficiency.
- Hands on experience with various performance analysis methods to measure and define benchmarks for software performance.
- Experience with SOA and Integration Architecture concepts and technologies.
- Development experience with Oracle 11g and NoSQL databases.
- Experience performing scalability testing and application tuning.
- Recent work experience in using Spring, Jersey, Hibernate and other open source frameworks.
- Knowledge of caching technologies and concepts.
- Java EE Web service stack - JAX-WS, JAX-RS, JAXB(Eclipse Link MOXy), XML and. XSD.
- Messaging -- JMS, Tibco or IBM MQ or Rabbit MQ or Apache ActiveMQ.
- Java Frameworks -- Jersey, RestEasy, Hibernate, Spring, DI Framworks, Integration Frameworks.
- Relational Database - SQL, Stored Procedures, Views, triggers, partitioning etc.
- Java EE Containers -- JBOSS EAP, or Glassfish or Tomcat or Jetty.
- Build & Release Tools -- Maven, Ant, SVN, Git/Bitbucket and Jenkins.
- Experience with agile methodologies (Scrum, Kanban, XP, etc.).
- Experience with Test Driven Development.
- Experience working with distributed teams across geography.
Equal Opportunity/Affirmative Action Employer - Minorities/Females/Protected Veterans/Disabled.
The requirements and duties described above may be modified or waived by the Company in its sole discretion.