Senior C Software Engineer

About LeanXcale

LeanXcale mission is to reinvent the Databases building an ultra scalable NewSQL database blending the high ingestion capabilities of NoSQL with the SQL query efficiency and ease of use in a single database manager providing full SQL, ACID transactions and linear scalability.

LeanXcale is based in Madrid, with a combination of a local team and remote-work positions. However, at some point we may need to meet the whole team together for a few days every month.

Compensation & Perks

🏝️ 23 days of paid holiday plus bank holidays.

🏠 LeanXcale is currently working fully remote, and all employees can remain working from home if they want, travelling to our offices when agreed with the team.

🏬 If your preference is working from our office and working onsite with other LeanXcale team members, we have available our office in Madrid.

⏰ Flexible working hours.

📚 Learning & Development is a big asset for us, and we provide training courses to all the team to get knowledge about relevant topics, such as, transactions, SQL query processing, storage, etc..

🏨 Private health insurance.

About The Role

As Software Engineer, you will design, develop, troubleshoot, and debug the database core. 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 a high performing database a couple of magnitude order faster than the market leader.

About The Culture

Be ready to join a company where collaboration is key. You will be expected to share knowledge and speak up, at the same time you have the ability to listen to and learn from others and consider their opinions.

At LeanXcale we are applying good practices and agile methodologies, such as Scrum, to have our work as organised as possible.

The LeanXcale team is formed by experts on database engine design & development and distributed systems. One of the few teams in the world to be able to build a database engine from scratch and compete with the leaders of the market. We believe that the team has a lot of knowledge to share with other team members. For this reason, we organise monthly half-day training sessions about some database topics, such as transactions, SQL query processing, database storage engine, fault tolerance, and high availability.

During your time at LeanXcale you will

• 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

Key technologies we use at LeanXcale

In our day-to-day we are working with Java +11, Spring, Groovy, Python, C, C++, AWS and GCP, Docker, Kubernetes, Prometheus, Grafana, JUnit 5, Terraform, Ansible, and many more!

We are always open to adopting new tools to solve complex problems, so we’re ready to discuss options with anyone with the right experience.

What You Will Bring Along

• 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

What You Can Expect From Our Hiring Process

Stage 1

30 mins call with one of the members of our team. The goal of this call is to meet you and let you know the position we are offering and see if it matches your expectations.

Stage 2

60 mins video-call with our CEO (Ricardo) and some executives of the company with a personal interview to try to know what motivates you to be part of LeanXcale, what is your CV and what are your capabilities. In this meeting we will tell you in detail about the role you will have at LeanXcale.

Stage 3

90 mins video-call with one of our team members with a technical challenge around a task to understand better your skills and give you a sneak peek of what you could be working at LeanXcale.

Stage 4

20 mins video-call with Ricardo, the LeanXcale CEO about the conditions you will have when joining LeanXcale.

Apply Now