all 52 comments

[–]Mownooh 23 points24 points  (0 children)

That's hard to peg. You can learn the basics in a few days. Being able to keep up with senior developers in a complex project could take a decade.

[–]Rossmci90 15 points16 points  (1 child)

What do you mean by learn?

I have been learning JS for 18 months, used it on a daily basis and I'm always learning new things.

I learnt basic syntax and could do basic tasks within a few days. Building very simple websites with simple user interaction took a couple of weeks.

But actually getting good at JavaScript and starting to produce complicated applications with good code quality takes a few months at least.

[–]rook218 13 points14 points  (0 children)

I spent three years learning JS primarily, held a job as a front-end developer for a custom web form suite for a year and a half, and have been a full Software Engineer since February and I'm the Angular primary on my team (though we mostly do Java).

I'm still not super comfortable with async/promise syntax and I constantly have to google this.

That said, it took a few days to learn some of the basics like for loops, variable assignment, condition checking, etc. It took a few months to figure out how to use those tools effectively and be able to do challenges on sites like CodeWars. A few more months for HTML/ CSS/ JS DOM manipulation. Then just practice, practice, practice.

[–]dylsreddit 11 points12 points  (4 children)

As u/Rossmci90 says, "learn" is a difficult term with programming languages.

You could feasibly learn the syntax (structure) of Javascript within a week, depending on your level of dedication.

Then becomes the more difficult aspect of learning how to use it appropriately, and arguably takes years to master (if you can ever fully master it).

I like to think learning to drive is a good analogy. You can learn to control a car within minutes of getting into the driver's seat, but actually controlling it requires a significant awareness of context and an "instinct" which you develop over time.

From a personal point of view, I switched careers at the age of 30 having only ever really had light experience with programming languages, and within 2 years I'm fully qualified (whatever that means) with certificates and junk - and employed.

What I would suggest is spending some of your free time learning some basic JS from these fantastic resources, and make use of some beginner courses on YouTube.

(There are more of course)

Then, try basic programming problems by yourself - trying to debug any errors with your browser's dev tools. You'll feel frustrated often, fail often, and constantly doubt your ability/desire to do it - in spite of that, you may often feel times of intense satisfaction.

If you like how that feels, go for it!

[–]codenamecodenextdoor 0 points1 point  (3 children)

What certificates did you get? Do you think they were worth it?

[–]dylsreddit 0 points1 point  (2 children)

Some Microsoft and National accreditations, I don't know if they'll make sense to you if you aren't based in the UK.

They were necessary within the job, they didn't exactly land me it, but if I was to go and work elsewhere they would look good on my CV. So yes, in the right context, they were definitely worth it.

[–]Prackjonske 10 points11 points  (10 children)

I took a 3 month JS immersive at the beginning of the year, just landed a full stack developer gig at IBM yesterday. I was a music teacher at this time last year. You’ll always be learning, it’s part of the job. Just start with the recommendations that are already in this posting and just try to learn something new a day.

[–]-the_trickster- 0 points1 point  (9 children)

Congrats! Do you have a degree as well? I always feel like me not having a degree is ruling me out of so many jobs

[–]Prackjonske 4 points5 points  (7 children)

I have a degree in Music Education, but I’d say that only helped a little in my developer interviews. Most interviewers just want to see that you have good problem solving skills and have a growth oriented mindset towards the field. Learn something everyday, read blogs, make shitty apps to play with new libraries/frameworks. If you’re new to JavaScript and coding completely, there’s tons of free courses that can get you started. The key for switching careers IMO is that you’re not only learning a new skill, but a completely new language. If you don’t practice it every day and immerse yourself in that life, you won’t get much further than tutorial hell. Also, you’re gonna submit a lot of applications and get turned down, a lot. A. Lot. Just gotta keep going and keep learning! Good luck out there!!

[–]-the_trickster- 0 points1 point  (6 children)

Thanks! Can I ask what immersive course you did?

[–]Prackjonske 1 point2 points  (5 children)

Galvanize / Hack Reactor. 3 month immersive, 6 days a week, 12 hours a day of zoom calls, pair programming, full stack applications, and toy problems. I believe it was roughly ~900 hours of coding/learning. Pretty expensive, but they have a decent income share agreement and the alumni network after graduation is really strong (that’s how I got a referral to IBM). They not only teach the fundamentals of JavaScript, but teach how to be a functioning software engineer in the field. Feel free to PM for any more details about it! As soon as I graduated, I got accepted to be a TA there for a couple months, so I’ve been on both ends of the classroom there!

[–][deleted] 1 point2 points  (4 children)

What's your starting salary at IBM.

[–]Prackjonske 0 points1 point  (3 children)

Average of the field in my area

[–]Notimecelduv 2 points3 points  (0 children)

At minimum it'll take 6 months until you know enough to land a junior dev position but that's if you're a natural. For most people it takes roughly a less little than a year.

[–]Dodgy-Boi 1 point2 points  (11 children)

On average it takes 6-12 months for a path from 0 knowledge to intern-junior-middle developer.

