- LocationMadrid, Spain
-
IndustryInformation Technology
JOB TITLE: SOFTWARE ENGINEER LOCATION: MADRID
THE PROJECT
Our client is the most innovative software company in the database field, being a key solution for clients looking for high performance. The company's database is characterized by its linear scalability and high ingest speed, which makes it 7 to 10 times faster than other manufacturers on the market.
THE ROLE
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.
DUTIES AND RESPONSIBILITIES
- 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.
THE REQUIREMENTS
- Bachelor degree in Computer Engineering
- Experience building up efficient code and debugging performance of multi-node systems.
- Strong hands-on C/C++, Python programming and debugging skills
- Strong hands-on Linux kernel/user mode multiprocessor, multithreaded programming.
- Comfortable with Lock convoys, starvation, deadlocks, priority inversions and getting RCU rights.
- Software systems testing methodology, including writing and execution of test plans, debugging, and testing scripts and tools.
- An excellent understanding of threading, cleaning up memory, allocating stack...
