
Senior Software Engineer

Perforce Software
Summary
Join Perforce, a collaborative community of experts, and contribute to the development and maintenance of large-scale web applications. You will work with a team of talented engineers, using agile methodologies to design, develop, and test features for our cloud-based applications. This role requires extensive experience in full-stack development, cloud technologies (Java, Spring, Keycloak, Rest API), and modern containerization techniques (Docker). You will also be responsible for mentoring junior engineers and ensuring high-quality code. The position offers a competitive salary and benefits package, including medical, dental, vision, retirement, life insurance, wellness programs, and paid time off. Remote work may be possible within the greater Cincinnati area.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, or a similar field, and 5 years of progressive post-baccalaureate experience as a Software Developer, Software Engineer or related occupation performing software development
- 5 years of experience with full stack development
- 5 years of experience in building large-scale web applications
- 5 years of experience working with cloud based back end microservices including Java, Spring, Keycloak, Rest API
- 5 years of experience with mobile application testing platform
- 5 years of experience with Git, including branching, merging, and conflict resolution
- 5 years of experience working with modern cloud applications and concepts, with solid understanding of fault tolerance, scalability, and consistency
- 5 years of experience with Agile software development
- 5 years of experience with creating modern containerized applications with Docker and container orchestration
- 5 years of experience with continuous integration and continuous delivery (CI/CD)
- 5 years of experience with monitoring, logging and alerting for 24x7 cloud applications; and 2 years of experience working with React.js , Javascript, CSS, HTML5
Responsibilities
- Implement new features and enhancements to existing features in a dynamic and challenging codebase
- Design tech solutions, interact with Software Architects and develop code according to the design using agile methodology
- Implement new features arriving from product based on customer and internal needs
- Guide and mentor more junior software engineers in the team to ensure that team maintains a high quality of work product
- Maintain existing functionality, to keep it current in a rapidly changing environment
- Update code to keep it current, adjust to new revisions, perform upgrades of third party components
- Develop unit and integration tests for newly developed features and maintain exiting tests
- Add developed tests to automation harness
- Perform testing before or during the development
- Write integration tests or end to end tests using live services like DB
- Create tasks and estimates through the Agile software development process to satisfy product management, especially prioritizing backlogged items
- Elaborate feature requirements with Product Manager/ Product Owner
- Break down feature to code development tasks
- Provide Engineering estimates (development & test time, necessary resources, etc.)
- Design the development to epics (contains multiple stories) and stories (tasks)
- Plan the sprint (2-3 weeks) with relevant stories
- Write up issues found during active development to ensure that problems are solved immediately
- Report issues found during development / testing in the issue tracking system
- Work with modern cloud applications to analyze fault tolerance, scalability, and consistency
- Conduct branching, merging, and conflict resolution using Git
- Create modern containerized applications with Docker and container orchestration
- Conduct continuous integration and continuous delivery (CI/CD)
- Monitor, log, and alert for 24x7 cloud applications
- Add new tasks based on identified issues and work with Product Management to add them to the prioritized backlog
- Document identified functional and technical enhancements to the application to keep meticulous records of the product
- Provide write ups and guidance to Tech Writers on newly developed functionality write to describe the feature, the best practices and limitations
- Participate in code reviews as both a reviewer and as one being reviewed to ensure continuous improvement
- Participate regularly in reviews a Reviewee, make changes decided during review
Benefits
- Medical
- Dental
- Vision
- Retirement benefits
- Life insurance
- Wellness programs
- Total time off
- May work remotely from within the greater Cincinnati area
Share this job:
Similar Remote Jobs

