Hacker News new | ask | show | jobs
by sultanofswing 2715 days ago
While the terms are interchangeable I would focus your efforts on becoming a Software Engineer (with a specialization in Front End).

I say this in an era of bootcamp grads, online micro degrees Udemy courses etc. where you can now study and 'become a web developer in 3 months etc.'.

It's true, you likely can learn enough about Javascript / frameworks / etc to build web applications in that period of time, but your overall knowledge and ability to draw inferences between web dev and other areas of CS will be severely lacking.

This isn't to poo-poo your path (I myself am a bootcamp grad), more hindsight as part of my journey.

What you are doing now is what most would likely call a 'top-down' path. Build some applications, work on some projects, learn one language all for the sake of building a portfolio. This is great! But it is only a piece of the puzzle. I would highly suggest you sprinkle in some 'bottom-up' learning as well (taking an algorithms class, or something fundamental to CS) and trying to draw the connections between what you are learning in the two domains.

I know that was a bit of rambling so to more directly answer your questions and concerns:

Q: "I have been self-learning for around six months and still have not found a solid path to follow." A: It is likely that self-learning is not cutting it for you. It sounds to me like you need structure. This could take the form of a bootcamp or micro degree or something more involved (slower) and academic... like a bachelors degree with projects mixed in. All have their advantages and disadvantages. At a high level:

- A good bootcamp will require you to be there in person, with fellow students who are on the same path. You will have structured learning and so will meander less. You will leave a good bootcamp having gotten out what you put in (ie if you slacked off they will not hold your hand) but may land a job. You will have spent a good chunk of money and even if you land a job you will have to fill in a lot of gaps.

- Micro degrees (like from Udemy) same caveats as the bootcamp apply but with swings. Will likely be far cheaper, but with less support, and likely less guaranteed outcomes. I haven't looked in a while but it's rare that I find people who have landed jobs doing these programs, while I can find multiple 'good' bootcamp grads who end up at many 'top' tech companies.

- If you go the University route you will have to amp everything up to the nth degree. You will spend more time + money. The effort that you put in will also matter A LOT (ie from what I've heard some people do the bare minimum CS work to pass classes, but never do interesting projects, push for good internships etc so they graduate and can't land jobs). It, however, my belief that if done right this can be the best possible option. A lot of bootcampers severely underestimate the importance of foundational CS concepts, these will be the first people in trouble during a recession or if there is a major technology shift.

Q: "Six months sounds like a lot but realistically it has been a few solid weeks of learning..." A: Six months is not a lot of time to learn almost anything. Let alone a year, or two etc. Especially if that learning has been very undirected (it sounds like you are meandering a lot). I know you are in a rush to be gainfully employed in a new career, but you shouldn't emphasize the time you've spent so much. The best engineers I've worked with are 15+ years into their careers and still think they are idiots.

Find a more structure path for learning, and don't beat yourself up over the time you're taking to learn anything. Good learning and understanding takes time.

Q: "Is the Web Dev job market in a good enough state that I should risk more time and money?" A: Yes, the market is still quite good for anything engineering related. Frontend, Fullstack, Backend you name it. Companies need smart people who can code and understand the systems they are working on. However like I said you should develop your skills so that if the current definition of a "Web Dev" changes in the next few years you can easily move onto the next thing. That means developing a love of learning and really understanding the core concepts that tie all of these seemingly disparate engineering fields together.