As a Software Engineer (Web) at Grakn Labs, you will be developing the desktop and web applications for Grakn Workbase (our database management and graph visualisation tool), Grakn Benchmark, Grakn Academy, Developer Platform, Discussion Forum, our websites (e.g. 1 and 2), and all other web infrastructure we will build in the organisation.
Grakn is a distributed knowledge graph: a logical database that allows you to organise large and complex networks of data as one body of knowledge. Grakn provides the knowledge engineering tools for developers to easily leverage the power of Knowledge Representation and Reasoning when building complex systems. Ultimately, Grakn serves as the knowledge-base foundation for cognitive and intelligent systems.
As a Software Engineer (Web), your work will span across all aspects of software engineering; from programming and debugging, to architecture design, build engineering, release engineering, documentation, workflow automation, PRs & code reviews, as well as R&D. Your goal is to build the environment we live in: the web - for our users, our clients, our community, and our organisation. Our users need to work with Grakn Workbase, our developers need to work with Grakn Benchmark, and everything else we do in Grakn world should be integrated through our web infrastructure: from our code to our blogs, meetups, conferences, cloud deployments, support, marketing and sales. Our web infrastructure will define our organisation's products, processes, efficiency, culture and success.
You will be joining a team that cares deeply not just about the intelligence of the code, but also the elegance and simplicity of the solution. We have a strong sense of urgency, but we always know "why" something needs to be developed, and we make sure that we work purposefully. Although we are expected to be independent in the common engineering tasks, we collaborate in perfecting our ideas and solutions. Every time we have an opportunity to change our workflow, infrastructure or architecture to improve our technology performance, user experience or developer productivity, we take that opportunity, and we grow.
- Bachelors degree in Computer Science or Software Engineering
- 3+ years of working experience as a Software Engineer
- Proven experience in developing desktop or dashboard applications using web technologies
- Proven experience in developing data visualisations
- Proven experience in working with web services
- Proven experience in working with databases and cloud environments
- Proven experience in build and release (CI/CD) engineering
- Familiarity with client-server architecture
- Familiarity with full-stack software development
- Familiarity with large-scale software architectures that spans across multiple repositories
- Familiarity open-source software development and community
- Strong communication, documentation, writing, and presentation skills
Senior/Lead Software Engineers additional requirements:
- 5+ years of working experience as a Software Engineer
- Demonstrable experience in leading a team or mentoring others