Software Principal Engineer Job Description
Software Principal Engineer Duties & Responsibilities
To write an effective software principal engineer job description, begin by listing detailed duties, responsibilities and expectations. We have included software principal engineer job description templates that you can modify and use.
Sample responsibilities for this position include:
Software Principal Engineer Qualifications
Qualifications for a job description may include education, certification, and experience.
Licensing or Certifications for Software Principal Engineer
List any licenses or certifications required by the position: IAT, AWS, DODI, II, III, X509, TLS, DO-178, SSL, NSA
Education for Software Principal Engineer
Typically a job would require a certain level of education.
Employers hiring for the software principal engineer job most commonly would prefer for their future employee to have a relevant degree such as University and Bachelor's Degree in Engineering, Science, Mathematics, Technology, Software Engineering, Computer Science, Computer Engineering, Electrical Engineering, Software Development, Physics
Skills for Software Principal Engineer
Desired skills for software principal engineer include:
Desired experience for software principal engineer includes:
Software Principal Engineer Examples
Software Principal Engineer Job Description
- Contributes to intellectual property holdings, filing engineering disclosures and patent filings
- Keeps abreast of new technology patterns and trends in search and big data
- Core Embedded Linux, Android or RTOS Software Development
- Works with other development centers worldwide in USA and Europe
- Works closely with local and global SQA teams
- Software Design and Development on Embedded Linux, Android / Real-Time OS based electronic payment devices
- Work with engineers, program managers and partner teams to deliver a set of features with the right overall design and architecture
- Own and deliver complete features, including design, architecture, implementation, testability, debugging, and shipping
- Work on cross-platform client code
- Cooperate with other engineers and disciplines to deliver reliable designs and code
- Candidates must have a robust understanding of Java and an in-depth understanding of other Java technologies, including Servlets, Struts/Tiles, JSP, JDBC, JMS, Spring, Camel
- Proven ability to work both independently and establish trusted, effective relationships across diverse sets of stakeholders
- Deep knowledge of building low latency, high availability, and fault tolerant distributed systems
- Strong technical credentials, with at least 10 years of technical engineering leadership, including proven software deliverables
- 5+ years of C++/C# software engineering and product development experience
- Mobile experience with iOS or Android
Software Principal Engineer Job Description
- The opportunity to lead, design, implement and own key product features with our team in Toronto
- Work in a small team environment within a highly successful company that is growing fast
- Directly collaborate with all product stakeholders and drive multiple features to successful delivery
- Participate in task level estimating of work assigned during the project planning stages
- Conduct and participate in code reviews that may span multiple projects
- Experience with leading small teams of developers
- Provide application support and training to developers, testing (both automated and manual) and production support personnel
- Support production deployments during go live
- Designs new software and infrastructure for real-time data systems and applications, supports applications under development, and customizes current applications
- Mentors/coaches junior Software Development Engineers on internally developed software applications
- Software engineering skill in high level languages (C#, C++, Java, F#), data manipulation (SQL), scripting languages (Python, Perl), and common ML and analysis tools (R, SAS, SPSS, MatLab)
- BS in Engineering or Information Systems
- A strong background in Data Structures, Algorithms, Analysis of algorithm complexity and efficient implementation of complex algorithms
- Experience with software development tools such as source control systems, automated build systems, compilers, software validation systems, test harnesses, continuous integration & deployment
- Ability to work alone or with a small distributed team
- Ability to interact professionally with the customer
Software Principal Engineer Job Description
- Own application development focusing on middle tier using Spring MVC Web Services
- Develop, evaluate, and implement improved processes, methods and tools to continually improve software delivery effectiveness
- Coordinate with QA testing staff to ensure comprehensive test coverage, effective performance and load tests, timely resolution of issues, and other actions to assure delivery of quality software
- Lead the team to develop cutting-edge software and modify existing software to add features Design and implement highly scalable distributed systems
- Ability to conduct code reviews, coach junior developers on the team
- Be a leader and promote best practices to deliver high performance software solutions
- Work closely with Product teams to ensure product is delivered to market on schedule
- Work closely with Operations and Support staff to ensure hand-off post-release
- Design and develop enterprise transaction processing solutions using traditional and emerging technologies
- Design and develop core parts of the product
- 7+ years of experience in developing with C#, C++, or Java
- Web Java and JavaScript frameworks experience such as Spring framework, REST APIs
- Strong understanding of operational aspects of SaaS model
- Must have an active DOD Top Secret Clearance with in-scope SSBI (update within past 5 years) and a proven ability to be accessed to Special Access Programs
- Competency with MATLAB
- Experiences in large scale distributed computation, map reduce systems, and data mining
Software Principal Engineer Job Description
- Perform and/or provide guidance and oversight on vulnerability assessments
- Collaborating with program and engineering disciplines and ensuring cybersecurity solution alternatives
- Conducting technical and nontechnical trade studies, analysis, reviews identify
- Provide hands on technical leadership in the full lifecycle of design and implementation of software system for embedded devices and systems, from requirements through production and commercial launch, and maintenance
- Collaborate with a multidisciplinary engineering team to solve complex system problems
- Perform feasibility investigation for new projects, systems, or approaches
- Perform risk management activities including Fault Tree Analysis (FTA), Operator Misuse Analysis (OMA), and Failure Mode and Effects Analysis (FMEA) to identify design and process shortcomings, and methods for effective mitigations
- Support Software Quality Assurance to meet the requirements of our internal Quality System, including specific requirements of GMPs, FDA QSR, IEC 62304, and ISO 9001 standards
- Drive process and standards improvement efforts, provide mentoring to other software engineers, and lead the development team in the adoption of best practices and design methodologies
- Support complex automated and semiautomated
- 10+ years of broad experience developing software products using Java technologies
- Responsible for defining software architecture for the client engineering team
- Define the technical implementation of the software architecture
- Facility for connecting UI apps with backend systems, making them sing
- Strong knowledge of Java, JavaScript, DHTML, CSS and Web technologies
- Experience with information technology data standards including XML, XML Schema
Software Principal Engineer Job Description
- Work in a cooperative cross-team environment
- Deliver efficient and scalable software designs
- Assist in creating and maintaining the integrity of engineering processes
- Assist in creating the overall software technology strategy
- Demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
- Track the latest updates on the platforms and features that are offered by HyperV and Azure
- Ensuring Incidents, Service Requests and Problems are resolved within established OLAs
- Estimate engineering efforts, plan implementation, and rollout system changes
- Develop and documents design models and implement systems according to specific strategies, standards and guidelines
- Work with technology management to develop business models, technical strategies, implementation strategies and architectures
- 3+ years’ experience in languages like Python, Scala, R, SQL
- 2+ years’ programming experience in JavaScript, HTML, CSS
- Ideal candidate will have solid .NET and Microsoft technologies background
- Experience utilizing SDKs
- Understanding of Entity Framework (or NHibernate) a plus
- Previous development experience in Linux environment