Days

Hours

Minutes

Seconds

Put your code chops to the test in our JavaScript competition

Are you a JavaScript and programming guru? Are walking through algorithms like walking through a park for you? Put your skills to the test on 10/15/22 in our JavaScript competition and win a 1 year free subscription to our service, and recognition on foo.software for life!

Sign upFoo's JavaScript Competition Art

What do I Win?

1st Prize

1st Prize

2nd Prize

2nd Prize

3rd Prize

3rd Prize

  • Photo and short bio listed on our winners page (coming soon)

Disclaimer: Previously, there was a $500 cash prize and a $10 entry fee, but we've decided to omit both.

When and where is it?

Foo's JavaScript Competition will be held online:
October 15th, 2022 at 12pm EST

Foo's JavaScript Competition - when and where

Count me in!

Sign upFoo's JavaScript Competition - signup

The need-to-knows

How It Works

  • Point

    Sign up to enter. Take note of the email you use to signup as it will confirm your spot when submitting answers.

  • Point

    At exactly 12pm EST on 10/15/22 this GitHub project will have the real challenges as a new commit (but no sooner). Once the real challenges are pushed, your time begins. Pull down the latest onto your computer and get a move on it!

  • Point

    There will be 5 challenges. Each will test your general programming and JavaScript skills, including algorithms, problem solving, data structures, etc. The challenges will run in a Node.js runtime. The goal will be to make unit tests pass. Refer to the the GitHub project as the source of truth for latest technical details of the competition. We recommend "watching" the repo.

  • Point

    Once the challenge is completed, participants should commit and push changes to their private fork, use 'git log' to find the most recent commit sha, copy and paste it in an email to challenge@foo.software. The time we receive your email will count as the time you completed the challenge. And the sha you send must be your last in the project. You will also need to add "foo-software-bot" user as a collaborator. Be sure to populate the "author" entry of "package.json" in your fork to reference the email you registered with.

  • Point

    Winners will be selected based on number of tests that pass and the time we receive your completion sha (see step above). For example, if a participant has the earliest time and all tests pass, that person would be the winner... however, if one test failed and the next earliest participant passed all tests, that person would be the winner.

How to Prepare

  • Point

    Fork this GitHub project as a private fork so at the time of the event you'll only need to sync and pull. Make sure the fork is correctly configured with our repo set as the upstream.

  • Point

    Make sure you know how to how to sync a fork, so that you're ready to go when the repo is updated at the time of the event. It's recommended to try a sync beforehand to avoid problems at the time of the event.

  • Point

    Make sure you have a Node.js version at least 16 installed on your computer. Use a Node.js version manager like n if you need to switch between versions.

  • Point

    In your private fork, checkout the "example" branch locally and make sure you're able to run tests by following the steps as documented. The "example" branch holds an example of the challenge structure (each in a numbered directory).

  • Point

    Utilize websites like LeetCode to practice JavaScript challenges. Remember, we'll be testing for general programming skills including algorithms, data structures and problem solving.

View complete competition details and terms.

Ready for the challenge?

Sign up now
Winners will be contacted and announced on foo.software within 24 hours of the challenge end.

Winners will be selected based on correct solutions, firstly and time of completion, secondly. Solutions will be tested for correctness based on passing tests from the test suite.