Junior Developers

Fair warning: if you’re not into solving hard problems and pushing your limits, this might not be for you. Proceed with caution.

Are you a talented, ambitious programmer looking to kickstart your career? Pesapal is hiring Junior Developers!

We’re running a problem-solving challenge to identify the next generation of exceptional programmers in the fairest way possible.

The Pesapal Junior Programmer Challenge ’24

We are looking for the most talented, young developers in the region. If you are a programmer and you love computing, Pesapal might be the place for you.

Thriving at Pesapal requires the ability to work under pressure, the will and the dedication and the capacity to grow constantly, the ingenuity to develop unorthodox solutions—in a word, you must be able to think for yourself.

Why problems?

We run a problem-oriented selection process to make our selections as objective as possible. We don’t care about credentials.

We also want to make the application process win-win for everyone who attempts it. The problems are interesting enough that even if you don’t get the role this time, you will still build something cool that you can learn from and use to build up your public portfolio (e.g. on GitHub).

We are not as interested in complete solutions as we are in clear thinking and evidence of determination. So we encourage you to submit a well-documented attempt if you are not able to finish your implementation before the deadline.

The problems

0: source control system

Build a distributed source control system in the style of Git. It should be possible to initialise a repository in a directory and the repository proper should be stored in a dot-prefixed subdirectory. There should be support for staging files (git add) and committing them. There should be a way to view the commit history, to create branches, merge and do diffs between them. Conflicting changes should be detected but there’s no need to build resolution features for them, or anything like rebasing. It should also be possible to clone the repository (on disk—it doesn’t have to work over network). Finally, there should be a way to ignore files.

1: image hash spoofing


Subscribe to our socials and stay tuned to the latest jobs