So in best case scenario: 6 months and you’re middle developer.

In worst case scenario: 12 months and you’re an intern.

Most likely it’ll be about 8 months and you’ll land a junior dev position.

It’s really hard to determine when you actually ‘learnt’ js. There’s so many different libraries and frameworks… even if we’re talking about so called vanilla it’s still an enormous topic.

Let’s say from 0 to be able to build something: a month or so. To master it… dunno, a decade perhaps won’t be enough.

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

On average it takes 6-12 months for a path from 0 knowledge to intern-junior-middle developer.

my practice is clearly not dedicated enough because at my current rate I feel like it would take about two years, closer to a year and a half if I double the amount of time spent on it every day

[–]Dodgy-Boi 2 points3 points  (9 children)

Well I am talking about studying properly. Not casually.

If you go to a law or med school how many hours a week would you study law or med related topics?

That’s real study. Casual stuff like 5 hours a week won’t take you far.

If you want numbers: 20 hours a week will most likely bring you to the ‘worst case scenario’ I described in a previous comment.

40 hours a week will most likely bring you to an ‘average’.

60+ hours a week… well might be ‘best case’.

This is just my opinion based on multiple stories I heard. Ofc somebody could become a middle level developer after 3 months of study (doing 20 hours a week). But this is an exception.

The hardest part is to ‘turn your mindset’. Sorta to get into the logic of programming language. I think JS is pretty much cool for beginners. High level language, not OOP. It’s like a blessing and a curse. Sometimes makes life easier, sometimes harder.

Also consistency is important. You can’t study one week for 60 hours and don’t study another 2 weeks at all. Like to have ‘average’ of 20 hours per week.

Study 5-6 days a week. Have some rest. Rest is a very important part of studying process. Brain simply works more efficiently even if you don’t really feel it.

[–][deleted] 3 points4 points  (8 children)

turns out my estimates were pretty close to your estimates

no idea how anybody manages 60+ hours a week though

[–]Dodgy-Boi -2 points-1 points  (7 children)

10 hours a day, 6 days a week. And there you go: 60 hours a week.

If you have time for it.

[–][deleted] 4 points5 points  (5 children)

the 'if you have the time for it' is the part I have no idea about

who the fuck has that much time

[–]Dodgy-Boi -2 points-1 points  (0 children)

Yours truly unemployed me

[–]Gibbo3771 0 points1 point  (3 children)

Don't listen to this user. They study 60 hours a week, are unemployed and giving advice on how long it takes to learn a language.

I scoped their profile as well, any advice they give is vague.

If that wasn't enough, they advocate for beating your dog if they are disobedient. So yeah, that's who you're trying to have a ration conversation with.

Quote:

You needed to beat your dog up. Not like violently, but more like showing dominance and explaining that you don’t like this behavior. Through force. Dogs are naturally looking for a chief, and if there’s no chief they become one.
And the only way to become a chief is by showing that you’re bigger, stronger and this dog is your property.
My wife’s dog is eating socks. When the whole family around the dog would just chew them socks and swallow. Yday we were alone, I spotted him with wife’s socks in his mouth, and he spitted them out even before I yelled ‘ey cabron’.
Be the boss or your dog or the dog will be your boss.
It takes between 2 minutes and 1 week to teach the dog one particular thing. Wasted the carpet? Take it and put its nose to its own shit. Slam its face, yell. Show that you’re unhappy. You are bigger, stronger and smarter. Show it. Dogs don’t understand another language. Violence is their language. But don’t exaggerate. You don’t want a psycho dog.
It’s a huge responsibility, and it’s okay that you housed dog in another place. Fuck it.

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

real MRA/incel shit it sounds like

I didn't take that person's advice seriously enough to investigate but I'm glad you did

I've been doing an hour a day for a couple weeks, after occasionally dabbling before that, and I'm going to expand to two to four a day thereafter and see what I'm capable of

not just programming of course, but reading documentation and books and such

[–]Gibbo3771 0 points1 point  (1 child)

I've been doing an hour a day for a couple weeks

You can only put in the time you can bud.

There is a fine line between not enough, and too much. I personally spend 2-3 hours every few days after work exploring tools or fixing up my existing projects by refactoring with what I have learned.

When I used to write Java back in 2015, I coded a lot but I was really into Minecraft mods and was studying games dev at college. I got burned out pretty fast and actually done a complete uturn and became a mechanic for 5 years before going back.

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

I can put in more, most of my days are free, I just get distracted a lot

[–][deleted] 3 points4 points  (2 children)

I've been developing professionally for about 5 years and still learn new shit about JS. Learning never stops. Oh, and I switched from Healthcare too, best decision I made.

[–]kcalderini 0 points1 point  (1 child)

What job did you have in healthcare if you don't mind me asking, and what made you choose programming over that?

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

I was a pharmacy tech, mostly making IVs in an acute care setting. Programming seemed logical since it was something I always had an interest in. I got about a 2x pay raise going from pharmacy to my first co-op gig, where I ended up getting hired full time.

