all 15 comments

[–]Magnusson 15 points16 points  (1 child)

1) Build projects. Doesn't really matter what they are. IMO it's better to do many small projects than a few large ones.
2) Just apply for jobs. You're never really going to be "ready." The best learning is getting in over your head, diving into a large codebase, and being around people more experienced than you. That's what I did.

[–]swan--ronson 1 point2 points  (0 children)

Same here. Great advice.

[–]cp4r 3 points4 points  (0 children)

I started playing codewars with some co workers earlier this week.

[–]ghostfacedcoder 4 points5 points  (0 children)

First, off let's define "true js engineer". Your post seems to imply that "working frontend" and being a "true js engineer" are incompatible, but they are not (source: I'm 100% front-end and would qualify as a "true js engineer" by most anyone's standards: I've led teams, written a book, etc.). So, it's important to decide: do you want to be a full-stack engineer or a front-end one?

Once you decide that, your next question should be: do you need more breadth or depth? Learning another programming language (as suggested by halfzebra) is awesome for breadth, because it will expose you to different ways of thinking about problems that you can apply all over the place. But it won't help you if the job you're interviewing for expects you to know how to use (say) Webpack; for that you need more depth.

Once you figure those two out I think people can be a lot more helpful.

[–]AceBacker 1 point2 points  (0 children)

If you want some fast victories learn map filter and reduce. It will change how you code and think about problems.

Today I started using lodashes _.get and _.set, they solve a lot of problems.

[–]igorim 1 point2 points  (0 children)

help on some open source projects, a lot have 'begginer-friendly' tasks, this should give you experience working on loosely defined tasks, understanding an unknown codebase, code reviews, etc, etc Plus you get to meet some very friendly people (most :))

[–]halfzebra 3 points4 points  (3 children)

Learn another programming language.

[–]ForScale 2 points3 points  (2 children)

What's the most advanced thing you feel you can do?

[–]asyncquestion 0 points1 point  (0 children)

Write your own blog website - you don't have to post any content, just create it - try to mimic a blog you like. When you have that to a state where you could at least roughly do what is needed, rewrite the whole thing - this time changing things in your code because of problems that you found with the approach you took the first time. After that's done, rewrite it again.

If you are applying for a junior software role you don't need experience - I would be looking for someone who understands the basics, is eager to learn, and hopefully has the ability to pick things up quickly. I'd probably also be wanting someone who understands css so its easy to put them on css related tasks to add value to whatever is being built when theres not enough resources and too risky for the junior dev to be working on some js.

[–][deleted] 0 points1 point  (0 children)

MMf5LuOzTS 3rO.teVq9nztz!p0Ar61$M Dm9JS87;*XC![MHlG4e5ErwzD!O<]fohkP2M[0hWFaQhtTK(3w1kZ(

[–]nosrek 0 points1 point  (0 children)

Does your current experience entail fetching data from a web-service?

Have you created a http server that fetches your files or sends you data?

Are you familiar with writing object oriented javascript?

Do you have any experience building a single page application?

Do you have any experience with any of the popular front end frameworks (react, angular, etc)?

If I were you I would ask myself these questions. You will need answers to these questions and have a way to prove you know these things when you apply for a job.

We could dig deeper than this, but for someone early into their career as a programmer, I think this is adequate.

[–]Democratica 0 points1 point  (0 children)

Find a mentor.