Descripción de la oferta
What is this role all about?
We are looking for an experienced software engineer, not a specialist but a generalist. This person will be working mainly with all the engineering team but specially with the CTO improving and developing many parts of our engines. For example, we are building a new engine to speed up the computation of filters and derived data in the client. It is built in C++, then we compile it into WebAssembly and distribute it as a Typescript library so the front end can use it and be snappy even with large datasets. Here you will be in charge of extending the core adding more data transformations or data structures to support other kind of datasets like time series.
Also we are designing a new interface to train models with several datasets and later on let the users use them to do inference on new data. Our TypeScript codebase is mainly object oriented, using reactive programing (React) and interoperation with asynchronous code. If some of those words sound strange but you are motivated to learn them don't worry, we are happy to help you in the learning process.
There are other pending tasks such as building a type system for our small scripting language, the one in which the users describe the data processing scripts. Another example would be to extend our own WebGL visualization library. As you see this position will play a key role in the development of our main product, coding robust solutions to challenging and diverse problems. That is why we are looking for previous experience with C++ as well as having knowledge of algorithms and data structures.
The ideal candidate will have previous experience as full stack developer or a backend developer that wants to learn how to do front end web development, someone who likes to work as a team and teach their colleagues, who enjoys some autonomy to investigate and propose improvements in the product. If you have worked in data processing, coding video games logic or optimizing C++ code, we want to work with you.
In order to land a bit the role, we are looking for:
- Solid understanding of data structures and algorithms.
- Previous working experience coding in C++.
- Solid understanding of the full web technology stack (e.g. DOM, CSS, HTTP, cookies, headers, asset loading / caching).
- Disciplined approach to testing and quality assurance.
- Competence in English, we usually speak in Spanish but it is not uncommon to write or have conversations in English.
Nice to have
We value degrees in computer science or similar studies because we know the background they provide, but we also know that a degree does not guarantee anything, so we do not consider official degrees as a requirement.
About our stack
Since it is a data analysis software that we want to be very fast and interactive, so that analysts don't lose their flow due to network latency, a large amount of computation is performed directly on the client, on the front-end. So we had to set up a rather special architecture, hybrid, with calculations that are done only on the front-end, others only on the back-end, and some with the same code are executed on the back-end or front-end depending on the size of the dataset. In addition to this, we also serialize the state of the project with our own DSL, to make everything very reproducible and accessible for both advanced users and less technical ones.
If you're interested in seeing up close how powerful software is made in a browser (which seems to be the future of our industry), I don't think there are many places like Graphext to learn it firsthand.
Who you would work with
The front-end team is made up of Juan Morales, who in addition to programming, also designs the interface together with our designer Andrea. He does this because although Juan has a computer science background, he ended up doing a PhD in human-computer interaction applied precisely to designing data analysis interfaces. So he won't design anything that he knows is impossible to program, but he will try to push the limits of what can be done today in a browser.
The front-end team also includes Isa, Raúl and Luna who have created many of the key features of the product. Although the team's focus is on the front-end, they also have experience and help with back-end tasks.
In addition to all these programmers, the team has more data scientists and business people that you can see here (Team)
- Salary between 45K and 70K euros gross per year. It will depend on your experience and autonomy.
- Permanent contract.
- You can choose your own equipment. Although most people work with Macbooks, you can also choose another computer with similar features. We also provide a monitor, keyboard, and mouse at the office.
How the selection process works
- The process can start right now by filling out the form linked at the top of this page.
- We will contact those who meet the criteria for the profile we are looking for.
- If after that call we see that we are aligned, a few days or a week later, we will invite you to take a test with us. It usually consists of spending a couple of hours working with us (via video call) on a specific frontend problem with our team members. We are looking to see your skills, how you think and communicate, and of course, for you to get to know us better as well.
- If after the test we are convinced that you are the right person for the position, we will make you an offer.
- If you accept, we would like you to join us immediately (if you are not working at that time) or after 15-30 days if you are currently employed :)
Why do we do Graphext?
We develop software for people who studied business, economics, biology, psychology, engineering, or journalism... and that now call themselves data scientists. Graphext enables them to do advanced data analytics without knowing how to write code for those creative people that find Excel and current business intelligence tools (like Tableau or Power BI) too limited.
We allow them to run analyses that are more "predictive" and "prescriptive" than descriptive, with the same power of analysis as if they had studied Maths or Computer Science and knew how to write code in Python or R... for more than 50 different use cases that we have identified so far... from developing new drugs, to understand why some crimes are growing o why the employees of a company are leaving.
Current data science tools demand learning to code in Python or R (which takes years until someone is fluid enough). These tools don't guide you either. Don't help you discover what methods and techniques are appropriate for different kinds of analysis (data cleaning, enrichment, modeling) to solve many business problems. These tools aren't very interactive (you need a quick feedback loop to understand what you are doing), and you can only work with structured data (numerical and categorical data). They miss all the possibilities we now have to analyze texts and images thanks to AI's latest advancements.
We highly value candidates who register for a free account and try Graphext before the first interview, and come with questions.
What does the product look like?
On our Youtube channel, you will find more detailed videos.
How is this company doing?
The two co-founders, Victoriano and Miguel, spent the first years building another product that inspired them to later, in 2017, raise money from venture capital ( Kfund is our main investor ) to build Graphext. Up to this date, the company has received over 3M euros in funding.
At the same time, we also keep growing our revenue as we sign more and more customers every month.
Where, when, and how
- We do have a very nice office in central Madrid, plenty of light, two terraces, and a BBQ :) If you happen to live in Madrid, you can come anytime. We are a global remote company by default, and we usually bring to Madrid all the people working remotely once a quarter for an entire week.
- We are really flexible about how you administrate your time.
- Really flexible about your vacations too. Just coordination with the rest of the team is required.
- You will choose the machine which you would like to work on. Most of us are using Macbook Pro or MacBook Air. You will decide if you prefer Windows rather than macOS.
Our core values
- Our culture is based on responsibility. We are still a small company, and we don't want to have more managers and individual contributors, so we focus on hiring people we expect to trust without supervising all the time, with a high intrinsic motivation to keep growing as a professional.
- We like honesty and transparency. We believe most big issues arise as small misunderstandings and lack of communication erode trust for not having enough information to understand decisions.
- We really do our best to create an environment where people can speak freely, being authentic and empathic at the same time with all their peers.
- We try to have as few meetings as possible.
- Even though we are a startup, we play a long game, and we care to avoid burnout. If you want or need to work many hours one day because you had flow, you were inspired, or there was an emergency, you will work less the following day. You are not gonna be sprinting for weeks.
- We have a global mindset. Even though most team members are Spanish, we are open to hiring anybody from anywhere. We make sure people are comfortable communicating in English. Everything is documented and reported in English.