Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a highly skilled Software Engineer to join our dynamic development team. The successful candidate will be responsible for designing, developing, and maintaining innovative software solutions across various platforms. This role offers an excellent opportunity to work on diverse projects, utilise a broad range of programming languages and tools, and contribute to the realisation of cutting-edge applications. The ideal applicant will possess strong technical expertise, excellent problem-solving skills, and a passion for software development., * Design and specification of new applications, including all design documentation based on thorough analysis of user requirements
- Creating new software components and drivers
- Modifying and extending existing software components and drivers
- Writing, maintaining and executing unit tests as a core part of the development lifecycle
- Testing code, refining and refactoring as necessary
- Reviewing code against the design and coding standards
- Working with project managers, designers, other developers, systems analysts and sales and marketing professionals
- Creating and maintaining full documentation sets for all new, or updated applications, algorithms and processes
Duties
Providing diagnostics and bug fix, including:
- Logging reported faults/change requests
- Investigating reported faults and bugs and implementing fixes/solutions
- Maintaining fault and software documentation and change management, recording all changes to software
- Working within an 'Agile' project framework and delivering packages of work on time
- Checking all files into the Company's document control system and source control system as appropriate, including all required information
- Providing remote support to users via TeamViewer when needed
- Develop products and features which are in line with the overall product strategy and roadmap
- To engage in activities delivering changes and improvements that provides costs savings, efficiencies and process improvements
- Developing and testing code in actual machines, including machine operation and troubleshooting, supported by the subject matter experts
- Occasional domestic and/or international travelling may be required
Requirements
- C++ and C# with NET Framework, and common design patterns used with them
- XML and WPF/XAML
- Windows desktop application development
- Visual Studio 2017 and newer, and Visual Studio Code
- Git version control systems
- Code testing, debugging and troubleshooting
- Best coding practices to minimize risk of bugs and side effects, and improve code readability and maintenance
- MS Word, Excel, PowerPoint, Visio
- Must be able to read, write and modify code reliably without requiring assistance from AI tools
Desirable:
Experience with:
- Installing and setting up computer's hardware, BIOS, operating system and applications in general
- Embedded systems, especially STM32 using Keil
- SVN version control systems (Tortoise SVN)
- C++/CLI with NET Framework
- Real-time control systems, especially VxWorks-based
- Supporting users remotely (i.e. TeamViewer)
- Jira, as administrator if possible
- Old Visual Studio versions such as 2005
- Microsoft SQL Server
- Enterprise Architect software
- Updating/refactoring existing codebases to use new language features/versions, libraries or frameworks
- Software development methodologies such as Agile and others, * Diploma of Higher Education (required)
Benefits & conditions
Job Types: Full-time, Permanent
Pay: £40,000.00-£45,000.00 per year
Benefits:
- Additional leave
- Bereavement leave
- Casual dress
- Company pension
- Flexitime
- Free parking
- Health & wellbeing programme
- Life insurance
- On-site parking
- Private medical insurance
- Referral programme
- Sick pay
- Work from home