Hacker News new | ask | show | jobs
by playingchanges 1953 days ago
One more angle since I haven’t seen anyone mention it.

Instructions on how to bootstrap a software portfolio:

Pick a language (sounds like you chose JS which would be my pick as well), buy a copy of cracking the coding interview, make a leetcode.com account, make a codepen.io account, and get to work.

If you’re smart and dedicated you can teach yourself this stuff and these are the best tools to help you in my opinion.

Spend your time solving problems on leetcode and then utilizing these techniques in codepen portfolio pieces.

In my opinion with serious dedication you can have a junior swe worthy resume and portfolio put together within a year.

[edit] since the question inevitably comes up with JS in my opinion you should not spend any time focusing on front end frameworks. Learn Vanilla JS, HTML and CSS, you will blow your interviewers away if you can solve their problems without a framework and it is overhead you don’t need as a beginner.

8 comments

> buy a copy of cracking the coding interview, make a leetcode.com account

In my opinion this is a pretty bad advice and I see a lot of entry level programmers struggling for a long time because of this. A basic algorithms and data struture book (something like Introduction to Algorithms by Cormen, and Data Structures by Mark A Weiss) is a must before jumping into leetcode/cracking the coding interview. One needs to have a foundation before diving straight to interview problems.

Also, having a Cormen handy is always a good idea regardless of your expertise level with data structures/algorithms!
why cant ctci be supplemented by youtube videos? perfection is our enemy and many non faang jobs dont do LC interviews
Because ctci is a terrible book to start learning basics from. I agree with let perfect not be the enemy of the good, but CTCI/LC are not good, they are terrible and overwhelming for someone with no background in algorithms.
agree with this ^. Pretty sure the book was written with STEM (but really, comp sci) new grads in mind
Cracking the Coding Interview and leetcode are good advice for getting a job at a FAANG or a startup (not that startups hire juniors..), but they're much less relevant at small- and mid-sized software companies. Applying to a FAANG/startup you're up against top graduates, people who have been coding for decades (even for junior roles), and highly motivated people who already have more demonstrable experience than you.

If you're applying to somewhere small it's less important to demonstrate you're already a good developer, and more important to demonstrate that you're interested in learning what the company can teach you, you're a decent human being who the company will want to be part of the team, and that you're not going to give up after a few weeks. Tools like leetcode won't teach you those things.

Agreed. I know plenty of highly intelligent, super talented and experienced people who had to take multiple rounds to get into Google. I myself tried it once and made it to the hiring committee, but was ultimately rejected. I was an experienced developer and prepared myself pretty well and was still nervous as hell.

To be honest I don't know how without any prior experience or graduating from a top uni you would get an interview at a FAANG in the first place.

I think this is partially bad advice, sorry.

Sure, algorithmic thinking is valuable, but linear programming and complexity theory has no bearing on 99% of all web development jobs that require JavaScript and in this context I think this fetishisation of Informatics Olympiad style puzzles is the wrong advice for someone trying to enter the field. You do not need an in-depth understanding of computer science to get started with programming or survive in the field, especially not in an enterprise environment. I met Java developers who I suspected didn't even know what class is to be honest. But people like this can thrive at big corps.

In the first year of university I had Prolog, EBNF and partial derivatives, theoretical foundations of computing, linear algebra and stochastics but how much of that stuff do you really need when programming a UI? The complexity lies elsewhere, understanding business requirements, talking to people, avoiding technical debt by talking PMs out of weird requirements, structuring your application in a modular fashion, staying up to date with the eco-system etc.

I agree that focusing on HTML, CSS and vanilla Javascript before jumping into React, Vue or whatever is a good idea tho. For frontend development job, the best thing in my view would be a solid understanding of the web fundamentals + experience in one of the big three frameworks. Outside of that, I think there are probably a lot of jobs where being able to just work with Wordpress templates is good enough tbh.

Anyways, when I'm hiring "juniors" or I'm looking for something that tells me the person a) actually likes programming b) has some demonstrated talent (problem solving, compositional thinking, whatever you want to call it) and is able and willing to learn and c) is able to work together with people (which is the biggest problem with self-taught solo-devs, not having worked in teams before) d) is not an asshole

> … how to bootstrap a software portfolio

This is how I got my first job in the industry. I built software and websites to solve problems that I personally found useful. Though the solutions were (in retrospect) rather unpolished, they were good enough that a team saw some potential and were generous enough to take a chance on me.

Initiative and enthusiasm are pretty big factors that personal projects demonstrate, even if the actual outcome isn't anything to phone home about. If you're genuinely interested in the type of thing a job requires, you'll naturally pick it up faster.
L33T Code teaches you nothing about building reliable, fault-tolerant, and performant computer systems.

It’s irritating as fck that these FANG companies are so brain dead, that this is all that they can focus on.

What annoys me is that demos are not really solid proof. You may write something functional but full of yet to find bugs and bad style, perf issues.. where do you stop, how polished and solid should a portfolio be ? I'm on the perfectionnist / obsessive kind and its really difficult for me to balance that.
This is the best advice. It's 1000x easier to learn this stuff remotely than it was when I was starting out in the late 90s. Back then it was all black magic or institutional knowledge or higher-education backed.

Learning JS would be my pick too. In fact, there are coding schools/bootcamps that also make this their #1 pick.

Learn JS, HTML, CSS. Play on codepen, make things. Once you've got that down then you're ready to tackle cracking the coding interview and get that job.

It's hard for us vets too you know. With ever increasing requirements, frameworks, tools to learn. We also practice this make stuff in order to stay relevant. Coding is a life-time of learning (new frameworks, new languages, new ways of doing things) and is very rewarding. Graphic Design is as well in the right brain category of work. Web needs both. Right brained people, left brained people, new coders to grow teams, old coders to mentor and lead those teams.

Either way, either path you choose - Backend or Frontend, there's never been a better time to learn this from online resources in the comfort of your PJs.

Suggesting "Cracking the Code Interview" for a front end dev should come with this repo, where it has solutions in Javascript: https://github.com/careercup/CtCI-6th-Edition-JavaScript