Beating Toptal's coding challenge is similar to passing a coding challenge at a FANG interview, from what I've researched.
If you are a total coding challenge sausage like me, you will probably face about 3 stages that have their weight on different aspects of the whole process of preparation:
(I'll skip step 0 which is something like confusion about life that I explain in the project kickstart post)
- create a routine and learn solving coding challenges
- solve a lot of coding challenges
- final spurt to solve the final boss coding challenge
To be continued in May 2023 🔮
I'm planning for at least 7 hours per week of time investment. Which is not a lot, so I'll tackle this project in parts. If I don't see much progress after the first month, I might just ditch it 🚮
In the beginning, I will lean more into the theoretical parts. Later the focus will be practice-heavier.
For example, in the beginning, if I have one hour, I will try to solve one "easy" challenge for half an hour and spend the rest of the time reading about the solution or watching others solve it.
Especially at the start, I'd like to see many different problems instead of getting stuck on a hard one and spending my 7-hour weekly budget on it.
I'll give this 1st stage of the project about a month, so I plan to take codility's sample challenge in mid-April.
I will start exploring resources that are focused on the following:
- Ruby
- Competitive programming (cause time matters)
- Codility type of coding challenges
This leaves me to start checking out the following:
For some fun exercises and variety, I'll also consider throwing in some other good Ruby stuff:
- Exercism Ruby track
- Ruby Golf: Idiosyncratic Ruby and code.golf
- Ruby Gotchas presentation by Dave Aronson
Other places where this project might be reinforced:
- content creation collab with the Exercism team
- Curious Coders Chronicles
- and more...
Code Editor
Using a more lightweight text editor instead of my JetBrains RubyMine IDE could be good.
Less distraction, more training.
I have yet to start experimenting GitHub Co-Pilot or Co. in my daily coding life, but I won't start now 😁
Not only because it would be "cheating" (I think?) but also because the next stage of Toptal's interview is to do a coding challenge with a human developer.
Performance and productivity
In the tech world, when we talk about performance and productivity, it's mostly about time management and tools.
The truth is that a human's body is most productive in a healthy state with a top mindset. So I might share interesting learnings about diet, sleep, exercise, and health to boost brain power.
More resources to support the project
In case I get bored...
- videos: upcase, youtube
- Mazes for Programmers
- For top brain performance: The Healthy Programmer
- Python Brain teasers
- Numerical Brain Teasers
- https://www.algoexpert.io/
- https://www.techseries.dev/ was recommended as a resource for Toptal challenges in a blog post along with "Elements of Programming Interviews in Python: The Insiders' Guide"
- https://www.codingame.com/
- https://projecteuler.net/
- leetcode