Principal Software Engineer #351

Washington D.C.
May 19, 2023
Jun 23, 2023
Full Time

Principal Software Engineer #351

Pay Band: SAA-11 - $105834-$158749
Remote Work Status: Remote / FLSA Status: Exempt
Posting Date Range: 5/18/2023-6/1/2023
This vacancy announcement closes at 7pm EST. Late applications will not be accepted.

Link to job application: 

Applying to this position is a two-step process:
1. You must submit your application by clicking the "Apply Now" button.
2. You must complete the required skills test to be considered for an interview. The test should take less than one hour to complete and will assess your Vue.js, Python, and Django skills. Please get started with the skills test by clicking here. Complete this by June 1, 2023.

Job Description

This is advanced professional information technology work directing and coordinating the design and development of automated information systems supporting the Senate. Work in this classification is distinguished from the Senior Software Engineer by the scope, complexity and criticality of the assigned systems, programming and system analysis expertise and project management responsibilities. The incumbent plans, directs, assigns and reviews staff or contractor work, and manages project timetables and work product. The incumbent may also serve as the technical expert developing information technology and database requirements. Work is performed under the general direction of a Manager.

Examples of Work
Serves as project manager; prepares budget estimates of system development efforts; develops project plans; monitors project status; prioritizes work order requests; prepares application implementation schedules. Supervises project staff; assigns and reviews work. May coordinate and direct efforts of contractors; inspects and accepts contractor services; reviews and approves vendor work orders, schedule changes and expenditures. Maintains and monitors mission-critical systems and responds to emergency situations. Conducts feasibility studies to identify the scope, extent and practicality of development or reengineering effort; determines goals, objectives and critical success factors; evaluates hardware/software strategies, technical alternatives and cost options. Interviews users to determine overall goals and objectives for major Senate systems(often providing insight into long-term, strategic planning); analyzes user requirements to design system components and functional specifications; prepares detailed program design specifications; maintains continuous end-user contact in support of existing systems and new system development. Analyzes functional procedures and workflow in user offices as they relate to manual and automated processes; recommends automated processes; develops detailed plans for the design, development and implementation of new information management systems. Prepares detailed functional descriptions of user requirements, data components and procedures using data flow diagrams, entity relationship diagrams, and narrative documentation as well as other forms of technical documentation. May perform quality control testing.

Minimum Qualifications

The CIO's Process Management and Innovation (PMI), Systems Design, Development, and Implementation (SDDI) team develops and maintains 50+ custom applications built to support the U.S. Senate. The team includes approximately 20 staff comprised of software engineers, user experience designers, and quality assurance analysts who work together using Agile methods to develop software.

The current technology stack used by the team is Python, Django, Vue.js, and PostgreSQL, and applications are deployed to a containerized environment. Legacy systems are also maintained, including those written in Python and Django. SDDI is looking to fill a vacancy for a Principal Software Engineer position with complementary knowledge, skills, and abilities to join the team.
Successful candidates are experts and have a keen interest in the oversight of developing software solutions in a highly Agile environment (Kanban and Scrum) for the Senate, learning new skills, improving existing skills by working with experienced development teams, and sharing their knowledge with the team and with less experienced engineers. This is not a manager position and does not have direct reports. 

The person hired for this position must have the ability to work independently and with minimal supervision and will be responsible for designing and overseeing the development of software applications that meet the specific needs of the Senate. They will work closely with customers, product owners, and software engineers to identify and define business requirements, and technical specifications. This person is responsible for supporting existing applications while working on building new solutions. The SAA has generous training and professional development opportunities.

Work requires a Bachelor’s Degree in Information Technology or a related technical area; and eight to ten years experience in information technology and applications development; or any equivalent combination of education and experience that provides the following knowledge, abilities and skills:

  • Knowledge of a wide range of operating systems, database management systems and tools, two or more programming languages and utilities.
  • Knowledge of software development best practices.
  • Knowledge of structured and object-oriented engineering analyses, programming techniques and design methodologies.
  • Knowledge of project life cycle methodologies.
  • Ability to plan, organize and conduct systems analysis and evaluate processes and procedures.
  • Ability to manage critical systems development assignments.
  • Ability to plan, assign and review the work of assigned staff.
  • Ability to prepare and check structured and object-oriented programs.
  • Ability to prepare and maintain requirements analysis documents, system design documents and user correspondence.
  • Ability to resolve application, program, database and system problems.
  • Ability to communicate effectively.

