Principal Software Engineer I

Posted 4 Days Ago
2 Locations
Remote or Hybrid
146K-175K Annually
Expert/Leader
Software
The Role
The Principal Software Engineer will develop high-performance solutions and debugging tools for parallel environments, focusing on C++ and UI development. Responsibilities include designing algorithms, debugging, and contributing to full software life cycle in HPC contexts.
Summary Generated by Built In
Perforce is a community of collaborative experts, problem solvers, and possibility seekers who believe work should be both challenging and fun. We are proud to inspire creativity, foster belonging, support collaboration, and encourage wellness. At Perforce, you’ll work with and learn from some of the best and brightest in business. Before you know it, you’ll be in the middle of a rewarding career at a company headed in one direction: upward.  
  
With a global footprint spanning more than 80 countries and including over 75% of the Fortune 100, Perforce Software, Inc. is trusted by the world’s leading brands to deliver solutions for the toughest challenges. The best run DevOps teams in the world choose Perforce.  

Position Summary:

We’re currently searching for a Principal Software Engineer to join the Team. The Principal Software Engineer will have extensive experience in software engineering with the ability to build robust, scalable, and high-performance solutions that meet the evolving needs of the business. They will design, modify, and develop software for the TotalView high-performance parallel debugger. Be part of a dedicated team building the latest HPC debugging and performance tools for demanding, massively parallel environments. The candidate will focus on core engineering tasks, including compiler and debugger-related development, while contributing to UI development as needed. 

Responsibilities:

  • Design and develop new and advanced features in C++ on a variety of cross-platform Linux/UNIX/Mac OS X platforms. 
  • Work on compiler and debugger-related tasks, including designing efficient workflows and algorithms for massively parallel environments. 
  • Contribute to UI development using Qt and C++ to create efficient and user-friendly interfaces as needed. 
  • Aid in efficient debugging, dynamic analysis, data collection, data reduction, and scalability for advanced parallel applications. 
  • Design and develop efficient workflows and algorithms to work in massively parallel environments to aid in efficient debugging, dynamic analysis, data collection, data reduction, and scalability for today’s advanced parallel applications. 

Requirements:

  • Familiarity with software debuggers and how they work. 
  • Ideally, will have been part of a  team building the latest HPC debugging and performance tools for demanding massively parallel environments. 
  • Design and develop new and advanced features in C++ on a variety of cross-platform Linux/UNIX/Mac OS X platforms. 
  • 10+ years of industry-level experience with a proven track record of successful development. 
  • 7+ years of C++ experience, including development using STL and C++ templates. 
  • Experience in parallel/multi-process computing environments, especially HPC environments. 
  • Knowledge of MPI and OpenMP parallel programming models, as well as compiler design and implementation. 
  • Familiarity with ELF/DWARF object file formats and symbol tables. 
  • Experience developing multi-threaded programs and working in different UNIX/Linux environments. 
  • Familiarity with client/server architecture, including request/response protocols, session management, and data serialization techniques. 
  • Experience developing user interfaces for desktop-based applications using Qt. 
  • Demonstrated test-driven development and the ability to work and plan independently while sharing knowledge with others. 
  • Strong problem-solving and analytical skills, with the ability to quickly understand and address complex technical challenges. 
  • Excellent communication and collaboration skills, with the ability to effectively work within a cross-functional team 
  • Knowledge of common C++ design patterns and the ability to use them when necessary 
  • Agile/scrum development experience 
  • Experience with Jenkins or other CI systems 

Nice to Have:

  • Python development experience. 
  • NVIDIA GPU development experience. 
  • AMD GPU development experience. 

Additionally, this position is eligible for benefits including, but not limited to, medical, dental, vision, retirement benefits, life insurance, wellness programs, total time off, and other employee perks that may be offered by Perforce from time to time. The actual offer will depend on a number of factors including, but not limited to, a candidate’s education, skills, qualifications, depth of experience and other relevant business considerations. Perforce reserves the right to amend or modify employee perks and benefits at any time. 

Come work with us! Our team members are valued for their contributions, introduced to new opportunities, and rewarded well. Perforce combines the experience and rewards of a start-up with the security of an established and privately held profitable company.
 
If you are passionate about the technology that impacts our day-to-day lives and want to work with talented and dedicated people across the globe, apply today!
 
www.perforce.com
 
Please click here for: EOE & Belonging Statements | Perforce Software

Top Skills

C++
C++ Templates
Jenkins
Linux
Mac Os X
Mpi
Openmp
Qt
Stl
Unix
Am I A Good Fit?
beta
Get Personalized Job Insights.
Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.

The Company
HQ: Minneapolis, MN
1,135 Employees
Year Founded: 1995

What We Do

The best run DevOps teams in the world choose Perforce to remove bottlenecks to speed up and deliver app experiences that move the needle. With Perforce’s suite of products built to develop and maintain high-stakes applications, companies can finally manage complexity with efficiency, achieve speed without compromise, and run their DevOps toolchains with full integrity. Perforce gives customers a DevOps Edge, from code to business-ready.

But at the heart of our success is the people. We are a global community of collaborative experts, problem solvers, and possibility seekers who believe in making work both challenging and fun. Join us and you’ll work alongside the brightest in the business, driving innovation and growing in a career that’s moving in one direction: upward!

Similar Jobs

Elastic Logo Elastic

Principal Software Engineer

Cloud • Security • Software • Generative AI
Remote
United States
3222 Employees
200K-316K Annually
Remote
3 Locations
2331 Employees

WeLocalize Logo WeLocalize

Korean Speaker Lyric Reviewer

Machine Learning • Natural Language Processing
Remote
3 Locations
2331 Employees
13-13 Hourly
In-Office or Remote
36 Locations
2331 Employees

Similar Companies Hiring

Standard Template Labs Thumbnail
Software • Information Technology • Artificial Intelligence
New York, NY
10 Employees
PRIMA Thumbnail
Travel • Software • Marketing Tech • Hospitality • eCommerce
US
15 Employees
Scotch Thumbnail
Software • Retail • Payments • Fintech • eCommerce • Artificial Intelligence • Analytics
US
25 Employees

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account