Senior Embedded Software Engineer (Full Time) Galway, Ireland Description Mbryonics is at the forefront of free space optical communications.
Our product portfolio covers a wide range of emerging technologies from photonic integrated circuits to advanced optical systems and embedded software solutions.
Our optical communications systems are integrated and deployed in satellite communications systems.
Our work is exciting and challenging and is at the forefront of the technology domains.
Role: As a Senior Software Engineer, you will be working alongside the entire multidisciplinary Mbryonics team.
Our team comprises photonics engineers, optical engineers, mechanical engineers, software engineers, mechatronics engineers, digital engineers, physicists, mathematicians, con-ops engineers, and business operations specialists.
You will be a Lead and mentor to a team of various levels, leading by example.
You will be involved in all stages of the software development life cycle from requirements gathering, design, implementation, testing, and maintenance on unique cutting-edge technologies.
Responsibilities Developing software on a variety of embedded platforms, from microcontrollers interfacing with peripheral devices to powerful embedded controllers running full operating systems with advanced networking capabilities.
Developing architectures, APIs, and technical requirements to ensure that our systems meet business needs and scale to support dynamic market requirements.
Helping to grow and manage our CI/CD platforms to accommodate complex versioning and testing operations.
Leading by example and helping the team develop best practices with regards to programming, architecture, code quality, and version control.
Developing software according to Mbryonics' quality standards and procedures.
Following Mbryonics' SCRUM framework adoption and participating in reviews and SCRUM ceremonies to ensure compliance with these standards and processes.
The Senior Software Engineer will be responsible for:
Generating software requirements documents, using adopted and proven requirement management systems and practices.
Generating software architecture documents that guide the development of scalable, modular software systems with clean application programming interfaces.
Generating design and test documents following various standards including ECSS (European Cooperation for Space Standardisation).
Participating in internal and customer-facing reviews.
Developing system and application software on (primarily) embedded Linux systems.
Developing software on embedded systems running real-time operating systems.
Creating peripheral device drivers by liaising with electronics and hardware engineers.
Growing our CI/CD pipeline to accommodate complex build tooling and version control.
Developing our independent software testing capabilities, setting the foundations for code quality processes.
Ensuring all architectures and systems utilise robust security mechanisms.
Leading by example the adoption of SCRUM methodology and framework processes together with the SCRUM Master and the Product Owner.
Coaching our existing software team and instilling a work ethic of excellence, innovation, and collaboration.
Requirements/Technical Skills/Education Bachelors degree or higher in Computer Science, Computer Engineering, or equivalent field.
Proven experience developing embedded software for embedded Linux, RTOS, and microcontrollers.
Proven experience developing production-level software solutions in telecommunications, robotics, medical devices, automotive, aerospace, or similar industry.
Experience writing software for low-level interfaces such as UARTs, CAN bus, I2C, RS-422, and similar interfaces.
Experience with network interfaces and protocols such as Ethernet, TCP/IP, and UDP.
Experience with high-level protocols and data formats such as HTTPS, DHCP, XML, JSON, YAML, HTML.
Strong experience with both functional and object-oriented programming in C, C++, and Python.
Experience developing high-level applications that include full stack web functionality, databases, connection to cloud APIs.
Experience managing version control systems and pipelines, with an emphasis on GIT.
Experience implementing security mechanisms, including authentication and authorisation systems, and familiarity with SAML, X.509, PAM, OATH, SSO and related protocols and approaches.
Desired Skills Ability to read and understand technical specifications related to the programming of integrated circuits.
Familiarity with or exposure to digital logic, FPGAs, SoCs, SoMs.
Some familiarity with GUI development for the creation of internal utility applications.
Diversity, Inclusion and Equal Opportunities Core ethical values, diversity, and inclusion are invaluable to Mbryonics' business success.
We recognise that the broad perspectives that result from recruiting, developing, and retaining a globally diverse workforce promotes innovation and helps us succeed as a business enterprise.
It is the policy and practice of the Company to provide equal opportunities to all employees and applicants.
The Company will not tolerate discrimination on the basis of gender, race, religion, sexual orientation, gender identity, civil status, family status, disability, age, or membership of the Traveller community.
#J-18808-Ljbffr