Software Engineer

Consula group ltd
yesterday

Role details

Contract type
Permanent contract
Employment type
Part-time / full-time
Working hours
Regular working hours
Languages
English
Compensation
£ 130K

Job location

Remote

Tech stack

Clean Code Principles
HTML
Java
JavaScript
API
Artificial Intelligence
Amazon Web Services (AWS)
Android
Software Applications
Confluence
JIRA
Unit Testing
Bash
Big Data
VoIP
C Sharp (Programming Language)
C++
CSS
Code Review
Databases
Continuous Integration
Dynamic Host Configuration Protocol
Software Debugging
Linux
Embedded Software
Ethernet
Firmware
Field-Programmable Gate Array (FPGA)
Github
Design of User Interfaces
Hardware Description Language
Python
PostgreSQL
Matlab
Machine Learning
Microsoft Visual Studio
Microsoft SQL Server
MySQL
Message Queuing Telemetry Transport (MQTT)
Network Protocols
Node.js
Raspberry Pi
Cloud Services
Selenium
Shell Script
Signal Processing
Simulink
Software Engineering
Software Requirements Analysis
Software Systems
Software Quality Assurance (SQA)
Software Testing Automation Framework
Subversion
Systems Integration
TCP/IP
Technical Data Management Systems
UML
Verilog
VHDL
Delivery Pipeline
Software Troubleshooting
GIT
Zigbee
Objective C++
Software Version Control
Jenkins

Job description

We are seeking a highly skilled Software Engineer to join our innovative team. The successful candidate will be responsible for designing, developing, and maintaining a wide range of software solutions across various platforms. This role offers the opportunity to work on cutting-edge projects involving embedded systems, IoT, machine learning, and big data analytics. The ideal applicant will possess strong technical expertise, excellent problem-solving skills, and a passion for developing high-quality software products., * Develop and maintain software applications using languages such as Python, C++, Java, C#, and JavaScript.

  • Design and implement firmware and embedded software solutions for hardware platforms including FPGA, ARM, Raspberry Pi, and other microcontrollers.
  • Collaborate with cross-functional teams to integrate APIs, optimise system performance, and troubleshoot complex issues related to signal processing, networking (Ethernet, TCP/IP, UDP), and security (encryption).
  • Conduct code reviews, unit testing, and software quality assurance to ensure robustness and reliability of deliverables.
  • Utilise version control tools such as Git, SVN, and GitHub for efficient code management.
  • Develop user interfaces (UI) using HTML, CSS, and frameworks like Node.js or Visual Studio.
  • Implement software testing automation frameworks and perform debugging to resolve bugs swiftly.
  • Work with cloud services such as AWS and utilise tools like Jenkins for continuous integration/deployment pipelines.
  • Analyse system requirements using UML diagrams and modelling tools like Confluence or MATLAB.
  • Solder components on circuit boards as needed for hardware-software integration projects involving IoT devices or signal processing modules.
  • Document technical specifications and collaborate on project management using Jira or similar tools.

Requirements

Do you have experience in Python?, * Proven experience in software development with a strong background in embedded systems programming using C/C++, Python, or Java.

  • Familiarity with FPGA design workflows and hardware description languages such as VHDL or Verilog is desirable.
  • Hands-on experience with Android application development using Objective-C or Java is advantageous.
  • Knowledge of database management systems including MySQL, Microsoft SQL Server, or PostgreSQL.
  • Proficiency in Linux operating systems along with shell scripting (Bash) for automation tasks.
  • Experience working on Internet of Things (IoT) projects involving Zigbee, MQTT protocols, or Raspberry Pi platforms.
  • Strong understanding of network protocols such as TCP/IP, DHCP, VoIP, WAN/LAN architectures.
  • Ability to perform signal processing analysis using MATLAB or Simulink; familiarity with UML modelling techniques is preferred.
  • Demonstrated skills in software troubleshooting, test automation frameworks like Jenkins or Selenium, and version control systems such as Git or SVN.
  • Excellent analysis skills with the ability to interpret complex technical data and develop innovative solutions. This role offers an exciting opportunity to contribute to pioneering projects within a dynamic environment that values technical excellence and continuous learning. We seek motivated individuals eager to develop their careers in a collaborative setting focused on technological innovation across multiple domains including AI, machine learning, big data analytics, and IoT systems.

Apply for this position