Skip to content

YouthCodingWorkshops/hiring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YCW Engineering Hiring Challenges

Is this the first time you've heard about us? Fill out the YCW hiring and SWE additional information forms first! We'll reach out to you and arrange an interview, after which you'll have time to complete these.

These are a collection of programming challenges intended to guage your interests and abilities. You'll be creating real-world projects using your current knowledge and creativity.

These questions are really open ended, although have some objective you need to work towards -- something you can build. You have 1 week to complete a challenge of your choosing, but if you need more time, please don't hesistate to ask. Do however, try not to spend too much time on them: the goal is not perfection.

We don't have a strict rubric we grade these on. Rather, we want to see how well you solve problems using the resources at your disposal. Yes, that means you can (and probably should) use Google. Please feel free to make your solutions as complex as you want, implementing features as you see fit!

We aren't looking for completion, we're looking for your problem solving and resilience..

Our Stack

At YCW, we use Python on the backend and Next.JS + Bulma on the frontend. All our hosting is on AWS. Our fullstack apps are hosted on Amplify and our pure APIs use API Gateway + Lambda.

All our code is in the YouthCodingWorkshops Github organization and deployments are orchestrated either by Amplify Pipelines or AWS Codepipeline. Infrastructure is automated with AWS CDK & AWS Cloudformation.

Although it would be a nice touch, you won't be expected to have live hosting for your solutions. In fact, we provide the resources necessary for getting started with AWS as part of the onboarding process.

Instructions

  1. Choose a challenge primarily that matches the position you're applying for, but is also one you want to do. If you need anything clarified, either open an issue in this repository and/or reach out to us.

  2. Create a new GitHub repository for your solution, this is how you will submit it to us. Create a README.md file that details:

    a. The challenge you chose.

    b. Adequate instructions to execute your code and interact with your app. Make sure your codebase/ file structure is clean and easy to follow. Don't leave any temporary or unused files.

    c. Features you want us to check out (including how to use them).

    d. Any errors/bugs you didn't get the chance to iron out. Include possible causes you've identified and your attempts to solve them.

  3. Complete the challenge to the best of your ability. Completion is not what we're looking for. Be ready to talk about features you would've added with more time, or features you chose to abstain from implementing, and why. Thinking through solutions is more important than coding them.

    If you want to use a different tech stack for the challenges, please ask first. Typically we'll allow it for databases (like using Redis/MongoDB over a SQL database).

  4. Write a test suite for your solution to make sure everything's working as intended

  5. Send your submission over to us on Discord and we'll take a look. After that, we'll have one final meeting to go over your solution (and the second part of step 3). That's it!

Recap

  1. Don't stress about coming up with a working solution. We look for much, much, much more than that. I don't think I can overstate that enough.

  2. Take things slow, very slow. The problems might seem difficult, try to break them down. Identify what it's asking and work your way up

  3. Use your resources (like Google, Youtube, or StackOverflow, but not other people)

  4. If you need more time, just ask, but show us what you have so far. We're here to help.

Backend Challenges

# Name Description
1 Weather App Use the National Weather Service's weather API to get precise weather forecasting data at any location on the planet.
2 TODO List Build an API that allows you to keep track of things you need to get done and all the tasks you've finished.
3 Ordering Discord Bot Create a discord bot (using slash commands and message components) to take orders in a restaurant.

Frontend Challenges

# Name Description
1 Coming Soon Coming Soon

About

Complete a programming challenge to join us!

Resources

License

Stars

Watchers

Forks