Position Title: Software Engineer
Location: Walton on Thames
* The heart of a startup.
* The stability of an established company.
* Software that accelerates innovation at the world's leading companies.
Apply to Perforce today if this sounds interesting to you! We're a leading
global software company looking for smart, fun, talented team members. At
Perforce, you'll enjoy competitive benefits while working with and learning
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:
**Position Summary**
The Software Developer will be responsible for developing code for PRQA
projects from a technological perspective, ensuring that the code quality and
software development life cycle activities are consistent with the company
Standards and Quality procedures. She/he need to be passionate about creating
commercially viable high performance technological solutions that meet the
needs of demanding, large, global, multi-national customers.
The Software Developer is accountable to the Project Lead/Manager but can have
responsibility as a Project Lead/Manager as well. He/she will be responsible
for participating in team meetings and communicating appropriate project and
tasks status. The Software Developer will be part of a team of peers working
on highly technical, software architecture initiatives. Job duties include,
but are not limited to research, tools evaluation, documenting patterns,
design and standards, contributing into defining technology strategy,
technology evaluation and recommendation, writing code for solutions.
Software Developer must be able to take high level direction when necessary,
formulate a plan to achieve the goals and execute the plan. In this capacity
the Software Developer is accountable solely to a R&D Director. Software
developer will be expected to work on multiple tasks and initiatives
Software Developer must have some architectural analytical, good problem
recognition and solving skills - ability to identify and clearly document
technical issues.
**Essential Functions**
* Contribute into software development efforts. This involves being intimately involved with all technical activities of the various development groups (software development life cycle activities, coding, code reviews, research, etc.). This will likely also involve mentoring of the development project team developers.
* Work within R&D Department on technical initiatives. This will likely involve vision setting, researching, training, coding, and all phases of the software development life cycle.
* Work closely and assist business analysts during the elicitation, analysis, negotiation, specification and verification of requirements and quality attributes for software projects.
* Be accountable for ensuring that the direction set by the R&D Department generally accepted best practices are followed.
* Produce project design specifications in line with requirements, that exhibit desired qualities and that enable a project to be delivered by multiple, globally-dispersed development teams.
* Clearly document the design of the tasks in ways that are consumable by the various stakeholders: managers, partners, consultants, sales & marketing, developers, end-users.
* When required produce and present architectural project designs for stakeholders of varying technological expertise, encompassing packaging, runtime, static, code, build, dependency and test specifications and demonstrate the validity of architectural specifications with respect to requirements and company goals, objectives, policies and strategies to stakeholders with varying technological expertise.
* Provide technical assistance in negotiations with outsourcing companies.
* Communicate specifications and provide technical direction to the various in-house, off-shores and outsourced development teams.
* Produce accurate estimates for tasks and assist project scheduling activities.
* Assist in design, development and maintenance of development infrastructure for the various development teams in line with the project development strategy laid down by the Research & Development Director - code and commit management, build scripts, dependency management, packaging and publishing.
* Analyze and manage project change requests for architectural impact, requirement and quality compatibility, and schedule slippage.
* Positioning Programming Research Ltd for the future.
* Provide feedback to the R&D Director on issues/ideas encountered while working within the development project teams.
* Adherence to time and metric's tracking.
**Required Education, Experience and Skills**
* Capable and competent in analysing the company's software, to whatever level necessary, in order to ensure that the software is consistent with company goals, objectives, strategies and requirements.
*  Competent in communication and presentation his/her knowledge to all relevant stakeholders. This invariably involves writing documentation and the communication and presentation of it.
* Competent in understanding of the software development paradigms, methodologies and standards employed in the various industry sectors within which the organisation's customers operate:  automotive, aerospace, defence, telecoms and finance.
* Competent to ascertain and specify software quality attributes through the understanding of the organisation's commercial goals, objectives, policies and strategies and to balance technical requirements with them.
* Competent to quickly understand functional requirements and technical designs that exhibit desired qualities in line with company policies, strategies and customer needs.
* Competent to listen to criticism and be assertive in communicating and defending the integrity of projects in the face of vested interests and the ability to accept valid critiques.
* Competent in Object-Oriented Programming, Specification and Documentation in C/C++
* Competent in Data Modelling:  Database and XML Schema Design
* Competent in Documentation Management, including UML use case diagrams & descriptions, class & component modelling, sequence & activity modelling and source code documentation tools and techniques.
* Competent in Multi-platform project design and specification.
* Competent to work with different compilers
**About Perforce**
Enterprises across the globe rely on Perforce to build and deliver digital
products faster and with higher quality. Perforce offers complete developer
collaboration and agile project management tools to accelerate delivery cycles
-- from agile planning tools to requirements, issues and test management, which
then link to all source code, binary assets and artifacts for full build and
release tracking and visibility. The company's version control solutions are
well known for securely managing change across all digital content -- source
code, art files, video files, images, libraries -- while supporting the
developer and build tools your teams need to be productive, such as Git,
Visual Studio, Jenkins, Adobe, Maya and many others. Perforce is trusted by
the world's most innovative brands, including NVIDIA, Pixar, Scania, Ubisoft,
and VMware. The company has offices in Minneapolis, MN, Alameda, CA, Mason,
OH, the United Kingdom, Finland, Sweden, Germany, and Australia, and sales
partners around the globe. For more information, please visit
**Perforce is an Equal Opportunity Employer: Minorities, Women, Veterans, Disabilities**