Java Developer (Backend) - remote

Prospect
Posted 1 year ago
We are a remote startup (headquartered in Canada) building a smart, curious, and driven team that’s making software to help sales reps sell better.

Prospect is a lead generation app that helps you find contact data right inside your browser in real time. The best sales teams from the top tech companies worldwide use Prospect to crush their sales targets.

About You

We are currently a team of 15 people — you will be #16.

You enjoy writing beautiful code. You care not just about whether the code works, but you think deeply about how well it performs, and how it will be understood by future developers.

You like shipping things. You realize that building excellent products is a marathon, not a sprint, and regularly make improvements in iterations.

You are an excellent communicator. You realize that working remotely requires thoughtful communication and you do so through great written communication.

You self-manage and are open to feedback. You enjoy taking a goal and figuring out how to ship it without heavy direction and regular check-ins.

You are product and customer-centric. Whether it is a bug fix, perf improvement, or a new feature, you realize that every line of code is an opportunity to make a user’s experience better.

Our Engineering Team

We are currently a team of 7 developers. Our roles are divided based on the projects we work on.

We work in 4-week long development cycles in which we focus on adding new features, fixing bugs, or making improvements. After each cycle, we have a 2-week cool-off which we use to work on anything we would like to as well as plan for the next cycle.

Our stack is currently:
  • Backend: Java 17 (Spring)
  • Cloud: AWS, managed by Terraform
  • Database: AWS DynamoDB and PostgreSQL
  • Frontend: TypeScript, React
  • Internal: GitLab, LaunchDarkly, Linear

Projects You Will Work On

You will be working on our backend, a REST API written using modern Java practices.

This is a high-impact role. We are looking for someone to take real ownership of one or two core features within six months. You will own some extremely important parts of our application that serve thousands of customers.

You will work closely with the backend and frontend team and our CTO.

We prioritize our projects based on what customers are requesting the most.

Some things that you might work on include:
  • Data: Scale our real-time data discovery engine to process 5x-10x more volume
  • DevOps: Speed up our CI pipeline for faster builds
  • Integrations: Add features to our existing integrations
  • Monitoring: Modernize our logging and metrics infrastructure
  • Reporting: Add functionality to allow customers to run advanced custom usage reports

Hiring Process

Our process is as follows:
  • Initial screening (90 min): Complete an asynchronous questionnaire and a relevant coding challenge
  • CTO Interview (30 min): A call with our CTO to delve into your experiences and discuss the projects we’re working on
  • Live coding session (3 hours): Collaborate on a problem with our team in real-time
  • Founder’s interview (30 min): A final conversation with our founders to understand your personal goals and share our company vision
  • Job offer: If we find you're a great fit, we'll make you an offer at this stage

  • Must Haves
    • 5+ years of Java programming experience
    • Experience with relational databases
    • Familiarity with Spring

    Nice To Haves
    • Previous work experience using Spring Boot or similar modern Java frameworks
    • Proficiency with modern infrastructure tools, such as Terraform
    • Experience with AWS or other cloud vendors
    • Track record in building concurrent systems at scale
    • Past success working asynchronously in a fully remote environment
    • Demonstrable usage of a metrics-centric approach, using tools like Grafana