Company Description
We are a data analytics company located in the center of
Madrid. We are developing a data science software that allows our
clients to analyze complex problems and find actionable insights.
Here You Can Get More Information
Our customers use Graphext to do many things, such as
Market Research, People Analytics and Customer Segmentation. Graphext is
a horizontal tool to manage, enrich and analyze data, and we continue
to discover new customer use cases.
We are currently a team of 14 people, with a mix of half business and
half product. We are a young dynamic team with 3 different
nationalities. In the engineering team, we strive to come up with simple
solutions to complex problems. And if the challenge requires it, we do
not skimp on efforts to investigate new technologies or algorithms that
allow us to create the best data analysis tool in the market.
Role Description
We are looking for an experienced backend engineer. 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 have
an in-house orchestrator of machines for batch processing, it is build
in Ruby and likely one of the first tasks would be to optimize it, e.g.,
launch tasks that use the same docker images all in one machine so we
can save the time of download the same image more than once.
We are also 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
frontend 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.
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 problems. That is why we are looking for previous experience
with C++ as well as having knowledge of algorithms and data structures.
Requirements
The ideal candidate will have previous experience as
backend developer, 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++.
- Knowledge of Ruby is valued but not required.
- Solid understanding of the full web technology stack (e.g. 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.
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.
We currently have our office at
www.loomhouse.es (5 minutes from the
Atocha train station in Madrid, Spain). It is a very nice co-working
that is housed in a historic building, la real fábrica de tapices. The
atmosphere is very cozy, especially when the weather is nice work or eat
in the gardens is a delightful time.
We do not have strict working hours, we let everyone decide their times,
there are people who decide to get up early and leave at 3:30 p.m. and
others who are more nocturnal and start the day much later. We do not
offer the possibility of working completely on remote, because in the
office happens too many things that we are not able to transmit via
chat, we have already tried it. What is not a problem is to work
remotely one or two days a week once a good working dynamic has been
achieved.
We have a culture of responsibility, where everyone is responsible for
identifying and solving product failures. We are proud of what we do.
The rhythm of a typical day is intense, and we keep the number of
meetings to the minimum. Rarely you will see us doing extra hours, if
one day we spent more hours another day we made up for it. We understand
that we are in a long-term project and nobody should be burned out.
The salary range we can offer for this position is 36K to 48K with negotiable shares.