Software Engineer (Lisbon)
Based in Lisbon, London and New York, Eigen is a natural language processing/machine learning B2B software platform company focused on transforming the way companies operate by unlocking the value of their textual data. Having completed our Series B, Eigen has raised $60m to date and is backed by Goldman Sachs, Temasek, Lakestar, and Dawn Capital.
Whilst Eigen’s platform isgeneral and sector agnostic, it is currently focused on the Financial Services, Legal, and Insurance sectors with clients such as Goldman Sachs, BlackRock, ING, and Hiscox.
Why join Eigen?
We are immensely proud of the welcoming, inclusive and collaborative culture we have in our solutions engineering (SENG) team at Eigen. As a Solutions Engineer you can look forward to being exposed to a wide range of different technologies and challenges, all the while being well supported by our team of friendly and talented engineers. You will work with a variety of clients like investment banks and insurance companies, giving you an opportunity to solve very real client business problems with the NLP/ML techniques that are part of our platform. We are a team of people who love learning, and we will work with you to lay out a clear development path and encourage you to take steps in new directions. We take our work seriously and our hard-working team are passionate about writing good code, but we do not take ourselves too seriously and we are always keen to hear ideas from everyone in the room regardless of their role.
We offer a great office environment, a clear development path, and many tangible benefits including:
- Monthly Hackathons (some themed, some open)
- 1,100 EUR annual training budget
- Flexibility to manage your work and personal commitments
Our Tech Stack (but open to others!)
- Python + Django
- ReactJS + Redux
- Machine Learning (ML) & Natural Language Processing (NLP)
What you’ll be doing
In Solutions Engineering (SENG) we work on making our platform work for our clients. Sometimes this could be as simple as just deploying the platform in their environment, making sure it is right resourced for their infrastructure and letting them do their work.
Or, it could mean adding new features to the platform that are critical for a client. This will involve design and development of a completely new set of capabilities and delivering them in a way that will enable our product engineering team to roll the new feature into the platform later.
Our work usually falls somewhere in the middle of the above two scenarios most of the time. Adapt our platform to new infrastructure to suit a client, do some customizations to improve ingestion of documents, develop a couple of new sets of features and roll the whole package to production.
We are always producing new code as well as all the tooling that is needed to support that. Some of your responsibilities will include:
- Working on Docker or Kubernetes (AKS, OpenShift), etc., to help with installations for clients.
- Develop Python/Django code to customize some features for the client.
- Develop Python code to add/deploy/customize data pipelines to suit a client environment.
- Working on producing code to help us deliver the above.
- Whiteboarding with collaborative people to work on the above.
- Studying a colleagues’ pull request to make sure our code quality stays awesome
- Pair programming your way through difficult problems because two brains are better than one
- Building relationships with peers and teaching them things you know and learning from them.
- Researching, googling and StackOverflowing to find the latest software libraries, tricks, and gadgets to help you with your work.
What you’ll need to be successful?
You’ll be a motivated engineer with two to three years of Python experience who is passionate about continuous learning and growth, who forms working relationships with colleagues and partners based on kindness, understanding, and mutual respect. You will also bring the following key skills and experience:
- Proven experience as a software engineer (coding, design, and problem-solving skills).
- A curiosity about recent technologies and software development approaches.
- A preference for collaboration.
- An eagerness to get stuck in and make new things.
Nice to haves
- Experience delivering software using an Agile (Scrum/Kanban) methodology
- Knowledge of Machine Learning (ML), Natural Language Processing (NLP) would be beneficial
- A working knowledge of Docker or Kubernetes.
- Experience diagnosing and working on critical running systems.