Doug Whitfield

Doug Whitfield at

New job listing today.

Job Description
Position Title:   C++/Database Software Engineer
Location:          Walton-on-Thames
Reports to:       Development Manager
  • 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: upward.  

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 Development 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 the Development Manager. Software developer will be expected to work on multiple tasks and initiatives concurrently.

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 Development Manager - 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 Development Manager 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 Object-Oriented Programming, Specification and Documentation in C/C++
  • Competent in Data Modelling:  Database and XML Schema Design
  • Experience of one or more database technologies, preferably including SQLite and at least one Server based DB (i.e. SQL, Postgres, Oracle, NoSQL, BerkeleyDB, MariaDB)
  • Experience developing on multiple platforms (e.g. Windows, Linux, Mac)
  • Experience with Qt, Google Protocol buffers
  • Knowledge of HDF5
  • 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 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

McClane likes this.

McClane shared this.

a little intimidating lol

McClane at 2019-01-04T18:50:16Z

I can't say about that division in particular, but when I got my job they were asking for "git" experience. My experience was limited to using GitHub and GitLab for looking at code and the occasional git clone. I had done no real versioning, because I am not a developer. 

"Knowledge of HDF5" might just mean do you know wtf that is. I don't! Of course, I'd look that up before an interview lol.

But yeah, that division makes software that does code analysis, so they probably need good developers.

Doug Whitfield at 2019-01-04T22:28:28Z

McClane likes this.