Backend Developer - Java
Posted Updated
Description
You will work on the entire technology stack, from the core persistence layer through to the API layer, which our customer-facing portals will consume. Our teams are lean, empowered, and collaborative. Being one of the first to join our engineering team, you must be a self-starter and able to perform with minimal supervision while working alongside smart, enthusiastic colleagues, communicating effectively with everyone. We are building a strong culture, and we're looking for engineers who can help us shape it.
Responsibilities:
- You are an owner. You are comfortable owning large parts of our product and driving the development and roadmap.
- You ship. You get satisfaction from getting your features into customers' hands in a short period of time. You take accountability for the end-to-end product experience of your features, warts and all.
- You like simplicity. You often find the simplest way of achieving something. You care about the long-term readability and maintainability of our codebase.
- You are a constant learner. You learn quickly and can operate independently. You're not afraid to take something on just because you don't know how to do it yet.
- You value clear, open communication. You not only have the ability or skill to communicate effectively but also have the willingness to be open and honest in your communication. You demonstrate these abilities through thoughtful code reviews, honest and kind feedback, and documentation.
Requirements:
- Bachelor's degree in computer science (or related field).
- 2-4 years of hands-on software application development experience.
- Knowledge or experience in cloud computing using AWS, GCP or other cloud providers.
- Working experience with Java and Spring frameworks such as SpringBoot, Spring Security, etc.
- Containerisation experience with applications deployed on Docker or Kubernetes.
- Solid understanding and modelling in SQL and relational databases.
- Demonstrated knowledge of distributed and scalable systems.
- Experience with Git or other version control systems.
- Ability to quickly adapt and independently work in a fast-paced Agile environment with minimum supervision.
- Ability to work independently, organise, and prioritise work and openness to get into the weeds of new technology.
- You like being a generalist. If we do our jobs well, you will spend more of your time building systems than fighting fires, so you should enjoy wearing many hats and working on many parts of the system.
- You can break up a complex system into clean, reusable components and design interfaces and abstractions given the way you expect internal and external users to consume them.