Salary 65,000 - 85,000 GBP per year
Requirements:
- Bachelors degree in Computer Science or Software Engineering
3+ years of working experience as a Software Engineer
Strong in developing low-level systems in C, C , Java, Kotlin, or Rust (most ideally)
Strong in developing OOP architectures
Strong in multithreading and concurrent programming
Strong in database systems
Strong communication, documentation, writing, and presentation skills
Experience in working with distributed computing frameworks (such as Hadoop, Spark, Cassandra, Kafka, ZeroMQ, Akka, Kubernetes, Zookeeper, etc.)
Experience in using cloud infrastructures tools like Kubernetes, Docker, Terraform, and/or Nomad
Experience in using a cloud service: AWS, Google Cloud, or Microsoft Azure
Experience with client-server architectures
Experience with open-source software development and community
Responsibilities:
- As a Software Engineer, you will be working on various products that make up our technology stack, which includes (but is not limited to):
TypeDB: our strongly-typed database with a rich and logical type system, that empowers you to tackle complex problems, with TypeQL is its query language. TypeDB is built with open-source distributed technology stacks: RocksDB, ANTLR, SCIP, Bazel, and GRPC. Today, TypeDB is written in Java, but we are in the process of rewriting it in Rust, with clients implemented in multiple languages, such as Java, Python, and Node.js. The extensive build system of TypeDB is built with Kotlin and Bazel.
TypeDB Cluster: the distributed version of TypeDB, using the same open-source distributed technologies (plus ZeroMQ), built through a reactive architecture implementing the Raft replication algorithms. TypeDB Cluster serves as our commercial offering that provides TypeDB users with scalability, security, configurability and management tools to effectively use TypeDB in a production environment. Today, TypeDB Cluster is written in Java, but we're now rewriting it in Rust. The extensive build system is also built with Kotlin and Bazel.
TypeDB Studio: the Integrated Development Environment (IDE) of TypeDB. Studio allows developers to manage their TypeDB project source code (e.g. schema and data), interactively manage the database schema, data and users, as well as query the database to produce graph visualisations of their data. Studio is built using Kotlin and Jetpack Compose.
Vaticle Factory: the in-house built CI platform that automates our entire software development life cycle from testing, benchmarking, tracing, quality checking, dependency upgrading, verifying (releases), and releasing. Vaticle Factory is designed for engineering teams building distributed systems on multi-repo architectures that require performance benchmarking. Vaticle Factory is built in the cloud, using the Kubernetes technology stack. Today, Vaticle Factory is written in Java and React, but we're now rewriting it in Rust, Angular, and TypeScript.
Vaticle Cloud: the cloud platform in which TypeDB will be automatically deployed, managed, and orchestrated in any of the popular cloud services: GCP, AWS, or Azure. Similar to Vaticle Factory, Vaticle Cloud is built in the cloud, using the Kubernetes technology stack. Vaticle Cloud is also built in Rust, Angular, and TypeScript.
Across all technologies, your primary languages for development will be Rust, Kotlin, and TypeScript.
As a Software Engineer, you will be assigned to one technology at a time from the list above, rotating to various other projects over time, to acquire the skills and experience to grow as a Software Engineer, and impact various technologies in the company. Each assignment will be decided based your interest, skillset, experience, and the team development needs at the time. Your work will span across all aspects of software engineering; from programming and debugging, to architecture design, build engineering, release engineering, documentation, workflow automation, code reviews, as well as R&D.
Technologies:
- Angular
- Cucumber
- Docker
- Figma
- IntelliJ
- Java
- Kotlin
- Kubernetes
- RabbitMQ
- Rust
- React
- TypeScript
- gRPC
- Bazel
- TypeDB
- TypeQL
More:
Vaticle is a team of people driven to empower engineers to solve complex problems. We are the creators of the strongly-typed database, TypeDB, and its query language, TypeQL. Our technology helps organisations in various industries, including Life Sciences, Defence & Security, Financial Services and Robotics, to build intelligent systems that tackle complex problems. From financial analytics to drug discovery, cyber threat detection to robotics disaster recovery, our technology empowers engineers around the world to tackle a higher order of complexity in data and knowledge.