Software Developer Ref. 577
Full-time, part-time and flexible working patterns available
HMGCC has a unique and exciting opportunity for Software Developers to join our Team.
HMGCC aspires to be the best place you’ll ever work - we’ll invest heavily in your career development through technical training programmes, professional accreditation, mentoring and on-the-job training.
You and your team will work on software solutions that solve real, and often unique, technical problems. As an Experienced Software Developer, you’ll be expected to deliver work packages both independently and collaboratively, but always with support when needed. You may also take on the responsibility of mentoring or coaching other engineers.
Our work is hugely varied, and our project time scales range from a couple of weeks to a few years. You’ll be working across a variety of technology stacks, so we need adaptable and passionate people to tackle new problems as we continue to push technology forward. At HMGCC you’ll see how your work can really make a difference.
We need you to already be able to:
- Design, develop and test software in one or more of C, C++, C# or Java
- Develop for one or more of Windows, Linux, macOS, iOS or Android
- Understand and intelligently debug both existing and new software
- Deliver modules of software systems unaided
- Deploy your practical experience of software engineering (requirements capture, system design, design for test)
The following are desirable and would strengthen your application:
- Experience of object-oriented programming
- Reasoning about the performance of different data structures and algorithms
- Knowledge of Networking and Communications (e.g. TCP/IP, HTTP, Protocol Buffers, application of encryption and compression)
- Scripting skills using Python, PowerShell or Bash
- Experience of TDD / Agile / Scrum
- Experience of Unit Testing and Static Analysis
- Experience of Continuous Integration and Delivery pipeline supporting technologies
Putting your skills to use
What makes HMGCC different is that you’ll have the opportunity to get involved in the whole process. You’ll use your skills and experience to create a wide range of components whilst working with a variety of customers and design engineers. We’ll give you the opportunity to be creative, working in your own way, as long as you deliver. We ask that in return you have a willingness to learn and to take on responsibility.
- Design, develop and document software to the highest standards
- Verify designs by creating and implementing functional tests and performing code reviews
- Provide product support and investigate reported defects
- Contribute to project planning and meetings
You’ll need to submit a short application form and complete an online programming test. This will assess your problem solving, debugging and diagnostics skills. If successful, you will be invited to interview.
Interviews are held in two rounds. Your first will be a technical interview; if you are successful at this stage, you will be invited back for an HR and Occupational Psychologist interview.
* If you are relocating to the area then we can discuss the possibility of a relocation package.
Please note shortlisting will not be carried out until after the closing date for this role.