Software Engineer

Antal International
Municipality of Madrid, Spain
19 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Municipality of Madrid, Spain

Tech stack

Computer-Aided Design
C++
Computer Programming
Software Debugging
Python
Linux kernel
Multiprocessing
Node.js
Software Systems
Multithreading

Job description

As Software Engineer, you will design, develop, troubleshoot, and debug software programs or parts for software enhancements and new products. Designs enhancements, updates, and programming changes for portions and subsystems of systems software. You will play a key role in driving product's roadmaps to deliver cost-effective infrastructure and software systems., + Design and implement highly reliable, fault tolerant systems.

  • Analyse, design, program, debug, and modify software enhancements and/or new products
  • Perform testing, debugging of storage features, data path and storage efficiency
  • Analyses design and determines coding, programming, and integration activities required based on general objectives and knowledge of overall architecture of product or solution.
  • Design and conduct experiments to evaluate system changes with respect to performance.
  • Deep dive into performance anomalies with the intent of discovering their root cause for both single and multi-node (i.e., distributed) systems.
  • Design systems and components with performance in mind, considering both algorithmic and system-level criteria.

Requirements

  • Strong hands-on C/C++, Python programming and debugging skills
  • Strong hands-on Linux kernel/user mode multiprocessor, multithreaded programming.
  • An excellent understanding of threading, allocating stack, kernel, cleaning up memory, takes up resources…
  • Comfortable with Lock convoys, starvation, deadlocks, priority inversions and getting RCU rights.
  • Experience building up efficient code and debugging performance of multi-node systems.
  • Designing software systems running on multiple platform types.
  • Software systems testing methodology, including writing and execution of test plans, debugging, and testing scripts and tools.

Apply for this position