Coding interviews: great tools and useful tips to make smarter choices
Tags: codenewbie, career, interview, programming
Published: 2020-11-24 10:06:01

#### If you came here because you’re only interested in the tools review for preparing yourself for a coding interview, scroll down. However, since you’re already here, why not start from the beginning :)

## Coding interviews as a GIF
![I have no idea GIF](https://dev-to-uploads.s3.amazonaws.com/i/wi0rvw4yg2sda2bj462w.gif)

## What’s the deal with coding interviews?
For many developers, both seniors and juniors, coding interviews can be quite stressful. We all find ourselves using specific technology for quite a while, and we wonder whether we’re good enough at other stuff that might come up during an interview. 

From my experience in interviewing software developers over the years, I learned that there is a bit of imposter syndrome and a few self-confidence issues devs have to overcome to be ready. 

An important part of your preparation for a coding interview is getting into the right mindset. However, I’m not going to cover this topic here. The other thing is to be ready in terms of the knowledge base you have. Even though you might already be familiar with certain concepts, there’s always room to refresh things. That's what I'll be focusing on in this post. 

## Time is your most valuable resource
While preparing to write this post, I wanted to get a different angle from the one I have. So I asked [Trey Huffine](https://twitter.com/TreyHuffine), whose opinion I appreciate very much, what he thinks is the most important thing developers should keep in mind regarding coding interviews?

> “The most valuable resource in preparing for interviews is your time. The more effectively you use your time or, the less time you waste, the better chance you have of learning the concepts and intuition you need to be successful in your coding interviews and being confident to handle any question possible.” -- Trey Huffine, Founder at [gitconnected](https://gitconnected.com/) and [skilled.dev](https://skilled.dev/)

## What do you need to know about the existing solutions?
To keep things simple, there are no available options that are *complete*. There is always a tradeoff and wasted time regardless of which platform or method you choose. More specifically:
* You still need to search the internet to fill in gaps or get the full experience needed to prepare. 
* Many options focus on just grinding problems instead of focusing time effectively preparing across a broad range of categories to learn what’s needed. Time should be spent learning the most important concepts and most likely to be tested on. 
* Many tell you what to study but not why you’re studying it and the learning outcomes. 
* Lack of in-person support. Not everything can be done automatically with pre-existing texts and videos. Sometimes, you just need to ask a question in your own style. 

## Let’s review some cool tools to help you land your next job
### [Codewars](https://www.codewars.com/)
Achieve mastery through challenge. Codewars focus mostly on improving your skills by training together with others on real code challenges.
* **Pros**: It’s Free! Good for doing practice questions and staying sharp. Good community and a points system.
* **Cons**: No focus on interviews. It’s meant to stay sharp on programming and more for just the fun of coding—no categories that again mean that this forces you to focus on grinding instead of learning.

**Bottom line score: 4 out of 5**
Why did I give this score? Overall the concept is great and innovative. The pact you can collaborate and that it’s free is a game-changer for many devs. It didn’t get a 5 since it’s not tailor-made for interviews. It’s a great tool to make you better at coding interviews, but you’re going to need to work hard to use Codewars.

### [Skilled.Dev](https://skilled.dev/)
Skilled.dev contains years of interview expertise refined into a single platform, carefully curated to teach you exactly what you need to know to crush your coding interviews and land the job. Ii guides you step-by-step and provides all the tools to make it incredibly easy to prepare for interviews.
* **Pros**: Skilled.dev tries to be as complete as possible, so you never have to leave the platform (minimizes the need to search for additional knowledge outside). It’s curated and targeted for interview preparations for seniors and devs who just came out of coding Bootcamp. I appreciate that it’s comprehensive: each question contains a step-by-step guided text article, a solution walkthrough video, and an integrated code execution environment to test your solutions.
* **Cons**: It was recently launched. That means it’s quite fresh, and if you can’t make the leap of faith of being an early adopter, perhaps it’s not for you.

**Bottom line score: 4.5 out of 5**
Why did I give this score? It provides a great solution for so many problems that current coding interview platforms miss. I couldn’t give it a 5 since it’s newly launched, and people are trying it out. Super curious to see those reviews coming in the next few months. I personally believe that skilled.dev can go big and ace that 5 out of 5. 

### [LeetCode](https://leetcode.com/)
LeetCode is a platform to help you enhance your skills, expand your knowledge, and prepare for technical interviews.
* **Pros**: Many problems and broken into categories. Why is it important? It gives solutions to problems with brief explanations. Also, there is a comment section and forums for discussions.
* **Cons**: No guidance or curation - it’s up to the user to decide how to spend their time, which may or may not be effective. The problem is that this forces you to focus on grinding instead of learning. We can see that the explanations are high level from user reviews and don’t go into details. It forces the reader to do more research to gain the prior knowledge needed and discover the important learning outcomes. To put the cherry on top, it also might be a bit expensive for many developers.

**Bottom line score: 4 out of 5**
Why did I give this score? This platform has some serious track-record. However, they still miss some of the fundamental things that an average user would expect, like proper guidance. The content is great, but it misses the user experience that would make it easier to use without wasting a lot of time.

## Other common methods to prepare for coding interviews
### [freeCodeCamp](https://www.freecodecamp.org/learn/coding-interview-prep/data-structures/)
* **Pros**: Great community. Some curation.
* **Cons**: It mostly points to external sources. The curation is light, so you still likely are just grinding questions and forced to search the internet when you don’t understand. Not clear why certain topics or questions are chosen - you have to discover the learning outcomes for yourself

If you into things that freeCodeCamp, you might want to check these two resources as well:
* [Tech Interview Handbook](https://yangshun.github.io/tech-interview-handbook/)
* [Coding Interview University](https://github.com/jwasham/coding-interview-university)

### YouTube Channels
* **Pros**: Free. Many great teachers. You can probably find a video for anything.
* **Cons**: It’s not guided or curated, so it takes your own time to decide what to study, and you’re forced to figure out what’s important. It forces you to decide what’s important to learn and study. Uncertainty about how well things are maintained or updated. There isn’t a code execution environment to be given sample code, tests, and solutions

### [Crack the Coding Interview](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850) [Book]
* **Pros**: Many questions. It’s cheap relative to something like LeetCode. Covers all interview topics (teaches concepts, goes through the job hunt, discusses soft skills, covers all essential data structures and algorithms).
* **Cons**: It’s not a one-stop product. Explanations are still at a high level for data structures and algorithms. It likely forces you to gain further knowledge online to truly learn the topics, unless you have a computer science background and just need a refresher. It’s a book, so you miss out on all the aspects of digital (i.e., an environment to run code and test solutions, community discussions, videos, interactive examples, easily linking and connecting between topics and concepts). Also, since it’s a book, you have no way to get updates once you buy your copy

## Main things to consider before you go
* **Are you only to free stuff, or are you willing to pay a bit to get higher quality presentations?** My recommendation is to positively consider making an investment here and not going free-only. Most of the premium content out there isn’t free. If you care about getting the job you want fast, perhaps you should consider making an investment.
* **How time-conscious are you?** Several platforms tend to waste a bunch of time, which otherwise can be used to prepare itself. 
* **Is it your first interview? Or are you already familiar with the process?** If you’re new, I’d recommend starting with the online platforms like skilled.dev and LeetCode since it has the interface to check your answers online.

I hope you enjoyed it and that you can now make a better decision in your interview preparations. 

<hr/>
_[daily.dev](https://api.daily.dev/get?r=devto) is the easiest way to stay updated on the latest programming news. It's a feed of articles that's ranked by a community of +60,000 developers. Get the best content from the top tech publications on any topic you want. All in one extension._
[![Daily Poster](https://dev-to-uploads.s3.amazonaws.com/i/fuiu65dyow99idmn6e3e.png)](https://api.daily.dev/get?r=devto)