Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Apparently, I have a very different perspective than most! I get the criticism, that was me for a long time, but nowadays I decided to give it a fair shot and have made up my mind. Disclaimer: I never got a job with them, but do practice them from time to time.

What it doesn't train:

- Software architecture (do Factorio and/or systems design interview questions)

- Huge codebases

- Library integration

- Volume (aka lots and lots of code)

What it does train (YMMV):

- Precision: The goal is to write bug free code, this used to be a weakness of mine and now I'm less weak at it

- Simulating code in your mind: related to precision, I use the debugger less and my mind more.

- Finding ways to like the grind: nowadays I see data structures as micro-organisms or plants, they're so much fun to visualize that way! It taught me something about my personality (fantasy, whimsicality are my jam). If you know Vihart, that's how I think about data structures now. Because of this "epiphany" I suddenly find a whole new mode of liking abstract things that I previously didn't like that much.

- Learning how to make small programs that do something meaningful-ish and reason about them. Opening a file and doing a for loop and do some manipulation is IMO not meaningful enough. Tweaking a binary tree is, because it simply doesn't feel trivial. Normally I have this feeling when I look at large codebases.

- Practicing space/time complexity skills. This is super important, there have been moments where I really needed to rely on these skills because other engineers did some dumb things and where hogging the network or the CPU of the user's browser :/

- Muscle memory for the standard APIs of a language. My interview language is in JavaScript (on purpose because I'm a web dev). It's much easier now for me to write a map or a reduce. Before this, I needed to consult the docs, now I don't. I've subconsciously learned a lot of small little templates that allow me to write code quickly yet accurate.

- There have been weird moments where I did need to rely on data structures (e.g. creating an efficient trading bot or making a computer graphics application for drawing on a canvas in a performant way)

---

Is this the best way to get better at coding? No. But given that it does have some benefit to me and it might allow me to double or triple my income, why not try it? What I also like about it is that: if you know leetcode, then 50% of the companies open up to you. The other 50% are way more heterogeneous and the interview process feels too random. From the position I'm in, randomness is usually a bad sign (and sometimes it means I don't need to do anything to pass the interview, but that only happens once every 50 companies I apply for).



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: