About HadeanIt seems
that every problem today requires technology to solve it, and most of
those solutions require massive-scale computing - genome editing, curing
cancer, autonomous vehicles, simulating reality. And the only ways to
implement those solutions, up to now, have been costly, complex or both.
Super-computers, the cloud and edge computing all have their issues -
they’re unreliable to operate and scale, difficult to build and manage,
and too unpredictable and expensive to budget for and fund.
Fundamentally these problems are down to a stack that was designed 30-40
years ago.
These problems are only going to become more prevalent
as more demands are placed on our ageing technology stack, and Hadean
believes that every application in the future should be able to be
distributed across hundreds, thousands, tens of thousands of machines.
The current stack is irreconcilable with the opportunities and demands
of this new world. To solve these challenges we believe that ubiquitous
computing needs a new way of thinking and distributed systems must be
supported in fundamental ways at the Operating System level. As such,
we’re throwing out the rule book on OS design. Hadean is daring to
rebuild the operating system from the ground up, to be
distributed-first, robust to scaling, efficient, compact, and faster -
it will work in real-time across hyper-scale deployments without layers
of bloated software.
About The Team (and maybe you)
We have worked on software that is used by actual users in production at scale.
We enjoy having our contributions reviewed by peers and follow up on feedback.
We understand the KISS methodology and can provide examples from
personal experience where ignoring it has led to disastrous outcomes.
We are team players and enjoy working with others
We value different perspectives and often don’t agree on the best
approach, but we find a route forward and “disagree and commit”.
We hold short weekly engineering talks and each contribute with
presentations on topics which are relevant to our work or of personal
interest.
We don’t yet have a formal gaming group, ultimate frisbee club,
or caffeine drinking culture, but we are working collectively to define
that
As an early stage startup we are involved in driving the direction of the company
We believe working side-by-side helps us build better things.
Working remotely when necessary is cool, but we prefer working face to
face - we’re social animals after all!
About You
You probably spent a lot of
time taking things apart (and possibly putting them back together) as a
kid, wanting to figure out how they worked. You got hooked by computers
at a young age and followed the siren’s call of ‘hard problems’ deep
down into the stack. Happily swallowing the red pill, you fell into
Operating Systems and discovered a life-long interest. Hardware, though a
wholly different beast than software, doesn’t intimidate you in the
slightest. You’ve spent so much time reading other people’s code that
you sometimes feel like you get to know them. All this experience
reading code has taught you how to write code for others. You relish
thinking about big problems and methodically turning them into smaller
problems. You have a scientific approach to architecture and development
(prototype, test, repeat) and although you have strong opinions, you
don’t let them make decisions for you.
What You’ll Be Doing
Implementing new features, supporting existing features, and fixing bugs at all levels of the OS stack.
Supporting (and potentially building) distributed applications written for our framework.
Looking for opportunities to improve automation, code simplicity, generality, or efficiency everywhere.
Being (or becoming) our in-house expert for some specific area in which you feel you can make an impact.
Documenting your code, as well as contributing to other internal documentation, external documentation, and our company blog.
Participating in the ideation phase of planning, providing your
unique perspective on the prioritization, design, and implementation of
engineering work.
The usual agile things, you know the drill: scrum kanban
scrumban, standups, retros, pull requests, gitflow, open-close jira
tickets, etc.
-
What We’re Looking For
You have experience developing prototype (MVP) software and
iteratively making it more {performant, functional, stable, etc.} with
an eye for the long term.
You have a strong understanding of the concerns related to
low-level hardware architectures, concurrent (multithreaded) code,
highly available/performant servers, bounded allocation programming.
You have an awareness and at least cursory understanding of
alternative OS design goals and techniques given non-standard
constraints.
You’ve accumulated a number of ‘war stories’ during your career,
be it tracking down that bug after a week or discovering the hack that
holds some key software together.
You have experience writing highly performant server software
(e.g., web servers), virtual machines (e.g., QEMU, BEAM), distributed
systems software (e.g., distributed databases), or embedded systems
(e.g., wireless sensor networks).
You have extensive experience developing at the operating system
boundary (e.g., making syscalls directly, writing a userspace network
stack) or within the OS itself (e.g., kernel development, filesystem
work, device drivers).
You have extensive experience working in multiple subsystems of
operating systems (e.g., memory management, file systems, network
stack).
You have at least 7 years of coding experience in ‘systems’ languages (C, C++, Rust, Assembly).
You are energised by a dynamic, fast-paced and agile workplace.
You are an original thinker, who can present and defend a well-reasoned position even if it’s not the popular one.
Ability to work in the UK.
Nice To Haves
You are able to make reasoned critical arguments on what constitutes good OS design for specific problem types.
Experience with or affinity for the Rust programming language.
Experience designing and/or implementing network protocols,
high-performance network stacks, distributed communication primitives.
You appreciate the complexities and subtleties (documented and
otherwise) of modern computer architectures and CPU features such as
hyperthreading, OoOE, MPX.
You have a good general understanding of OS security concerns and techniques.
An interest in real-time computing and/or distributed computing.
You have made contributions to more than zero open source projects.
Familiar with nerd/pop culture references (e.g., Avengers, Rick & Morty, Matrix).
Benefits++
EMI scheme, the number of options is individually tailored to your role and impact
Optional contributory pension scheme
Cycle to work to scheme
Spontaneous drinks, dinner, you-name-it company social event
Childcare voucher
Annual eye-exam
Free fresh fruit, coffee & tea
Magnanimous start time (and it’s off-peak)
Additional Information
Opening Date for Applicants: 6th October 2018
Closing Date of advert: 31st December 2018
Salary: £40,000 to £90,000
Working hours per week: 40 hours a week
How to apply for this job: Please apply through the careers page: https://careers.hadean.com/.
Equal Opportunities
Hadean
is committed to Equal Employment Opportunity throughout our recruiting
and hiring process and is dedicated to increasing diversity in our
workplace.