Software Developer (Senior) Ref. 311
Full time, part time & flexible working patterns will be considered.
HMGCC has a unique and exciting opportunity for Senior Software Developers to join our growing 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 will provide technical expertise and leadership in the design and development of imaginative solutions to unique communications problems. You will be responsible for providing key input into the management of customer relationships and delivering products (technical direction and development strategy) and will undertake to mentor or coach more junior engineers.
Our work is hugely varied. Project time scales range from a couple of weeks to a few years, and we use a huge variety of technology stacks, so we need versatile 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 have:
- Proven experience in taking a leading role in the development of software systems
- Practical knowledge of software engineering (that is, requirements capture, system analysis, design for test)
- Proven experience in application and/or kernel development for one or more of Windows, Linux, macOS, Android or iOS
- Proficiency in one or more of C, C++, C#, Java or Objective-C
The following are desirable and would strengthen your application:
- Knowledge of Networking and Communications (e.g. TCP/IP, HTTP, Protocol Buffers, application of encryption and compression)
- Experience with e-mail protocols and applications
- Knowledge of data integrity and information assurance
- Experience of mentoring staff in the area of software development
- Degree educated in a relevant discipline or equivalent experience
Example Software Engineering Roles
- Windows Developer - Platform Security: Developing applications for the Microsoft Windows platform, working in Microsoft Visual Studio in C, C# or C++.
- Technologies used: .NET Framework, Internet protocols.
- Knowledge required: Platform Security Products (e.g. anti-virus, firewalls etc), Windows Internals, HCI, Encryption
- Cross-platform Developer - Messaging & Data Infrastructure: Developing applications for Linux and Windows, working in C, C++ and/or Java.
- Technologies used: message protocols (SMTP, X400), TCP/IP networking, UNIX and Windows systems programming.
- Windows Application and Web Developer: Developing Microsoft Windows applications to configure and control communication systems developed by HMGCC. Design for usability is key and a developer is expected to produce software that makes the complicated appear simple.
- Technologies used: C#, ASP.NET, SQLServer, .NET Framework, USB devices, Human Interface Devices and TCP/IP. Knowledge of C, C++ and a scripting language such a Python would be useful.
- Mobile Application Developer: Developing applications for the Android and iOS platforms, working in Java, Objective-C and/or Swift.
- Technologies used: TCP/IP, encryption, databases, USB devices, Bluetooth, sensors, GPS. Knowledge of UX principals, Linux/UNIX and a scripting language such a Python would be useful.
- Cross-platform Developer - Telecommunications: Developing large-scale networked systems for Linux and Windows, working in C/C++, C#, Java and Web Technologies
- Technologies used: Java, .NET Framework, Python, Internet Protocols, MySQL, Application Servers (Wildfly, Glassfish), Messaging (JMS/AMQP), Elastic Stack, REST, Puppet
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 skill 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 and decide how you want to get the work done, as long as you can deliver. We ask that in return you have a willingness to learn and take on responsibility.
1. Design, develop and document software to the highest standards.
2. Verify designs by creating and implementing functional tests and performing code review.
3. Provide product support and investigate reported defects.
4. Contribute to project planning and meetings.
5. Supervise or mentor less experienced engineers.
Firstly, you will 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.
To find out more about HMGCC and how we are truly individual both as an organisation and an employer visit our 'about us’ page.
*If you are relocating to the area then we can discuss the possibility of a relocation package.