Seeking a Future Great Programmer (aka Intermediate level Developer)

At Devhaus, we are focused on pioneering a fundamentally unique approach to adaptive learning and assessment that supports learners in achieving better outcomes using systems that are already available to them. To achieve this, we built the Devhaus Learning Model (DLM), making the process of learning individualized, collaborative and measurable. DLM integrates across a variety of subject areas, learning profiles, and content categories. We believe that learning must be more than just the acquisition of knowledge and awareness-it must result in actual change.

Life at Devhaus

We’re in an exciting phase of the company: we’re creating a great product that is in concurrent development, launch and growth phases. We are focused on developing a strong breakout mindset that will lead to our exponential growth. We are a fast-paced, flat structure where everyone is involved in key decisions – We promote a learning environment where everyone has access to experts in the learning and AI fields – We know we make a difference in contributing to the long-term success of children and youth, students, professionals and everyone in between. Our employees are recognized for behaviors that align with our core values and company culture that uphold the highest standards of integrity – We offer all employees the ability to work from home (a policy that existed well before the COVID pandemic) – Our workplace has flexible hours and we are committed to providing a strong work-life balance.

Summary

extern Candidate you

/**
* Future Great Programmer (aka Intermediate Developer).

*/

class Job {

/**
* Can `candidate` espouse the company values of:

* – Courage

* – Learning Culture

* – Integrity

* – Collaboration

*/

static boolean canEspouseValues(Candidate c)

/**

* Develop the Three Virtues of a Great Programmer[1]:
* Laziness, Impatience, Hubris.

*/

static void developThreeVirtues(Candidate c)
}

if (Job.canEspouseValues(you) && you.isAspiringToBeAGreatProgrammer()) {

Job.developThreeVirtues(you)

}

Assuming you can grok the pseudo-code above and if it applies to you then read on for the requirements.

Qualifications – necessary skills/knowledge

  • Java programming
    • Streams API
    • JPA
    • Writing JUnit tests
  • SQL
  • Git
  • Docker
  • Comfortable in the Bash command prompt
  • Know how to use SSH from the command line
  • At least one of:
    • Python programming
    • Typescript programming

Desired but not required, can be learned on the job

  • Programming in IntelliJ
  • Programming in Visual Studio code
  • GRPC
  • Kafka

Application Requirements
Ensure you have the following as part of your resume:

  • GitHub profile URL
  • Stack Overflow profile URL
  • Docker hub account
  • An Android or iOS device to install the app to develop your leadership characteristics by testing the app.

Job Duties

Primarily we want you to develop to become the backup of one of the senior developers so that we have better coverage and work distribution. The component you will be initially working on would involve communicating with a Python Machine Learning engine running in a Docker container using GRPC.

We expect you to not just implement code, but to improve the product proactively.

This is our oath as programmers (from Scribe’s Oath[2])

  1. I will not produce harmful code.
  2. The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behaviour or structure to accumulate.
  3. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
  4. I will make frequent, small, releases so that I do not impede the progress of others.
  5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.
  6. I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.
  7. I will continuously ensure that others can cover for me, and that I can cover for them.
  8. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.
  9. I will never stop learning and improving my craft.

You will be thrown in the deep end of technologies. Some things to expect:

  • git and a lot of it
  • docker and a lot of it
  • Java is our default programming language, and you will be required to know at least up to doing try-with-resources and Java 8 streams API.
  • Use Spring boot
  • Use Gradle

However, your senpais promise the following: We promise never to set you up to fail so long as you follow oath2.

You will be given a lot of freedom to experiment to develop your skills to support oath9.

You will be given the choice of technologies staying within the API and platform restrictions. Though we have some templates for you to start with and your senpais will guide you.

To support oath7 you will participate in code reviews using the pull request process integrated with Azure DevOps. (Which is like those in GitHub).

Your blast radius will start out small but will grow as you progress. aka with great power comes great responsibility.

Other duties as required.

Working Conditions

  • Our conditions are constantly learning and evolving based on situation and needs.
  • We use task boards, retrospectives, daily meetings, and product backlogs. However, we have adapted parts of various processes (including those of Scrum, Kanban, XP) to satisfy our needs but do not follow any of them to the letter and apply the concepts that make sense for our team.
  • We use Docker Swarm
  • We use Trunk Based Development
  • We use multi-repo
  • Finally, we use spaces not tabs.

Things to expect during the interview

  • A variant of the fizz-buzz problem which we will adapt to what you claim on your resume. (hint: there’s Docker involved as it is part of the job requirements)
  • Describe your home lab.

[1] http://threevirtues.com/

[2] https://www.youtube.com/watch?v=Tng6Fox8EfI

Job Overview

Sign in

Sign Up

Forgotten Password

Share