Sr Principal Software Engineer (CA)

Do you want to help eliminate barriers between ideas and business outcomes? We want you to bring your unique experiences and creative ideas to the table. CA Technologies provides software and solutions that help our customers to develop, manage, and secure complex IT environments to increase productivity and enhance competitiveness in their businesses. It’s our aim to encourage global collaboration and results-oriented innovation, while supporting and developing our talented people and our communities. CA Technologies will empower you to drive authentic success, for both the business and yourself in the application economy.

Job Overview

This position is responsible for architecting, designing, creating, testing, and ensuring the quality of large scale or complex software for a major product or product line. The Sr Principal Software Engineer will also be responsible for high level research and analysis related to software design and development and is considered to be a thought leader who mentors others and provides technical leadership.

Key Responsibilities

Program Level Execution

  • Work collaboratively within an Agile Team to write high quality, testable code that meets the Definition of Done:
  • Strive to meet team commitments.
  • Strive to eliminate technical debt.
  • Adopt a test-first approach to software development, where possible in which the test is developed before the code.
  • Participate in design and code reviews with other engineers.
  • Use best software engineering practices to evolve the system design.
  • Create automated unit, system, and acceptance tests.
  • Participate in test plan reviews.
  • Perform unit/module testing of software.
  • Continuously evaluate software performance, identify performance degradation and opportunities to gain performance improvements valued by customers.
  • Actively support and contribute to end of iteration demos:
  • Support the early and continuous validation of features and stories with Customers, Analysts and CA’s customer facing teams to maximize the market value of the software delivered at each increment.
  • Openly solicit feedback on work done from customers and stakeholders, track progress against the vision and identify actionable feedback applicable for the next iteration.
  • Responsible for assigned integration, testing, and deployment tasks.

Program Execution Planning

  • Actively foster continuous team improvement in self and team:
  • Contribute to team retrospectives; help to identify and resolve team impediments.
  • Challenge the status quo.
  • Encourage and use experimentation as a tool to achieve continuous improvement of team performance.
  • Take ownership of problems and continuously strive to become a better problem solver.
  • May establish and maintain software configuration control and software development environments including program source control to ensure reliable backups and source code integrity.
  • Support design and refactoring through rapid prototyping and experimentation during research and refactor spikes.
  • Provide product content to technical writers and review for technical accuracy.
  • Write and maintain documentation to describe program development, logic, coding, testing, changes, and corrections.

Release/PI Planning

  • Prepare for Release Planning, including:
  • Support Product Management in program backlog refinement, and estimating features and epics.
  • Collaborate with the System Architects to:
  • Understand and communicate non-functional requirements relevant to the team/feature.
  • Identify and define Architectural epics and features in the Program Backlog, including refactors.
  • Evaluate design alternatives.
  • Capture and communicate how the system does what it does using whatever form of documentation is appropriate to serve the Release Planning process.
  • Translate the technological vision for the solution into the stories and tasks that will realize that vision at the team level.
  • Actively participate in Release Planning:
  • Establish own capacity/velocity for each increment.
  • Support story refinement, help identify risks and dependencies.
  • Support the Agile Team in establishing achievable PI objectives.
  • Help to identify dependencies and foster cross team co-ordination.
  • Commit to the mutually agreed plan.

Iteration Planning

  • Prepare for Iteration Planning, including:
  • Actively participate in backlog refinement sessions in collaboration with other Agile team members.
  • Identify and capture backlog items local to the team, such as defects and refactors.
  • Actively participate in team planning and contributing to team goals.
  • Participate in Iteration Planning, including:
  • Work with the Product Owner to establish the acceptance criteria for a story.
  • Volunteer for and commit to delivering stories and tasks within the iteration.
  • Contribute to a statement of the iteration goals, working in partnership with the Product Owner to define the business objectives for the iteration.

Enable Agility

  • Live the principles behind the Agile Manifesto in all interactions.
  • Work within a self-directed Agile team; commit to work and drive the outcome.
  • Demonstrate and cultivate a passion for delivering high quality products aligned with customer needs; increase customer exposure to build empathy.
  • Employ continuous learning; build domain expertise and keep abreast on new technology, processes, systems and tools.
  • Mentor, coach, train, facilitate, and provide technical feedback as well as serve as a knowledge hub to other team members.
  • Lead and mentor the team in good software engineering practices.
  • Actively communicate and collaborate across functional team boundaries.
  • Foster and enable innovation.