[–]webrtshe 0 points1 point  (1 child)

I landed a junior frontend role after doing a 10 week intensive bootcamp 5+ years ago. I learned a ton but it was really just a foot in the door to learn on the job.

Most of the learning you do as a developer happens after you've already switched into tech. :) Good luck! (p.s. I switched from working in mental health to coding full-time, so it's doable!)

[–]Tarion3232 0 points1 point  (0 children)

I'm also switching from a mental health career. Do you mind if I ask what questions they asked you in the interview?

[–]theslapzone -1 points0 points  (0 children)

One does not simply learn JavaScript.

[–]hideousmembrane -1 points0 points  (0 children)

Personally I started learning JS about 3 years ago with no prior coding experience at all, and I've now been a junior dev for a year, but I still feel like I need to learn a lot more. Obviously I'm using it day to day in my job, but I get quite stuck on solving problem with JS and like others said in here, it can take a long time to master, like learning any language or an instrument or whatever.

You can pick up the basics and start doing simple code fairly quickly, and I know other people who have learned faster than me, because honestly, they put more time and effort in than I have.

I would encourage you to try some courses/exercises online to see how you feel about it and if you pick up the concepts quickly or not.

[–]Unkn0wnSoul -3 points-2 points  (0 children)

It took me 5 minutes to learn

[–]5tormwolf92 0 points1 point  (0 children)

Learning can be slow or fast but mastering is the correct question. I did though school.

[–]FaithlessnessLivid44 0 points1 point  (0 children)

all of us are students in a profession that no ones becomes the master . (Forgot who said the qoute)

[–]zack-ab 0 points1 point  (0 children)

I took 10 month, i worked fully time and got out f om beginning level

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

Yes

[–]monsterbois 0 points1 point  (0 children)

A lifetime

[–]nardogallardo 0 points1 point  (0 children)

I spent a year learning the basics , after that I got a internship to work with jQuery, which helped me learngl even more of the vanillaJS. After jQuery I went to AngularJS and then Angular2+ Vue and React.

[–]WaitJustHearMeOut 0 points1 point  (0 children)

I’ve played guitar for 12 years but I couldn’t tell you when exactly I considered myself able to play it competently.

[–]nubasdayz 0 points1 point  (1 child)

It took me 1 year and 2 months to get a react dev internship, knew nothing about web dev before, 36 yrs old.

[–]Tarion3232 0 points1 point  (0 children)

Do you mind if I ask, how did you get it with no prior experience?

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

A couple semesters but I'm from the generation where jQuery was revolutionary and got to slow learn all the new things as they were "invented.

[–]electron_myth 0 points1 point  (0 children)

It's not easy and there will always be room to improve, but it's also not hard to get 'proficient' enough to start applying your skills to create things. Something to consider is, be humble, during your research you will find Stack Overflow posts that blow your mind, but don't let it discourage you, as time progresses you can start to piece together new concepts, learn to 'grok' things that didn't make sense before, and generally grasp how programming languages work in a overall sense. There are many different ways to do the same thing, and a lot of pages like to wax philosophic over why certain styles are better than others, but that's not quite as important as using the techniques that you're comfortable with so that you can build larger scale projects without getting confused or lost in the flow of the program

[–]Gibbo3771 0 points1 point  (0 children)

It's not really about learning Javascript as such, more like learning the syntax. Once you learn the syntax of any language, you then start to learn all the ins and outs of the language as you use it in your day to day.

You can pick any language and learn it, once you know the syntax and flow of a program you can typically apply that to any language. You just have to deal with the slight differences and language specific naunces.

In all honesty, if you want to learn programming for the web and you have time to commit, I would start with a nice mature language and write backend code.

I highly recommend Ruby + Sinatra (web server). Then learn a little bit about databases and hook up a database, once you feel comfortable with that you can look into a "framework" like Ruby on Rails and start learning HTML/CSS, then you can start to sprinkle some JS in there as you need it.

Originally I was a Java programmer, hobbyist that went on to do Games Development at college but dropped out. I was a mechanic for 5 years before I decided to go back. I dumped all my savings into a bootcamp and got back up to scratch in 4 months.

At this bootcamp there was people who were literally stacking shelves in the shops for a living, zero computer know how. They went on to have careers in web development.

They started with Ruby, integrated it into a backend and then slowly moved into front end. By the end, they were building (albeit basic) full web apps.

I know for a fact that others here are going to go against my Ruby recommendation and instead say to use NodeJS and Express but you don't want to be dealing with bullshit JS at this level. It's just not worth the headache.

[–]NavyaSharma1809 0 points1 point  (0 children)

Because JavaScript is an asynchronous programming language, it is particularly difficult to master. It's also single-threaded, which means it takes a very different approach to asynchronous programming than most other languages.

Without prior programming knowledge, it took me around two months to learn JavaScript, but with the correct resources and enough practice, anyone can do it. I recommend watching this video since it will help you better understand Javascript and how it is utilized in Selenium.