Principal Software Engineer

TCOM

Sioux Falls (SD)

On-site

USD 120,000 - 180,000

Full time

38 hours ago
Be an early applicant
Application generator

A complete application in a minute — tailored resume and cover letter, ready to send.

Get past ATS filters

Job summary

TCOM is seeking an Software Engineering Manager to lead software engineers and team leads, shaping architecture and engineering practices across the organization. You will manage staffing, performance, and resource allocation while enabling teams to deliver complex software products.

This role combines deep technical expertise with strong leadership, requiring engagement in architecture, design, risk assessment, and continuous improvement.

Qualifications

  • Bachelor’s degree in a related technical field.
  • 8+ years of professional software engineering experience.
  • 2+ years of experience leading software engineers or technical teams.
  • Strong depth in software architecture, system design, development, integration, debugging, testing.

Responsibilities

  • Lead, coach, and develop software teams and engineers.
  • Manage staffing, performance, and career development.
  • Champion technical excellence, accountability, and continuous improvement.
  • Engage deeply in architectural discussions and challenge assumptions.
  • Ensure plans, estimates, resources, and outcomes are clear and measurable.
  • Coordinate with multiple engineering disciplines to deliver complex software products.

Skills

Leadership
Software architecture
CI/CD
Communication

Education

Bachelor’s degree in Software Engineering, Computer Science, Computer Engineering, Electrical Engineering, or related field

Tools

Linux
C/C++
Python
Web applications
Containers

Job description

The Software Engineering Manager is responsible for the people, capabilities, processes, and technical health of the software engineering organization. This role leads software engineers and software team leads, manages staffing and resources, strengthens software engineering practices, and helps ensure teams successfully deliver complex software products.

This is a deeply technical management position requiring a strong software engineering background. The Software Engineering Manager is expected to develop a thorough understanding of the architecture, design, and operation of the software systems under their organization. While not the primary technical lead on every project, this person must be able to engage deeply enough to understand how systems work, recognize technical risks and questionable design directions, challenge assumptions, and help software leads and engineers make sound engineering decisions.

This role requires a leader who combines technical depth with humility—someone who seeks to understand before directing, values the expertise of others, and views their role as enabling engineers and technical leads to do their best work.

Essential Duties and Responsibilities
People and Organization
  • Lead, coach, and develop software team leads and software engineers.
  • Manage hiring, performance, career development, promotions, and other personnel responsibilities.
  • Build a culture of technical excellence, accountability, collaboration, and continuous improvement.
  • Lead with humility, curiosity, and respect for the expertise of others; seek to understand problems and perspectives before drawing conclusions.
  • Enable software leads and engineers to succeed by providing clarity, removing obstacles, securing needed resources, coaching through challenges, and giving teams appropriate ownership of their work.
  • Allocate software resources across development efforts and maintain staffing and capacity plans.
  • Estimate labor and skill requirements for upcoming projects and proposals.
  • Manage contractors and supplemental engineering resources as needed.
Software Engineering Leadership
  • Develop and maintain a strong working knowledge of the architecture, design, interfaces, operation, and technical challenges of the organization’s major software systems.
  • Engage deeply in technical discussions with curiosity and respect, asking questions and challenging assumptions while recognizing the expertise of the engineers closest to the problem.
  • Develop a deep understanding of the organization’s software systems while preserving clear technical ownership within the teams.
  • Promote effective software architectures, engineering practices, standards, tooling, automation, and reuse.
  • Recognize architectural weaknesses, technical risks, unnecessary complexity, and other issues that may affect system reliability, maintainability, or future development.
  • Challenge technical assumptions and decisions when appropriate while maintaining clear ownership and accountability within software teams.
  • Lead a software engineering community of practice to share knowledge, align standards, and address cross-team technical challenges.
  • Create an environment where engineers can openly raise concerns, acknowledge uncertainty, challenge decisions, and learn from mistakes without defensiveness or blame.
  • Help teams make appropriate technical tradeoffs between schedule, cost, performance, risk, and maintainability.
