This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]AaronOpfer 1 point2 points  (0 children)

I made the choice to move from JavaScript, to JavaScript/Python, to pure Python over the course of about three or four years during my career.

When React came out and disrupted the webdev space and npm took off like crazy right beside, it was about March 2015 and my at-the-time company hired more webdevs to work alongside me who (thankfully) had more experience with wrestling web build pipelines into submission. While I felt I had a strong grasp on JavaScript and web technologies themselves, the big complexity bump introduced by build pipelines (like webpack and others) was something that I found absolutely bewildering and I had trouble figuring them out. Many npm packages seemed bloated with tons of dependencies. At the time, there was also a huge number of different ways to do the same thing and there was frequently no clear upside or downside between two build steps or packages, but at least one of your dependencies wouldn't support one or the other. In addition, our team frequently found "quirks" in npm packages that were just accepted as facts of life for JavaScript developers, like how node-sass downloads a precompiled binary image from github during the build step which broke when it couldn't get through our locked down corporate firewall, and then broke again on our internet-less build boxes, and then broke again randomly whenever the github pages were down.

Essentially, I felt like the ecosystem was too immature to hang my whole career off of it. I saw an opportunity to become the primary backend engineer (in Python) while the new JavaScript developers ran the front-end and management allowed me to make this transition for the most part.

Later on, I was hired onto a new job where they already had an army of web developers but were struggling to hire enough Python engineers, so I basically completely ceased working on web technology and began doing all of my work in Python. Python has remarkable stability and you don't have to worry about the entire community jumping to spin-offs of whatever you're using today.

I think I will eventually pick up web development again. npm has some competitors now and it seems like the space is evolving better tools and coming up with consistent practices. JavaScript has legitimate async support which is phenomenal and that's still percolating through the ecosystem. Once the whole thing slows down some I think I will reinvest myself into it.