Software Engineering Intern (Openware)
Our Software Engineers are responsible for the design, development, and test of a range of embedded and systems software.
As an Edinburgh based software intern at Abaco, you will be assigned to the OpenWare Development Team, where you will work on real world products and customer issues within Abaco’s NETernity network switch products. We understand that you won’t have all the skills we require when you arrive, which is why our managers, team leaders and engineers help coach and support you throughout the placement so that you can develop and achieve during your time with us.
We implement the majority of our code using C, targeted at our network switch products, based around third party switching fabric with PPC and ARM processors. In the software team, our work involves developing and supporting switch management applications, along with the surrounding software ecosystems that, for example, allows us to automate testing using Python to ensure repeatability and the long-term support of our products.
During the placement as part of their daily work, our interns will interact with groups outside of software, such as Product Managers, other engineering disciplines and our production facility in order to support business activities and provide an exceptional software product for our customers.
The twelve-month internship will allow you to discover what we do and how we do it, and for us to learn from and about you. Our previous interns are our first port of call when looking for new graduates and our graduate scheme recognises the knowledge and experience that our returning interns bring back to the business.
At Abaco, we know that our people are our strength. We’re a team with a common goal – and we’re passionate about what we do, innovative, and open-minded. We’re not just given responsibility – we’re actively encouraged take responsibility and make things happen. Oh, and – we have fun. If that sounds like your kind of organization – why not join us?
Area of Responsibilities
- Work within the software team to develop and support a variety of software and hardware product releases.
- Gain knowledge of project tools and processes, for example, Git, Yocto, JIRA, static analysis and Agile development methodologies.
- Produce clear, concise written reports and instructions to enable other engineers and/or customers to follow/repeat a process.
- Get involved in requirements analysis & management.
- Implement / Test embedded software and automation test applications.
- Perform and understand Software Integration and Verification.
- Ensure business activity is conducted in line with company values, policies & ethics code of conduct.
- Proactively promote and support the company’s compliance with Health and Safety legislation.
- Studying a Degree in Software Engineering, Computing for Real-Time Systems, Electronics and Software Engineering or similar (but not IT-based degrees).
- Knowledge of the C and Python (or similar) programming language.
- Desire to develop engineering skills in Embedded and GNU/Linux System software development.
- Good problem-solving and creative, solution-building skills
- Good verbal and written communication skills