Planning and Execution
  • Ensure software teams have clear plans, realistic estimates, appropriate resources, and measurable outcomes.
  • Maintain sufficient technical and execution visibility to identify problems early and understand whether development efforts are progressing in a sound direction.
  • Hold software leads accountable for understanding the work and technical health of their teams.
  • Support project planning, estimation, resource management, progress reporting, and corrective actions.
Cross-Functional Leadership
  • Collaborate with Chief Engineers, Engineering Execution, Product Management, Product Assurance, and other engineering disciplines.
  • Coordinate software activities with electrical, mechanical, aerospace, systems, test, production, and operations teams.
  • Support proposals, technical estimates, statements of work, and customer discussions.
  • Represent software engineering in organizational planning and engineering leadership activities.
Qualifications
Required
  • Bachelor’s degree in Software Engineering, Computer Science, Computer Engineering, Electrical Engineering, or a related technical field.
  • 8+ years of professional software engineering experience developing complex software systems.
  • 2+ years of experience leading software engineers or technical teams.
  • Strong technical depth in software architecture, system design, development, integration, debugging, and testing.
  • Demonstrated ability to understand complex software systems at both the architectural and implementation level.
  • Experience reasoning about system behavior, interfaces, dependencies, failure modes, performance, and technical tradeoffs.
  • Strong understanding of modern software development practices, configuration management, automated testing, CI/CD, and software lifecycle management.
  • Strong project planning, estimation, resource management, prioritization, and communication skills.
  • Demonstrated leadership characterized by humility, curiosity, accountability, and respect for the expertise and contributions of others.
  • Ability to challenge technical decisions constructively, receive challenge without defensiveness, and change direction when presented with better information.
Preferred
  • Previous software engineering management experience.
  • Experience with embedded, distributed, networked, or mission-critical software.
  • Experience with Linux, C/C++, Python, web applications, containers, and related technologies.
  • Experience developing multidisciplinary products involving software, electronics, communications, sensors, or physical systems.
Working Conditions

Work is primarily performed in an office and engineering development environment. Occasional work outside normal business hours may be required to address significant project or operational needs.

Occasional travel may be required to customer, test, or field locations within the United States or internationally.

What Success Looks Like

The Software Engineering Manager understands the organization’s major software systems well enough to recognize when teams are on a sound technical path and when deeper investigation or intervention is needed. Software leads and engineers have meaningful ownership of their work and are supported by a manager who provides clarity, removes obstacles, asks difficult questions, and helps them succeed. Problems are identified early, commitments are realistic, technical decisions are sound, and teams operate with accountability, trust, and respect.

Equal Opportunity Employer/Protected Veterans/Individuals with Disabilities
This employer is required to notify all applicants of their rights pursuant to federal employment laws.For further information, please review the Know Your Rights notice from the Department of Labor.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Software Engineering Manager
Software Engineering Manager

NPAworldwide • Sioux Falls (SD)

On-site
USD 160,000 - 190,000
Software Engineering Manager
Software Engineering Manager

Job Juncture • Sioux Falls (SD)

On-site
USD 160,000 - 190,000
Software Engineering Manager
Software Engineering Manager

Talentify • New York (NY)

On-site
USD 150,000 - 190,000
Software Engineering Manager
Software Engineering Manager

ED Wallach Search Group • Sioux Falls (SD)

On-site
USD 120,000 - 180,000
Engineering Manager
Engineering Manager

Ampact • Minnesota

On-site
USD 120,000 - 180,000
Software Engineering Manager
Software Engineering Manager

General Atomics • San Diego (CA)

On-site
USD 126,000 - 230,000
Software Engineering Manager
Software Engineering Manager

TempWorks Software, Inc • Minneapolis (MN)

On-site
USD 120,000 - 180,000
Software Engineering Manager
Software Engineering Manager

The Ed Wallach Search Group • Sioux Falls (SD)

On-site
USD 120,000 - 190,000
Software Engineering Manager
Software Engineering Manager

thehivecareers.co • San Juan (PR)

On-site
USD 140,000 - 180,000
Engineering Manager: Lead Scalable, Secure Software
Engineering Manager: Lead Scalable, Secure Software

United Network for Organ Sharing (UNOS) • Richmond (VA)

On-site
USD 140,000 - 190,000