Position Summary:
- Perforce is searching for a Senior Software Engineer to join their team. The Senior Software Engineer will be responsible for developing and implementing software solutions on our C++ Visualization software which is used within critical customers systems worldwide. You will work as part of a passionate development team while collaborating with cross-functional teams to drive innovation and ensure the delivery of high-quality products.
Responsibilities:
- Collaborate with cross-functional teams to design, develop, and maintain software applications.
- Design and develop distributed systems, ensuring fault tolerance, scalability, and performance.
- Conduct thorough code reviews and provide constructive feedback to ensure code quality and adherence to best practices.
- Identify and troubleshoot software defects and performance bottlenecks. Stay up to date with emerging technologies and industry trends and apply them to improve software development processes and outcomes.
- Contribute to the continuous improvement of development methodologies and practices within the team
- May be required to support additional products/brands as needed.
Requirements:
- Bachelor's degree in computer science (or equivalent)
- 5+ years industry level experience and a proven track record of successful development
- 3+ years C++ experience including development experience using STL and C++ templates
- Demonstrated test driven development; and the ability to work and plan independently but also willing to share knowledge with others.
- Agile/scrum development experience
- Experience with test automation and CI/CD to ensure product quality
- Strong proficiency in configuration management practices and tools.
- Experience in developing and maintaining software applications in a collaborative team environment.
- 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
- High proficiency in C++, especially modern C++ such as C++11 and above
- Understands CMake based build systems
- Knowledge of system APIs for Linux and Windows (GDI, GDI+, Direct2D, X11, Wayland)
- Ability to work with Linux – shell use and basic scripting
- Experience with Jenkins
- Knowledge of common C++ design patterns and the ability to use them when necessary
- Clear understanding of the principles of object-oriented design
- Experience developing user interfaces for desktop based applications; dealing with large amounts of data and designing efficient concise ways to display it; and having a good sense of UX along with strong UI development skills are a plus.
- Experience developing multi-threaded programs; developing in different UNIX/Linux and Windows environments; TCP/IP network programming.
Nice to have:
- Knowledge of Java or C#
- Experience with make
- Python development experience
Similar Jobs
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!







