Company
OpenCorporates logo

OpenCorporates

opencorporates.recruitee.com
Location

Remote, but you must be in the following location

  • 🇬🇧 United Kingdom
Apply

Senior Engineer (Python)

Senior Engineer (Python)

We’re building a more open society. Want to help?

OpenCorporates is the largest source of open company data in the world with over 200 million companies in our database. We firmly believe delivering genuine corporate transparency benefits both business and society. Our vision to become the world’s foundational and definitive source of company data.

Corporate transparency enables citizens, companies and governments to make clearer choices about who they do business with. It throttles crime, helps protect workers and our environment. It oils the wheels of prosperity, fairness and sustainability.

OpenCorporates was conceived to drive that change. We’ve worked with bodies like the World Bank and the G20 to spearhead initiatives such as the Open Company Data Index and the creation of the Global Legal Entity Identifier Foundation. Our expertise has shaped how the US Federal Government procures services; we have advised the European Commission on the EU Open Data Directive; and we were instrumental in the UK Companies House opening access to their company data.

Our platform dynamically captures and curates the records of over 200 million companies from 140 jurisdictions around the world — openly available information that is the foundation to sourcing, risk, compliance, and investigations processes for organisations around the world — large and small, public and private.

To help our rapidly growing user base derive greater insights from our data, we’re solving hard-core ‘big-data’ challenges: modelling, linking, profiling, cleaning and presenting actionable results from billions of data entities. We’re also establishing a globally scalable cloud infrastructure that can run these processes efficiently and reliably at scale; and serve our global audience via an ecosystem to rival AWS for ease of use and integration.

Our four company values outline the shared principles that define our culture and drive our success: we are bold, we are one team, we learn & adapt and we put our users first. Whether through day-to-day decision making, teamwork, supporting our clients or evaluating performance, the values are the lens we look through to help us achieve great things.

OpenCorporates operates an informal hybrid model around our London workspace. Working from home is the norm and in-person touchpoints are expected to become more frequent.



The role:

Following the appointment of our transformational CTO, OpenCorporates are recruiting for Senior Engineers (Python) as a key members of the team. This is a hands-on role where you help lead the evolution of our product from our legacy language of Ruby to more data friendly Python. This is a fast paced role where you will be instrumental in realising our goals of making our data delivery easy and reliable, while fixing and scaling the original platform.

Reporting to the CTO, you will be a key member of the tech team. You will also be a key part of the OCTO group (Office of the CTO), an OpenCorporates peer group responsible for distinct domains within the technology sphere. There is high expectation that you will be instrumental in defining and driving the architectural direction of OC.

<br/><br/>

We’re looking for people with these personal attributes

We always hire on team fit and aptitude, first and foremost, as we believe that if you have these key attributes you’ve got the most important ingredients of becoming or being a good engineer. Experience is always useful, but never necessarily a requirement, it's the thinking around problem solving that we really value, and living and learning from the choices you/we make in engineering highly scalable, highly available systems that millions of users depend on for their decision and business process.

When we think about problem solving, it's about having ideas, trading those with your peers to get to the best solution, thinking practically about how to deliver the objective little and often and treading the fine line between perfection being the enemy of the good. We need to progress at pace and solve the mountain of interesting problems that are working at scale, with this number of diverse sources and a multitude of use cases.

Who can work in these areas

There are a plethora of domains that need technical ownership and marshalling within OpenCorporates, from data acquisition, processing, refinement, loading and serving to hundreds of queries per second.

To describe a few:

  • Data Acquisition: sourcing data from 100s (now) to 1000s (tomorrow) that need collecting from numerous interfaces, which in turn need managing and operating in a resilient manner.

  • Processing: unstructured data from sources require mapping first and foremost into a common model, after a degree of transformation prior to refinement…

  • Refinement: collecting raw data is useful, improving the and enriching that data so it is clean, programmatically useful, uplifted in format with inherent links between entities and objects collected into a graph representation - refinement will require heavy use of AI/ML in order to bring order to chaos, unstructured to structured.

  • Serving: millions of users, billions of hits to our external touch points, be it bulk, api or web that service our clients thirst for data.


As we grow each of these areas will scale in different and interesting ways, each source gives us millions of new data points, and tens of millions of new requests for information from our clients.

We have a working system right now, we need to focus on making it richer all the while migrating to the cloud.

As a Senior Engineer we expect you to have a voice, an opinion and to use it to help us achieve the objective in hand. That can be from organising resources, or taking a lead in leading the technical definition and pragmatic approach to delivery. This is where your experience and opinion are important to collaboratively arriving at the correct conclusion.

As we complete migration to the cloud we need to in parallel work on improving our data, enriching and speeding up the delivery, the opportunity at OpenCorporates is to have a balance of transformational migration and greenfield projects that are by their very definition ‘Big-data’ problems.

You’ll have these technical skills as a minimum:

  • Python coding — obviously, clue was in the title

  • Prior experience building web applications.

  • Service Oriented Architecture - a knowledge of how to build services in discrete modules insulated away from other domains

  • Cloud skills - AWS is the preference, but experience of any cloud and deployment

  • A level of experience of living with your decisions, in an operational sense

It would be great, but not necessary, if you have these:

  • Ruby - some of the older tech is Ruby based, not ideal we know, but a reality we have to deal with. While we don’t expect any new engineers to dig deep on Ruby, an appreciation or an ability to read it is always useful to fully benefit from the past.

  • Experience of highly scalable APIs and data delivery

  • Elastic/Open Search experience

Grow with us

Everyone who leaves OpenCorprates, which we actively strive towards, needs to leave a better engineer, product manager, domain expert. than when they started. We do this by helping you explore the career tracks ahead of you.

What we want is a long term relationship with you, but inevitably life and times don’t always afford that, so if we can look to 18-24 months as a minimum then we commit to uplifting your skill sets and experience through actively encouraging learning, via traditional means or direct hands-on experience.

Learning is paramount, from either experience (collective on the job experience or living with a platform) that serves millions of people. We won’t get everything right first time, and we don’t punish for that, but rather use it as a learning experience to evolve the technology and our own experience so we don’t make the same mistakes again and that your team don’t make the same mistakes as you grow and start to influence newer team members with your ‘time in the trenches’.

Key to growing is progression - I don't know if you know now, or want to figure it out, but regardless of the track you want to pursue we can support you in giving you space to own a domain, or a team to influence and lead. Career progression is a deeply personal ambition, one we can support, but you need to help us help you get to your next step, either with us, or with the next business who will benefit from the well rounded, deeply experienced individual we want to produce.


Benefits

• Competitive salary • Share options scheme

• Flexible hours • Remote-first working

• 28 days holiday plus bank hols • 1 day additional holiday each year

• Time off for life events • £500 home office budget

• Cycle to work scheme • Quarterly in-person meetings and socials

• Wellbeing Pledge • Life assurance

• £1000 learning and wellness allowance, plus learning days

Diversity Matters

Don’t meet every single requirement? At OpenCorporates we are dedicated to building a diverse, inclusive and authentic workplace, so if you’re excited about this role but your past experience doesn’t align perfectly with every qualification in the job description, we encourage you to apply regardless. You may be just the right candidate for this or other roles.