HamburgerMenu
hirist

Perforce Software - Senior Software Engineer - C++

Perforce
Pune
5 - 10 Years
star-icon
4.1white-divider21+ Reviews

Posted on: 03/08/2025

Job Description

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

- Solid understanding of modern cloud applications and concepts, such as fault tolerance, scalability, and consistency

- 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


info-icon

Did you find something suspicious?