Working collaboratively as part of the Streamline team to extend, develop and maintain the back-end data capture process (written in C) and the front end data analysis and presentation application (written in Java).
Your role as a software engineer will entail:
- Understanding development flows used by Streamline's users, be they Android Application, Embedded Linux or bare-metal developers.
- The improvement and extension of performance counter and trace capture software (developed in C++).
- Development and defense of the performance analysis, presentation and UI software (developed in Java).
- Contribution to the development of new features, ensuring that they have excellent test coverage within our CI systems.
- High quality engineering through approach reviews, code reviews and following modern agile software development process.
Skills and Experience
What skills, expierence and qualifications will you need?
- You will have a good understanding and practical experience of Java, C and/or C++ programming.
- You will have strong abstract reasoning skills with an ability to focus on key concepts at all levels of detail.
- You should have a deep understanding of algorithms and data structures.
- You will have experience with and using the Linux command line.
- You should be motivated, an independent problem solver, technically versatile, willing to be flexible and accept new challenges.
- You shall be able to demonstrate effective verbal and written communication skills.
- You will need the ability to work alone as well as in a team.
The following is a selection of skills used across our projects. You do not need any of these to apply or succeed in your application. You shall have the opportunity to develop your skills in some these areas.
- Experience with version control systems like Git or SVN.
- Experience with bug tracking systems like Jira.
- Eclipse Framework / RCP application development.
- Experience with Maven
- Experience with testing frameworks such as JUnit and GTest/GMock.
- User Interface Design.
- Basic Linux administration, particularly installation and maintenance.
- Optimising code for performance.
- Android application or games development.
Are you excited by those responsibilities? Are you a fit for those requirements? If so, we'd love to hear from you.
You will be educated to degree level or have similar relevant experience.
About the Development Solutions Group (DSG)
DSG is to help our customers craft creative and energy efficient Arm-Powered products, using powerful and easy to use development tools. Our mission is to build or enable tools that improve Arm system performance, productivity or time to market.
At Arm, we are guided by our core beliefs that reflect our unique culture and guide our decisions, defining how we work together to defy ordinary and shape extraordinary:
We not I
- Take daily responsibility to make the Global Arm community thrive
- No individual has the right answer. Brilliance is collective
- Information is essential, share it
- Realise that we win when we collaborate — and that everyone misses out when we don't
Passion for progress
- Our differences are our strength. Widen and mix up the pool of people you connect with
- Difficult things can take unexpected directions. Stick with it
- Make feedback positive and expansive, not negative and narrow
- The essence of progress is that it can't stop. Grow with it and be responsible for your own progress
Be your brilliant self
- Be quirky not egocentric
- Recognise the power in saying ‘I don't know'
- Make trust our default position
- Hold strong opinions lightly