Release Management

  • May represent the Engineering function in Release Management processes with an eye to scope management, quality, deployment options, release, and market considerations.

Typical Role Definition

Sr Professional Staff. Possesses and applies a comprehensive knowledge of a particular field of specialization to complete complex assignments. Technical skills may cross fields. Works on complex and diverse issues where analysis of situations or data requires an in-depth evaluation of variable factors. Assignments are broad in nature and need ingenuity and originality to solve. Requires daily decision making capabilities and actions that are not reviewed by supervisor. Operates with substantial latitude for unreviewed action or decision. May be responsible for a project team with a defined scope of responsibility and set of deliverables. Has influence over team members; encourages focus on ingenuity and results. Reviews progress and evaluates results. Plans and assigns personnel for a given project or task, and recommends changes in procedures. Often plays a role in high-level projects that have an impact on the company’s future direction.

Job-Specific Authority and Scope

  • Generally works without consulting their manager.
  • Independent decisions are made daily.
  • Examples of typical decisions without manager consultation:
  • Mentor, coach, train, facilitate and provide technical feedback as well as serve as a knowledge hub to other team members.
  • Use best software engineering practices to evolve the system design.
  • Take ownership of problems and continuously strive to become a better problem solver.
  • Typically has no direct reports.
  • Typically has no total staff.
  • Typically has a global geographic focus.
  • Typically does not manage a budget.

Business Travel and Physical Demands

Business travel of approximately 10 or less percent yearly is expected for this position.

Physical demands:

  • Office environment. No special physical demands required.

Preferred Education

Master’s degree or global equivalent preferred. Additional management or leadership training beneficial.

Work Experience

Typically 10 or more years of software development experience. Has extensive experience with complex products and expert level knowledge in areas applicable to product discipline and/or project management experience in a lead role with the ability to mentor other engineers.

Skills & Competencies

  • Demonstrates high personal integrity and ability to earn trust from others.
  • Demonstrates a growth mind-set, seeks feedback often and is effective in continuous personal and professional development.
  • Participating in self-directed learning activities aimed at developing deep expertise within technical domain, including reading relevant publications, participating in domain forums or groups etc.
  • Has a deep understanding of context within which our products are being developed, deployed and used.
  • Has a solid understanding of the user personas CA products and solution are targeting within the technical domain and deep empathy for the needs of those users.
  • Uses in-depth experience and expertise of Agile methods, paradigms, and tools to support the development, implementation and adoption of software engineering best practices for the organization.
  • Supports the implementation and adoption of new Agile standards, methodologies, and tools.
  • Deliberately finds ways to observe users interacting with a product or major feature set to gain deep insights into customer behavior that may lead to novel problem solving approaches.
  • Takes intelligent risks and learns from failure.
  • Technical expert with in-depth programming and product knowledge and strong technical skills combined with project management and leadership ability.
  • Strong technical leadership skills.
  • Strong communication skills.
  • Strong teamwork skills for cross-group cooperation.
  • Strong technical knowledge across the industry.
  • Strong analytical skills and the ability to understand complexities and how components connect and relate to each other.
  • Leadership skills and ability.
  • Coaching and mentoring skills.
  • Constantly refine and stay current with emerging themes in software development and testing.

Certifications

Certified Scrum Developer (CSD).

If you want to fulfill your potential, be acknowledged for your achievements, and be given autonomy to make decisions for your business and customers; if you want to work with a company that respects you as an individual – recognizing both your needs at work and your responsibilities outside of it – then CA Technologies is where you belong. At CA Technologies your passion and expertise can directly impact the business and you’ll help offer our customers practical approaches to delivering new, innovative services and value through IT.

Learn more about CA Technologies and this opportunity now at http://ca.com/careers

Note to Recruiters and Placement Agencies: We do not accept unsolicited agency resumes. Please do not forward unsolicited agency resumes to our website or to any of our employee. We will not pay fees to any third party agency or firm and will not be responsible for any agency fees associated with unsolicited resumes. Unsolicited resumes received will be considered our property and will be processed accordingly.


Back to top