From Coding to Job 1

Basics, after the language

Congrats on finishing your language! You now feel like you can make anything, and theoretically you can, so long as your language gave you pointers and memory access, or you thoroughly understood it. If not, go back and learn C++. No, seriously. C++ was (until Rust) the only language that gave you both Objects and low-level memory, which will allow you to optimize those ridiculous interview questions later. But if you wish to skip that for now, that’s fine, just keep it on the back of your mind, as it’s necessary for games later.

Design Patterns

 There are 2 design patterns you will encounter, your own and known types. In short, design patterns are common ways to write code that avoid duplicity and common errors, or give error handling to you in a standard way.

 

When you write software, you will rewrite it attempting less lines, at least if you do what I did making games. In your attempt to follow D.R.Y. as well as attempt the-same-functions-without-losing-features by reducing lines, you will effectively learn your own subset. But at some point you need to learn Gang of Four’s standard.

 

 

 

Algorithms

 Algorithms are a current standard in programming. I do not believe they are needed for an interview, in short because engineers learn things, play with them, and innovate on them for fun and can always spare some time to optimize during the project… but current mindset of big companies is to ask you for ridiculous optimizations first thing. But let’s stick to the positive side since you’re a junior and hopefully don’t apply at Faang your first interview.

There are ways CPU’s work that brains can not, and in order to work with the compiler, you need to learn structures of data that organize things in ways you might not be used to. For example, a Binary Tree combined with a sorting method will allow you to find 1 object in a million in less than 32 actions. For this reason you must learn Trees, Sorts, Arrays.

I recommend Udemy’s Rasmussen for a light-hearted intro, but there are many new courses every day and find what works with you. Remember to use different instructors, videos, blogs, always search.