Job Overview:
We are looking for a highly motivated software engineer to join our growing multi-cultural team. We deliver flows and tools automating engineering tasks to numerous groups across Arm. We provide solutions for seamlessly computing vital data for them on-premise and in the ‘cloud’. Your contributions will save thousands of hours of engineering efforts, helping efficiently engineers to design and verify Arm IPs!
Responsibilities:
You are at ease with object-oriented programming and common design patterns. You are willing to develop ergonomic solutions that abstracts technical concepts that are not crucial to the end users. You can keep the balance between efficiency, and readability in your code. You can anticipate usage of compute and network resources of your code and optimise where needed.
The role covers development, deployment and maintenance of workflows. You will be responsible for:
- Collaboratively capture requirements for new features with our partners.
- Elaborate and write specifications, discuss development strategies with the team.
- Develop, test and deploy software with Agile methodologies.
- Provide second line support to our partners using the flow, reproduce and characterise potential bugs, help making the documentation more accurate.
- Collaborate with internal teams providing the services our solution relies on.
- Collaborate with external companies that provide the EDA tools we automate.
Required Skills and Experience :
- Strong experience in object-oriented software development with a high-level programming language such as Python, Java or C++.
- Highly skilled in software debugging and reverse engineering across distributed systems and hybrid software (solving dependencies issues, race conditions, performance issues...)
- Good experience with Linux/Unix working environment (shell) and distributions (RedHat/CentOS, Debian.) Good shell scripting skills (Bash, Tcsh.)
- Knowledge of the complete software development cycle (SCM, Inline documentation, Testing, CI/CD.)
- Proficient in English.
“Nice To Have” Skills and Experience :
- Masters or Bachelors degree in Computer Science/Engineering, or in Electrical Engineering with specialization in software development.
- Experience in hardware functional verification (Verilog, VHDL, SystemVerilog, systemC. Using Synopsys, Cadence or Siemens tools).
- Knowledge of more programming languages like C, Go, JavaScript, Ruby, Perl, Tcl.
- Experience with Docker (images creation, testing and distribution) and cloud-computing providers (AWS Batch, Azure, Google Cloud Platform).
- Experience in scalable distributed systems design (micro-services, distributed databases).
- Experience in REST APIs or web-based services design (Django, Flask, FastAPI...).
In Return:
We have a strong track record of building up expertise in people, so this is a great opportunity for you to learn something new and interesting in a friendly and collaborative environment. Join a multinational, dynamic and highly motivated software development group where you will enjoy the support of your colleagues while being challenged by novel technical problems!
#LI-KD1
Accommodations at Arm
At Arm, we want our people to Do Great Things. If you need support or an accommodation to Be Your Brilliant Self during the recruitment process, please email accommodations@arm.com. To note, by sending us the requested information, you consent to its use by Arm to arrange for appropriate accommodations. All accommodation requests will be treated with confidentiality, and information concerning these requests will only be disclosed as necessary to provide the accommodation. Although this is not an exhaustive list, examples of support include breaks between interviews, having documents read aloud or office accessibility. Please email us about anything we can do to accommodate you during the recruitment process.
Hybrid Working at Arm
Arm’s approach to hybrid working is designed to create a working environment that supports both high performance and personal wellbeing. We believe in bringing people together face to face to enable us to work at pace, whilst recognizing the value of flexibility. Within that framework, we empower groups/teams to determine their own hybrid working patterns, depending on the work and the team’s needs. Details of what this means for each role will be shared upon application. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution. Please talk to us to find out more about what this could look like for you.
Equal Opportunities at Arm
Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.