Additional Required Qualifications:

  • Minimum of 10 years of experience with the Python programming language and Python web frameworks.
  • Minimum of 10 years of experience with JavaScript and JavaScript Frameworks
  •  Working knowledge and experience of the principles of Agile (e.g., Scrum, Kanban).
  • Working knowledge of Docker and running applications in a containerized environment.
  • Working knowledge of the principles of unit testing and continuous integration.
  •  Working knowledge of the principles of testing across multiple web browsers and platforms.
  •  Expert knowledge and skills, with a proven ability to lead large, complex projects from inception through to production release.
  • Expert ability to work and communicate effectively with clients, Software Engineers, and management in a highly visible, mission-critical environment both verbally and in writing.
  • Collaborates with Product Owners and Subject Matter Experts to understand their business needs and recommend solutions on large and/or complex projects.
  • Expected to make strategic decisions on the direction and scope of projects.
  • Advanced working knowledge and ability to implement CI/CD pipelines from scratch.
  • Ability to make and document recommendations of best practices, resources, and any alternative tools or technologies
  • to those outlined above.
  • Owns problems and works them to their resolution by collaborating with the right people and keeping management, peers, and teammates informed.

Optional Qualifications:

  • Scrum Master and/or Product Owner Certifications
  • Facilitator and/or coaching certifications
  • Mediation training

Physical Demands and Working Environment:

Work requires sitting and operating a computer for extended periods, with occasional standing, climbing, pulling and safely lifting up to 25 pounds. May occasionally work evenings or weekends to resolve problems or handle incidents.

 Licenses, Certification and Other Requirements

Professional certification(s) may be required. For education requirements please see Minimum Qualifications.

Conditions of Employment
To be employed by a Senate employing office in a paid position in the continental United States an individual must:
1. Be a U.S. citizen;
2. Be lawfully admitted for permanent residence and seeking citizenship as outlined in 8 U.S.C. § 1324b(a)(3)(B);
3. Be (i) admitted as a refugee under 8 U.S.C. § 1157 or granted asylum under 8 U.S.C. § 1158 and (ii) have filed a declaration of intention to become a lawful permanent resident and then a citizen when eligible; or
4. Owe allegiance to the U.S. (i.e., qualify as a non-citizen U.S. national under federal law).

Employment is contingent on background / security investigation results.  


The SAA provides a highly competitive benefits package for all SAA staff. Our benefits extend beyond health care coverage to help provide employees with student loan reimbursement, professional development, transportation subsidy, TSP/retirement savings, access to our Employee Assistance Program, and more! For more information regarding SAA’s benefits, please visit .


As an Equal Opportunity Employer, the SAA is committed to providing reasonable accommodations to applicants with disabilities. If you are interested in applying for employment with SAA and need special assistance or an accommodation to complete the application process, please submit your request to email with “Accommodation” in the subject line.


If you are identifying as veterans' preference eligible under the VEOA, please use this link  to complete your application for Veterans' Preference AFTER you apply for this position. The link will also be available on the "Thank You" page after you have submitted your job application.

Candidates only need to apply one time for veterans’ preference to be considered for all future veterans’ preference positions within the Senate Sergeant at Arms. 

  • All supporting documents must ONLY be provided within the Veterans’ Preference Application and within the stated deadline of the job announcement.
  • Late applications for veterans’ preference will not be considered.
  • Documentation to obtain veterans’ preference will not be considered if attached to the job application.
  • If you need to revise or resubmit your Application for Veterans' Preference/documents, please withdraw your previous Application for Veterans' Preference and resubmit. If you require assistance, please email
  • To view additional information regarding the VEOA, please click here .

An applicant who declines to self-identify as a disabled veteran and/or to provide information and documentation regarding his/her disabled veteran’s status will not be subjected to an adverse employment action, but the individual may be ruled ineligible for veterans’ preference.

Similar jobs