Ask HN: Is web development still a viable career choice? - <AUTHOR> Hello HNers,
I am an aspiring web developer. I have been self learning for around six months and still have not found a solid path to follow. Six months sounds like a lot but realistically it has been a few solid weeks of learning since it is a side hobby that I hope will turn into my career.
Is the Web Dev job market in a good enough state that I should risk more time and money?
Thanks for any advice… <comment><USER2> The thing about web development is that the definition of "web developer" can vary wildly. Web development is a big field and can include a wide range of skills. Making a static html info page is web development. Building a SPA with a database and auth and user uploads and deploying it on aws/azure and scaling for a million users, also web development.

If you are thinking along the lines of the first example, eg. the "I know html and css, I can build a website with pictures and operating hours for a mom and pop shop" developer, this market is shrinking with platforms like wix and squarespace where regular people can build these sites and maintain them easily and for cheap. Not to say you can't still make a living doing this, but it is something to be aware of if it is the route that you choose to take.

If you are thinking more about the second example, yes, there is a high demand (and rapidly growing market) for this kind of developer at startups and fortune 500s and everything in between.

Overall, the answer is yes, web development is still a growing field and it is absolutely a viable career choice, but it is important to keep learning and be aware of the market and adjust accordingly

<comment><USER3> Right, web apps aren't websites. The distinction is pretty sharp when you move from a simple static old fashioned display to Amazon tier complexity where money is being transacted, log in information stored, orders updated, and a million more things besides.

The big question is if the internet and its primary portals, the desktop browser and the smartphone, will reach the end of their tether. The only thing I could see replacing it is neurotechnology of some sort, and that seems so far off and so difficult to commercialize that it's not something web developers need to worry about any time soon. Or perhaps quantum computing becomes commercially viable and simply shoves digital computing aside, negating the need for those skills completely.

Another alternative is that the web radically changes unforeseeably and new practices instantly antiquate everything people are learning now, which is a more frustrating and realistic possibility and also something that is bound to happen. Given how difficult it can be for many people to learn these skills, and given how much knowledge one must integrate to be a productive developer, this is an upsetting potentiality and one that is bound to happen eventually.

Not every field carries these risks. Law practice isn't going to change fundamentally in the coming decades. And some aspects of coding can be exhausting and demoralizing to learn. Past generations of coders have had their skill sets rendered null and void and it will probably happen again at some point to this generation.

<comment><USER3> Another risk I think is the automation of coding. It already happens all the time, and in principle coding should be the most automatable of anything. The only thing saving it is that it's very hard to automate the creation of good ideas or purposeful human intentions, which naturally inform most successful coding projects. There's also a bit of a conflict of interest, why would coders building automation systems want to automate themselves out of existence? I think these rationales protect software developers' job security for the near to mid-term future.

I'm also thinking that how people code could change drastically, but even so, that's less of a problem. Because the rules and logic of any programming language boil down to fundamental computer science principles which should remain constant despite the interface you're using to code, whether it's a keyboard and monitor or some kind of visual drag and drop thing or whatever someone comes up with.

<comment><USER4> You have to think of it at a higher level: My job isn't coding, it's clarifying ideas. Programming languages can get higher-level, and more automated, but nothing is ever going to free us from the burden of clarifying our ideas. I believe this makes my job (the interesting parts, at least) pretty safe in the long-term.

<comment><USER5> That's a very nice way to put it IMO. See also this commit strip comic about the same topic: [http://www.commitstrip.com/en/2016/08/25/a-very- comprehensiv...](http://www.commitstrip.com/en/2016/08/25/a-very- comprehensive-and-precise-spec/)

</comment></comment></comment></comment></comment><comment><USER6> Solving [business] problems is a viable career choice.

Web development could be solving someone's essential business problem or totally non-essential for someone else.

The key is to find the customer for whom whatever you're doing will solve essential business problem.

Quite often web development is exactly what customer needs but he won't call it this way. He won't use this wording. He won't look for web developer. He won't pay for web developer.

But if you approach customer by speaking customer's language and showing customer how you can solve his problem - the result could be way more win-win and productive.

You won't hire an expert in "connecting wooden boards with nails" but you'll more likely to hire an expert in "building houses" to build your own house.

That's an idea.

<comment><USER7> This is just bypassing OP's question. You could similarly ask if plumbing, plastering or tiling is still a viable career choice in construction, or whether one should focus on general carpentry.

You'd then try to work on projects where your construction specialty is seen to be more valuable than not, that goes to your comment. But that's an entirety different question than whether a specialty should be pursued, and if so what specialty.

E.g. in this case whether it's still a good move for a new developer to start out his career by focusing on web dev v.s. say native mobile dev, or mainframe development or whatever.

<comment><USER8> For whatever it's worth, their answer was pretty close to my immediate reaction when I saw the question. Maybe another way of phrasing the answer is that no, I don't think 'Web Dev' is a viable career option. This becomes even more true when viewed on a time scale of 10, 20, 30 years. (Tying to a specific technology brings the horizon in even further... Web Dev 20 years ago was CGI scripts, 10 years ago it was server-side rendering frameworks, these days it's SPA's...)

What I do think is that 'Web Dev' might be a viable first step within a career. It's a good way to get yourself into a spot where you're exposed to signifiant problems, and if you're lucky, it will also give you exposure to people that can help you along, as you develop your career. (But it's important to be intentional about both.)

At the very least, that's how I answer then question when asked in person... focus on the specific tech as a tool in the short-term, and then focus on effectively solving problems people care about. It's better for them, and most likely, better for your own personal career development.

(Edit: Some of this may just be my own perspective... My professional work has included everything ranging from small scale embedded programming to large scale clustered web apps and platform development. I'm grateful for never having thought of myself as a 'web dev', even though it is something I'm capable of.)

<comment><USER9> Dunno, I started out with a lot of perl-cgi, and now do mostly react/redux/material-ui on the front end... I've picked up a lot of backend stuff over the years. SQL/PostgreSQL/Firebird/DB2/Oracle/mySQL, mongo, aws, azure, rethinkdb, rabbitmq, etc... The key is to not rest and constantly be learning/growing. That includes line of business knowledge.

I love this kind of work. Writing learning software for airplane systems. Accounting and auditing systems for fortune 100. Kiosk+POS for water distribution platforms. Security software. Election services software... It's been an amazing 24 years, and I have absolutely every intention to keep learning/working until I die.

I find that a lot of people just think that "web dev" stops at the browser.

<comment><USER10> Since now the web interface is ubiquitous everything could be labelled as "web dev", but for me your examples are general "software dev".

</comment></comment></comment></comment></comment><comment><USER11> Yes. I am the co-founder of Lambda School - (YC S17 - a CS education where the school doesn't get paid unless you get a good job). Right now we see about 3 students/day get hired.

You'll likely hear a lot of people talking about how the market for juniors is flooded. That is partially true, but it's flooded with people _who cannot code_. If you can actually be a productive employee I literally know 100 companies that will hire you today. As a self-taught engineer you have to convince them of that, which mostly means a solid portfolio, but there is insane demand. And if you get even one year of experience you won't believe how many opportunities open up.

There are individual companies whose annual growth in engineer hiring is greater than the total number of CS and bootcamp grads combined.

<comment><USER12> _That is partially true, but it's flooded with people who cannot code._

I no longer believe this.

I think "people who cannot code" is a myth perpetuated by those who gain something out of it. People who's business or job is to filter candidates, people who's business is to sell their own "improved" version of training, people in need of an ego boost and actually, mainly by people who just repeat it cause they heard it somewhere. I'm off that train.

But, then again, I just might be old and wrong.

 _I literally know 100 companies that will hire you today. As a self-taught engineer you have to convince them of that, which mostly means a solid portfolio, but there is insane demand._

I'd like to test that.

That's my homesite: [https://www.ronilan.com](https://www.ronilan.com)

I'm in the market.

Thanks,

Ron

<comment><USER13> > I no longer believe this.

You should try interviewing "software engineers" that claim to have 10 years of experience architecting and coding in various languages and cannot write a function that doubles the value of each number in an array.

<comment><USER14> You should try interviewing as a software engineer with 10 years experience. They never ask you to double the value of each integer in an array. They ask you to find all matching subtrees in a binary tree, or to find all sub- matrices in an NxM matrix with a positive determinant in a matrix of arbitrary size, or find all words in a dictionary that can be constructed by concatenating other words in the dictionary.

The easiest questions I've been asked are unimaginative but straightforward things (build a binary tree, print inorder, find all permutations of a string, code a hash map).

There's also a particularly pernicious trend toward asking for on-line assessments or homework assignments, things that save the hiring company time but put an even greater time burden on the applicant.

I'd say "cracking the coding interview" is a good reflection of the kinds of questions you need to be prepared to answer in an interview, and they are miles away from doubling the value of each integer in an array.

I think this is why there's such a disconnect between us. You _do_ see self- described software engineers with 10 years of experience who can't do fizzbuzz, I really do believe you. But we (the applicants) never see this, instead we see a vastly higher standard applied. Which would be fine if the companies acknowledged that they are having trouble hiring because they're extremely picky. But instead, we hear people claiming that there's a "shortage" and that they can't hire because all these supposedly senior people can't code fizz buzz.

<comment><USER15> _Which would be fine if the companies acknowledged that they are having trouble hiring because they 're extremely picky._

Exactly this. I'm mid-level, trying to switch jobs. Several front-end javascript positions I interviewed for asked me anything from pretty tough algorithms to "how does Angular do namespacing" to object-oriented questions relating to Java to how to style a page and add event listeners to it without ability to reference the docs, etc.

The questions per se are not undoable, but the the sheer magnitude of the corpus they can ask questions from is what's so difficult. I accept this and try to cover as much as I can in self-study and outside courses, so I can better in future interviews. But it is a substantial burden timewise, and seems to be of diminishing marginal utility regarding actual, on-the-job performance, which is pretty annoying. Oh yeah, and then they reveal that they want to pay me $75k per year for a mid-senior position, in California. I know people who make that starting out of college as Account Managers for bigger CPG (consumer packaged goods) or pharma companies, with a company car and cell phone. (Granted, I think those jobs would be boring and also at-risk over the long-term, but the time spent/compensation difference seems out of whack.)

If there really were a shortage, companies would check for fundamentals but relax their standards and offer more on-the-job training for candidates. And wages would be significantly higher! Should get rid of H1Bs as a start, and see if that helps.

<comment><USER16> Amen on getting rid of the H1Bs! Not only would doing soclear out the deadwood, the improvements in skills, capabilities, communication ability, and critical thinking would dramatically slash the true cost of software development.

<comment><USER17> I've worked with amazing H1Bs. The problem is the great ones are always underpaid and by the time and the bad ones are encouraged to do anything to keep their jobs because their entire future is on the line.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> >Six months sounds like a lot

No, it does not. Learning new skill from scratch takes time. You're trying to master 2 new, orthogonal, in some sense contradictory skills: web development, and self-promotion (to find your place in "the job market"). Take a deep breath.

<comment><USER19> Considering how little I knew after a 4-year Bachelor's degree, 6 months of nights and weekends is insignificant.

<comment><USER20> I don't think it's directly comparable.

There's a difference, and not insignificant, between "learning everything for CS degree" vs "learning what you need to get hired as a web dev".

But I'll agree that 6 months is not that much time in the "learn new career skills and find a job" timeline. I spent around 18 months of nights/weekend practice and learning, followed by 3 months of interview prep before I found a job and that was with a big spoonful of luck.

To OP - this is a marathon, not a sprint. Get used to learning things on your own, you will be doing it for the rest of your career if you make the switch.

<comment><USER9> > Get used to learning things on your own, you will be doing it for the rest > of your career if you make the switch.

Cannot second this enough. As a developer, there will always be new tools and technology. More room to grow into adjacent development. And more line of business knowledge to gain. I can't think of any other field, that has more lifetime learning involved in it.

</comment></comment></comment></comment><comment><USER21> As a sibling commenter said, define web developer first.

I can see two viable, yet very different definitions:

1\. Frontend web engineer: Versed in HTML, CSS, modern Javascript libraries such as React, Vue, Angular. This is a programming role first and foremost, better paying than #2, and what I would suggest focusing on.

2\. "Classic web developer": Versed in HTML, CSS and just enough JS/jQuery. Knows the inside out of some CMS such as Wordpress. Not recommended, yet there are a TON of small companies and clients that just need a small website or ecommerce site. A friend of mine fits this role, I wouldn't define him a programmer by any stretch of the word, yet makes a living adapting Wordpress or Magento into functional websites.

<comment><USER22> How about "web developer who thinks heavy client-side frameworks are a bad idea"?

<comment><USER23> I'd go so far as to question the experience of someone who doesn't see value in React or frameworks similar to it for web applications. There's a large contingent that advocates for bare-bones JS development, but minimalism for the sake of it is not worthwhile.

It's all patchwork on top of JavaScript, though. Another programming language like Elm, or something that compiles to WebAssembly, may be another option to consider.

<comment><USER24> > minimalism for the sake of it is not worthwhile

It is entirely possible to dislike React for being React, rather than for the fact that it's not minimalism. I have to work with React, and it's a constant source of pain for me.

<comment><USER23> What do you dislike not just about React, but categorically about that style of frontend development in general? Framework specific distaste I understand, but general philosophy wise I don't.

</comment></comment></comment></comment></comment><comment><USER25> Hell yes! Just don't try and be the guy making 3 page info sites for your local gardener/bakery/whatever. There's simply no money in that, as they can do that themselves for free with an online website builder, so the value add from a good dev is minimal.

Once you've honed your skills, focus on the more complex, bespoke projects. Become good at delivering on time and try to find clients that wish to invest in tech to improve their business further. They will generally appreciate your work more and will not hesitate to pay you good money if you're genuinely adding to their bottom line.

<comment><USER26> > Just don't try and be the guy making 3 page info sites for your local > gardener/bakery/whatever.

This, THIS! Many web devs do a bit of this starting out and that's fine... just don't try to make it into something more, not only because it's worthless and the clients will drive you nuts by chasing them for petty bills but because you will also get bored out of your mind. Get involved in, or start a more significant project as soon as possible (Even FOSS for no money is better for your experience than wasting more time on these).

<comment><USER27> Completely agree. Doing a few of these is fine, but for most people, it'll get pretty boring pretty fast.

Add in the business side - finding clients, chasing bills, and the small 3 page sites won't be making you any money unless you have an army of developers churning them out.

Personally, I see "Web Developer" as a skillset worth knowing, not an industry to be in. Use small gigs to learn HTML, CSS, Wordpress etc - but branch out. Contribute to some FOSS JS/PHP/Ruby/C#/whatever libraries, build some sites without WordPress or similar, and angle yourself towards being a web developer at a company who tag line isn't "Web Development" (or digital marketing!).

All that said, I know there are people who LOVE the 3 page site work. So maybe that is what you want, but it wasn't for me :)

</comment></comment></comment><comment><USER28> Web agency owner here.

There is a surplus of beginners due to a surge in tech bootcamps.

If you're in the bottom half of talent it's a race to the bottom of low cost.

If you're top 25-50%, you'll probably have consistent good paying work.

If you're top 25%+ you can make a great living.

Probably similar to any skill set.

<comment><USER9> From interviewing from bootcamps, I can mostly agree. I find that those who put in more effort beyond the assignment minimums tend to be those that have worked out the best.

</comment></comment><comment><USER29> Yes, it is. I spent 8 months studying web development and I am now one year and a half in on my first software development job. I can see clearly tons of opportunities in the future.

My 8 months of studying were full-time studying (freeCodeCamp and plenty of small projects). 6-8 hours every weekday.

Not sure what you mean about "solid path", but you have to have focus.

edit: these are my tips for becoming a _frontend_ web developer, which was my path.

First, learn the essentials of CSS - don't aim to be a CSS wizard because that won't help you get your first job on good jobs (the ones that are not on agencies where your sole job is to transform photoshop images in HTML).

The most basic and true advice is to focus on learning Javascript properly and deeply. Read books (EloquentJS for starters is a good one), read documentation, watch videos (Fun Fun Functions youtube channel is a nice one), practice on code-on-the-browser platforms (I am a huge fan of freeCodeCamp) and create some projects of your head using Javascript only.

At least 3 (full-time) months on Javascript only. Then, move on to focus on React, because that's where all the jobs are going. And I say this being hired to work with Ember on my first job (and I enjoy Ember), but pragmatically, React is the way to go (assuming you have learned Javascript properly before).

Also, pay attention to good software development practices (The Pragmatic Programmer is a good one) that are not about language syntax (e.g. coherent indentation of your code, good variable and method naming, how to make code more readable and maintainable). Become what in the United States they call "an engineer" with certain glamour on it. You don't need to buy the hype that software engineers are a special breed of people superior to all others, but do make an effort to learn best practices, design patterns, clean code and all that.

Don't get into any tech discussions in forums, flamewars, don't take sides, etc. This early in your career you should focus and be _pragmatic_.

Summary: Learn the essentials of HTML+CSS. Focus first on Javascript, then on React. Create your own projects and learn what good development practices you should use on them.

I wrote a few blog posts of my learning and career change to web development, you might find them helpful: [https://rodrigohgpontes.github.io/](https://rodrigohgpontes.github.io/)

</comment><comment><USER30> Web dev is a better career choice than ever. Services are developed enough that you can just connect to one another without having to custom build anything. Frameworks have become complex, creating a kind of entry barrier where dedicated developers can make good money. You can also go deeper down the optimization path if you want, building things like better compression systems or more efficient ways of pulling information.

</comment><comment><USER31> Yes. There was a story on the front page also, just a couple of days ago

Start with a Website, Not a Mobile App [https://news.ycombinator.com/item?id=18824993](https://news.ycombinator.com/item?id=18824993)

<comment><USER32> Did you read that article? They actually say when to NOT do a website first.

I found their web-first arguments mostly unconvincing. And kinda hand-wavy on certain points. Two relevant points, rapid MVP development and instant updating of your app I have to agree with. But the idea that desktop software pricing translates to people being willing to pay more for a website is a crock. People think websites should be free. It's not just users who think that. I have to educate my clients why their business app that needs a login, data storage and access controls is not "just a website" and why they have to pay me significantly more to make it happen.

</comment></comment><comment><USER33> People say that web dev (the javascript/react/python/c#/java) fullstack kind is boring and mundane. But what else do people actually do? Sure, there's ML and embedded work but aren't most engineers doing CRUD work anyway?

<comment><USER34> Is ML even a programming job?

I see it more like data science, 10% programming 90% math.

Edit: 3% programming, 30% math, 67% scrubbing data. Thanks for the correction shortoncash. :)

<comment><USER35> Most ML jobs are sitting around scrubbing data. The fun math part is like 5% of the job, and usually there's some guy (or a small handful of guys) that's a PhD who is hired to do all of that because he was in the research area before he left academia.

I could be wrong, but this is my experience.

<comment><USER36> Agreed. We call that team "operations research" and they are all PhDs. The ML devs build the pipelines and deal with engineering concerns around having/moving/securing lots of data.

</comment></comment></comment></comment><comment><USER37> I don't understand how is this a question? Do you really want to learn it because it seems to me that you are trying to find a bogus reason not to... no offense, but if you don't like it, you shouldn't pursue this career, otherwise the simple answer is there is huge demand and good salary for Web Developers.

</comment><comment><USER38> Yes, it absolutely is. Learn full stack and go work at one of the web tech giants. (There are obviously other options, but I mention the tech giants because the salaries are very lucrative.) This usually means understanding data structures and algorithms so you can get past the interview questions.

Aside from tech giants, the web is probably one of the most used interfaces ever. There a tons of business opportunities online. Just about every business is participating online. There are tons of jobs here.

I specialized in computer security and am basically doing web development at a major tech company right now. It's kinda sad but I like money.

</comment><comment><USER39> Yes.

What you're missing is three fold...

1: Where do people hire freelancers.

2: Sales skills.

3: An alternative to worrying about 1 and 2.

1\. Create a profile and Upwork. While everything you'll read about Upwork will be negative you need leads. Upwork gets them for you and yes you can create your own website and start there but Upwork already spends a ton of money on ads / SEO and content marketing to keep generating leads. Take advantage of it.

2\. Learing how to sale is critical for everyone, especially web designers and developers. Go down the YouTube rabbit hole and got to Amazon and search for sales books. There are a million ways to sale things so read the first chapter of each book and read reviews until you find something that sounds like you can feel comfortable using with clients.

I recommend Jonathanstark.com, Doubleyourfreelancing.com and read How to Become a Rainmaker: The Rules for Getting and Keeping Customers and Clients

3\. Alternatively you can skip the above and do one of the following. Subcontract with a marketing agency that needs to hire a developer. Find them using Google and could email them. Tell them you will lower your rate since they're getting the clients and that you don't like sales.

Finally you can hire a sales person on 100% commission to find clients in need of web development and if they ever find a client that doesn't match your skill set outsource the work using your same Upwork account. Upwork allows you to not only freelance but to hire as well.

The sales person should get 50% of the project costs upfront to start and upon delivery the client would pay 50% when completely satisfied.

Pay the sales person 20% to 30% of the project or agree on a fixed fee. They don't get paid if they don't find a project for you so make sure and hire many salespeople.

Finally if you're smart (which you seem to be) don't worry about knowing everything before you jump in. I've been freelancing since 2004 and run into new technology I have zero clue about. Howler I simply read the documentation or watch videos and boom new knowledge.

Start now and be confident in yourself!

<comment><USER40> If you are worried about Upwork's reputation, choose Toptal instead. I have no connection with them other than having worked with freelancers from them a couple of times. They've been great. I have also come to know one of their devs personally, and he had only good things to say. He is now employed full time by a company for whom he used to work for through Toptal.

However, having six months of experience, Toptal might not hire you. As someone already posted, I'd advise you to find a team and gain some experience. Having a deadline, and a customer with very high expectations - perhaps set by your initial promises - is sure path to a very stressful worklife. Don't do it.

<comment><USER41> Toptal is taking 50-100% of your rate as commissions according to my estimations. Do you think it's reasonable?

</comment></comment></comment><comment><USER42> Totally. Web is still a very dominant platform and will remain as such. Even mobile platform vendors like Google seem to support (and even promote) web as a first class choice for delivering content and apps on mobile devices.

Also, web development can be a good entry point to get into software development in general. You'll inevitably cross paths with backends that power the web and can grow into a backend developer as well. Also, today developing for web frontends and native mobile/desktop apps is more similar than ever.

</comment><comment><USER43> My advice, as a full-stack dev (laravel on backend, vue(mostly) on frontend) -- learn and become a javascript master. Learn react and vue. Learn everything there is to know about es6+. Learn to use react native and/or nativescript to build mobile apps as well.

There are a lot of php/laravel jobs still, but JS seems to pay more, and it's everywhere - the # of jobs out there for frontend or full-stack js devs is crazy. Plus with JS you can do backend and frontend.

One thing you might do to get started is find a mentor, or partner with someone and just start building stuff. Tutorials are shit (except when you need them to solve a problem). You can't just learn to code following a book or guide or video. You've got to get your hands dirty and 'tinker' with things. When you try to do something and can't figure out how, then you'll go and watch tutorials or read stackoverflow threads.

Everytime you break through these 'walls', is when you level up your skills and reach new heights as a developer. I've been doing laravel since 2013, and Vue since 2016 and I'm still learning every day.

Every time I see older code I wrote even 3 or 4 months earlier, I cringe at how ugly it is and could be improved with what I now know. You have to love learning though to be a good dev, because you'll be learning/googling your way out of problems for the rest of your life or until you build an app that brings in residual income and lets you retire.

</comment><comment><USER44> > realistically it has been a few solid weeks of learning since it is a side > hobby that I hope will turn into my career

This is great -- people tend to quickly get good at hobby skills (as those are something they like and do voluntarily). However, a few weeks of learning is not nearly enough to get a taste for what a job there requires / involves and especially decide whether you will like what you do for a hobby as a career. I suggest two paths, pick one that you like most:

1\. Pick something cool you can do as a "web app" and do it. Repeat 3-5 times. Don't worry if there are 50 existing options to do it, you are learning. But the end result should look _good_ to you -- that is to be something you would enjoy using or showing to friends. Some examples: generate a beautiful ready- to-print PDF calendar with custom something (birthdays, vacation pics / links, etc); take a photo and make an STL file ready for 3D printing a coin (render on display, allow some options, etc.); capture and analyze OBDII data from your car; etc.

2\. Find where others doing the type of development you want to do hang out (meetups, etc.); buy them beer and ask what they did, what the job market is, what skills you would need. Tell them that you did it as a hobby and wonder what the job market looks like. Many folks would gladly share wisdom or even mentor if they feel it is useful and appreciated.

Good luck and have fun!

</comment><comment><USER45> > Is the Web Dev job market in a good enough state

There's a lot of demand for devs across the board (this is my gut feeling from participating in hiring at my current company). This probably varies a lot across teams in a company, across companies in an industry, and across industries.

One strategy I recommend is to narrow down your target employer market so you can get more specific answers. What industries are you interested in? What are some companies you might want to work for? Do they have an engineering team (most likely). Then figure out what roles they have open and do your best to position yourself for those openings once yo u start interviewing.

> that I should risk more time and money?

What kind of self-learning have you already done? Can you give us some information about the courses / tutorials you've been following? Is this something you find yourself enjoying?

More details about your situation would help. For example, if you've mostly been following a coursera course for the last six months that's heavy on the theory side, I might recommend that you spend more time with something more hands on like building a web app to solve a problem you have.

</comment><comment><USER46> Yes of course. Define web dev tho. It's a broad field. There are plenty of gigs out there if you focus on JavaScript and it's frameworks, python, go, Ruby or node.

Python, go, c# and Java can open 'enterprise' doors for you.

<comment><USER47> Curious about Go in enterprise web development, have any widely established companies gone full in on Go? Like migrated from Java or other stacks. I'm mostly a C# / Python web developer at my current job, and I'm diving into Go. Might even start suggesting it for future projects to see if it gets approved once I feel reasonably proficient in Go that is.

<comment><USER48> Recently a headhunter told me a couple of large companies have switched departments entirely to Go, in my area, but only hire people who "are really into Go", meaning lots of experience and knowledge. The companies, iirc, were Monsanto (now Bayer) and Mastercard.

<comment><USER49> Go still seems pretty niche here. Even the companies you mention are still mostly using Java, but I do know of teams using Go on certain projects at those places.

</comment></comment></comment></comment><comment><USER50> It depends on what you mean by web developer. That used to mean taking mockups done in Photoshop and turning them into HTML. Today that narrow role on the team is often outsourced or does not pay very well.

If by web developer you are referring to what many now call a "front end" developer then yes, that field is very busy and can pay quite well. Front end developers are expected to know a popular JavaScript framework (such as React) as well as CSS and HTML. Front end development is a dynamic and exciting field. I've been in and around "web development" for roughly 20 years and it is quite fun and has quite the future ahead.

Just last week the top trending article on HN was about how you should start with a web app instead of a mobile app. Today there are really powerful and much easier to use frameworks than what we had compared to just a few years ago. I say, if the web truly interests you then dive in head first and pour your heart into your work and most of all SHOW YOUR WORK publicly so people can find you and know you. That's how you find great teams.

</comment><comment><USER51> > Six months sounds like a lot but realistically it has been a few solid weeks > of learning since it is a side hobby that I hope will turn into my career.

The problem with the Web Dev job market is that everyone and there dog is doing what you are doing. If you want to be taken seriously you need to set yourself apart from this crowd as a professional developer.

</comment><comment><USER52> Been a web dev for 20 years.

Yes, but work on learning the full stack. Learn frontend, backend, SQL, sysop. Can you set up a server from a base image and eventually have a full app running reading from a database? Great! Now get familiar with cloud solutions like AWS. That might sound daunting, but it's actually easier in some respects. You don't have to know everything before you get a job, but knowing a little of all will show great promise in an interview.

Don't get attached to any one technology or programming language. This field changes all the time (annoyingly so). There was NOSQL, React, Node, hell I remember the times before Memcache. So keep your eyes and brain open and be ready to adapt. Your current place of work will likely stay stale with whatever they have, but if you don't keep up with the outside world, finding your next job will be much harder.

</comment><comment><USER53> Don't focues your education on single frameworks, take your time to learn the basics. For example:

\- Don't just learn Django, learn Python

\- Don't focus on React, Vue, etc. learn JavaScript

Those skills will last longer and make it easier to transition into other roles if front-end doesn't feel right for you at any point in the future.

<comment><USER54> In theory I agree. But learning something just well enough to get your foot in the door as a junior will have immediate rewards and then you can learn more deeply.

<comment><USER53> Absolutely, I agree. But don't get lazy then and really take the time to learn the basics. Aside from all the webdev focused MOOCs and courses on the internet there is plenty of stuff about Computer Science theory and whatnot available, so the opportunity is there.

<comment><USER55> > But don't get lazy then and really take the time to learn the basics.

Here was a typical (not verbatim) exchange when I was a Front-End Architect interviewing candidates for my team back in 2012 or so:

\---

Q: Tell me about your experience with JavaScript.

A: I know JavaScript because I've been working in jQuery for a year.

\---

Further questions would isolate the fact that they've _only_ used jQuery. It was depressing, really.

I mentor developers to really strive to learn and understand the fundamentals precisely to stop propagating the idea that libraries and frameworks > fundamentals. Problem is, I've already started to witness history repeating itself when interviewing candidates and getting the equivalent answer above-- but with "React" in its place.

</comment></comment></comment></comment><comment><USER23> Yes, the job market is in a fine state. If you're competent, you won't have a problem.

You don't need to spend a penny (or too much time) to learn web development if you put in the effort. Mozilla Developer Network [0] is what I recommend as a learning resource. I'd advise reading the JavaScript Guide if you have previous experience; if you don't, there's stuff for beginners there to. Learning some HTML & CSS will be most helpful.

I'd advise that after you learn JavaScript, you learn React [1]. Take the tutorial. I'd recommend watching one of the React talks to explain to you what makes React useful.

I'd advise you prefer learning Node.js [2] next, and it's probably a better choice than learning PHP or Ruby for the purpose of server-side web development. Perhaps take a look at TypeScript after.

To become a good programmer, branching out is helpful. A requirement to be a good programmer is that you have some basic level of CS knowledge (there's many free ways to study CS). Learning some C/C++/C#/Java/Rust/Go is also good, but this is _not_ a priority to getting your initial webdev jobs. This isn't necessarily going to be useful in getting a job _directly_ , but improving as a programmer will help indirectly.

HTML & CSS mastery is a lot less important for a web developer (as opposed to a web designer) than JavaScript. You don't need to memorize everything, but you should be able to get by with Mozilla Developer Network open for reference.

Other resources to check out: Eloquent JavaScript /r/JavaScript Free Code Camp javascript.info

[0] [https://developer.mozilla.org/en- US/docs/Web/JavaScript](https://developer.mozilla.org/en- US/docs/Web/JavaScript) [1] [https://reactjs.org/](https://reactjs.org/) [2] [https://nodejs.org/en/](https://nodejs.org/en/)

</comment><comment><USER56> Here are a few observations, in no particular order:

1\. No one here can really tell you. They would be guessing. I would go on to indeed.com and type in the skill set you consider to be "web dev" and make note of the number of jobs and (where available) salary offering. This is the current state of the market.

2\. You are asking an even more complicated question about the future state. The answer is even more prone to speculation. Your guess is as good as anyone's.

3\. Although web-dev in its current form will almost certainly not be in demand, the future form will evolve out of the current form so the time you spend learning, debugging, networking will likely not be wasted. (unless we crack General AI).

</comment><comment><USER57> I think the variable here is you, rather than the industry. Focus on being beyond mediocre and build up a small but well-executed portfolio and you will (almost) never have to look for a job again.

I know it's anecdotal but here is my story: I'm used to hearing that my friends are looking for work, and some tell me about how many applications they have sent out.

I went on to LinkedIn and ticked the checkbox that says I'm available for hiring, and I got a bunch of recruiters asking for a chance to speak with me. I'm now going to a new job where I'll earn what a typical senior exec earns in my country.

Tell me that's not powerful.

</comment><comment><USER58> The Web isn't going anywhere as society today heavily depends on it for all kinds of solutions. Just think how many things we do these days on the Web. So with that said, gaining the knowledge to build useful applications on the Web will lead to a career in Software Engineering. Because a Web Developer's knowledge spans across many different technologies, we typically use titles like Software Engineer, Front End Engineer, Full Stack Engineer, etc.

For example, here is what a Front End Engineer might have knowledge in:

\- HTML (semantic markup)

\- CSS (layout, animations, responsive, mobile-first, media queries, SASS, etc.)

\- JavaScript (the language itself)

\- HTTP, AJAX, Promise API, RESTful APIs, async VS parallel

\- DOM APIs, DOM Performance

\- UX/UI methodologies

\- Accessibility, ARIA

\- Module bundlers, transpilers, build tools (webpack.js, rollup.js, etc.)

\- Various frameworks and libraries and knowing why and when to use them (e.g. Lodash, React, Ember, jQuery, etc.)

\- Programming design patterns, methodologies, and best practices

\- Object oriented programming

\- Functional programming (.map(), .reduce() and knowing about immutability)

\- Test driven development and various testing frameworks/libraries

\- Command Line (Bash, and/or other Unix/Linux shells)

\- Version control (GIT)

\- Data Structures and Algorithms (arrays, trees, DFS, BFS, and more)

\- High or deep level knowledge of how Browsers work (the event loop, reflow/relayout, etc.)

\- A server side language (NodeJS, Ruby, Python, PHP)

\- Databases (MySQL, NoSQL)

\- A server side web framework (ExpressJS, Ruby on Rails, Django, Laravel, etc.)

\- Security (authentication, authorization, XSS, SQL injections, cookies, and more)

\- Ability to deploy a product in a production environment (e.g. AWS)

\- Development workflows (GIT, code reviews, continuous integration, and more)

</comment><comment><USER59> Are you trying to optimise for what career path would be the most lucrative, or are you trying to find something you find fulfilling and enjoy spending your time on?

I personally think it's a mistake to only focus on what will be useful in the future while ignoring subjects that you find interesting. In reality, you don't have enough information to know whether the choices you make today will be optimal for your future self. In my opinion, it's best to just follow what interests you and keep an eye out for opportunities along the way.

</comment><comment><USER60> Software development is and will be a good career choice for the foreseeable future (until software starts writing itself, which is not likely to happen any time soon). Web development is just a facet of it. If you spend time understanding fundamentals of software development you will not have wasted your time.

Two more interesting questions you should be asking yourself are: 1. Do you love writing sofware, and 2. Are you good at it?

If the answer is yes to both then you're on the right track. If not, you could have a problem down the road.

</comment><comment><USER61> There's pretty decent demand right now in some areas, but it depends on where you're located. Here in the bay area, there's good demand in SF and palo alto, but very few jobs in the east bay and lots of talent. But, it's all relative. You should compare it to your options available. In the mean time keep learning and developing your skills, read as much you possibly can about web development and learn the latest skills as well the backbone of all web development: HTML, CSS, AJAX, javascript and jQuery. Dont forget jQuery. Not many jobs may ask for it, but it's used everywhere and you will need to know something about it. If you like, go ahead and check out my site I'm developing for aspiring web developers such as yourself: It's filled to the brim with examples to learn from (you can play with the code without any setup), taking you step by step so you don't get lost: [https://codeorc.com](https://codeorc.com)

The advantage of learning some of the newer technologies like Vue and React are that they haven't been around for too long. So, if you get 3 years of experience with that, you can be considered relatively senior. Just something to think about if you're totally new.

</comment><comment><USER62> It really depends on your market and what you've learned. There are plenty of jobs that involve making things to put out on the web, which is what "web development" is. But they are all semi-specialised and very few people can make a living with just basic HTML/CSS/JS web development skills.

The bread and butter of alot of "Web Developers" is Wordpress. If you learn that inside and out, you can likely find a job somewhere in a decent market. There are other CMS you can learn instead, but once you pick up one, then the others shouldn't be that difficult.

Another path is to pick up a ton of client side javascript skills (ideally combining bootstrap with frameworks like Angular, Vue, etc) and become a "front end" developer. This is relatively easy to break into, but it's harder to muddle your way through as you have to know a wider variety of skills. If you have the aptitude it can pay very well, though.

Probably the hardest to break into, but maybe the most stable, is to learn about databases and how the server works, and then go into server-side programming using PHP, Java, or javascript using node.js. I think this would involve some serious time commitment, and may be something you pick up after you get your foot in the door.

</comment><comment><USER63> Many good points raised already, a few points I haven't seen raised:

* Within Web Dev, others have pointed out that there are many technologies you can work with, but there are also very many different kinds of output. Some web developers produce production code. Some web devs focus on producing early prototypes, and have some mix of UX Design and WebDev skills. Still others work for agencies where there is a heavy emphasis on delivering prototypes to pitch, but then the team will need to produce a production version of it. All of these start with a common skill set, but depending on what you want to do you might need more depth in some areas than others.

* While I think it is a great career choice, there is still some Computer Science elitism in some circles - depending on where you apply for jobs, you may get asked interview questions that have little to do about WebDev itself. This practice is obviously not helpful, but it is a reality in some places.

* Try to focus on getting an area of depth as well as sufficient breadth. You want sufficient breadth so that you can make it through most situations, but it's also really helpful in selling yourself as being an expert in a particular area.

<comment><USER64> Apparently, at least according to CNBC [0], UX Design is one of the most in- demand skills in 2019. Not sure about their data sources, but it's definitely a skill a good web dev should consider adding to the toolkit.

[0] [https://www.cnbc.com/2019/01/04/the-30-most-in-demand- skills...](https://www.cnbc.com/2019/01/04/the-30-most-in-demand-skills- in-2019-according-to-linkedin-.html)

</comment></comment><comment><USER65> Yup. People hire people who can solve problems that create business value. Web development is and will continue to be a huge source of business value.

</comment><comment><USER66> 6 months will teach you how to copy/paste code from StackOverflow and update the code for latest $JS_FRAMEWORK. You'll get by with "just enough" knowledge for a career in web dev.

Invest your time - over a period of YEARS - into studying computer science, where coding is only a small part of the course.

Then you'll be able to expand your career far beyond just Node web dev.

</comment><comment><USER67> Regarding getting actual work, join local meetups, talk to people that are in the business. If you can get them to talk about their work, learn from them, get better through them and get some connections, you might have a path into the business down the road. Sitting at your computer learning is not the only thing you can do to learn more about this.

</comment><comment><USER68> Web development is probably the biggest field in software development right now. And everybody is looking for web developers.

</comment><comment><USER69> A few years ago I made the decision to go back to school (for two years) to be a web dev. It cost me approximately $25k. Immediately after graduation I added $25k to my yearly income. There is a ton of work for web developers, and there will continue to be for some time (even if something comes along that makes web devs redundant, there is still decades of maintenance work in the market).

It may be important to clarify exactly what you mean by web developer though. I work in many different portions of the web stack every day (database, server side code, front-end code, etc). The more diverse your skill set, the more opportunity there will be.

At any rate, web is a really good entry point, and after a few years in industry you'll probably start to see different branches of development that appeal to you more. If you start out as a web dev there will always be different avenues and opportunities as your career advances.

</comment><comment><USER70> As others have pointed out there are generally two flavors of 'web developers' and I've been on both sides. Having worked at agencies, with outsourced talent, and building web apps with modern tools; there seems to be a divide between the self-taught and the educated.

I got a BS in Entrepreneurship and Innovation and all my web development learning and experience came from my own projects or on the job. It's been difficult for me to find an engineering or product management position despite having experience (one phone interview for ~25 applications). There's definitely more I can do on my part however this isn't unique to me.

Perhaps the fact that many companies have switched to automated screening systems to filter out all the junk resumes has made it harder to get interviews? To answer your question, the need in the market is there and if you are patient, your risk should be rewarded.

</comment><comment><USER71> For entry level web development I would take a look at PR or communications agencies. Many of them build and host custom websites for clients. Depending on the company, it can be a great way to get your first entry on your resume.

The work is not super complicated and it's often based on popular CMS software and/or frameworks, so it's easy to get going. But you'll be getting paid and working on real projects, which are what you need to start building a career.

You'll get to work with other developers and start making professional connections. Agency folks enjoy networking so you'll learn how to do that. And, jumping into a client company can be a viable way to move on to more complex work.

I'm in the DC area and basically every single agency is looking for developers right now. But there should be a similar industry in any medium to big city.

</comment><comment><USER72> Web dev is huge and probably will be for the foreseeable future - as long as businesses need custom solutions and software, it will probably be web based. Businesses will always need custom software.

But there are a lot of people doing this work. You have to compete with them. That will take a lot more work.

</comment><comment><USER73> There's still huge demand for these roles - two questions to ask yourself are 1) how do I stand out? and 2) do I enjoy it?

This is a great related thread: [https://news.ycombinator.com/item?id=18862790#18865742](https://news.ycombinator.com/item?id=18862790#18865742)

If you're interested in combining your coding skills with customer- facing/problem-solving responsibilities, Sales Engineers are in huge demand. Companies are desperate to recruit for this combo of talent because it's so rare.

I'm the founder of Flockjay (YC W19 - tech sales bootcamp that helps people break into tech, without code). We have students with coding experience who are doing incredible things - companies can't wait to hire them. Happy to chat more.

</comment><comment><USER74> I think it's still a good market. Self-learning is hard, though, because there are a million branching paths of knowledge and it's easy to get overwhelmed or sidetracked. Especially when you have no existing skill base from which to ask "would this help me improve what I'm already doing?"

Personally, I had a good friend mentor me and point me at things to learn early on, which helped a lot. A structured program would have the same benefit.

I have no connection with it, but [https://lambdaschool.com/](https://lambdaschool.com/) looks very interesting in that they bet on your ability to get a job: you pay nothing unless you do (other than the opportunity cost of spending the time to learn, which could be large).

</comment><comment><USER75> Yes. A lot of people here forget how many lower level jobs there are out there. I'd recommend focusing on JavaScript and front end engineering if you like that, or some back end language and framework like ruby and rails. You can learn enough in about a year to get a job.

</comment><comment><USER76> If that is a comparison question to, say mobile development, a lot of people dont install apps until it becomes their mainstream. So yes, web is widely there but be warned, famous phrase "making a website" is tip of the iceberg and I seriously mean it.

</comment><comment><USER77> Yes it is. As long as we'll have Websites on the Internet we'll need Web developers. It is a great place to be still. I used to do that then I got burnt out by the stack, which keeps changing every 6 months.

The easiest place to start as a developer in 2019 is Web.

</comment><comment><USER78> My prediction is that the tech industry will be resilient over time but getting a job in tech will get harder and harder. In the golden years of the web (early 2000s), all you needed was some experience and "passion" to get hired. These days, outside of specialized positions, getting a regular ol' CRUD job requires Leetcode and experience matters much less. Combine this with the fact that you are now competing with an ever-growing global talent pool, most of whom have masters/Phds and don't mind working 24/7, you can see where this trend is going.

</comment><comment><USER79> By not taking the formal degree path, you've chosen the harder option but it's not impossible! Look to startups and freelance work until you build up a track record and preferably a portfolio.

</comment><comment><USER80> One important aspect is that this industry requires constant learning and keeping up to date. You must make this a priority. When I started CSS did not exist and there was no front-end or back-end, you were a webmaster. I learned how to make interactive CD roms and interactive kiosks with Macromedia Director in school....

Technologies you learn now will be outdated tomorrow. Learning is a journey, not a destination. Try to focus on the larger concepts since these generally carry over across technologies.

</comment><comment><USER81> 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.

</comment><comment><USER82> If one has no prior porgramming experience, I would expect a minimum of 1500 - 2000 hours of work needed to learn the basics of the trade and find their first decent job. A small number will be able to do this on their own. The majority will benefit significantly from some structured teaching and mentorship.

I think there are many good jobs available in web development. But it will depend significantly on your location.

</comment><comment><USER83> For me, web development quickly led to full stack development. Once you can comfortably write the full stack, you're pretty much guaranteed to find a job doing that somewhere.

I recommend looking at job posts for the jobs you want and teaching yourself the technologies they require. Consider looking for paid internships, especially if you're in college (even if you're just taking some community college courses).

</comment><comment><USER84> If demand for your skills outweighs the availability of them in the skills market, then you'll make an excellent living. So your skills need to be in high demand. Compared to the competition, either be perceived as "better" (write books, give talks) or "more specialized" and you should be able to find a market segment that demands your skills and will pay for them.

</comment><comment><USER85> I think it totally is a viable career choice. My company is looking to hire web devs.

I feel like good web devs require a tremendous amount of knowledge on different aspects of CS, Design, UI, UX, networking, etc... The problem, however, is most people approach the role like its a job at a fast food chain. I think both aspiring web devs and the vast majority of employers are guilty of this perspective.

</comment><comment><USER86> Web development is a good career path. We live in the golden age of programming. It's never been better to be a software engineer than now. Every major startup and web company I know are constantly looking for new good hires. I recommend focusing on either frontend or backend starting off. Full stack can get hired more at mid+senior level than entry.

</comment><comment><USER87> "Is the Web Dev job market in a good enough state that I should risk more time and money?"

These best people building new software and need help:

[https://news.ycombinator.com/item?id=18807017](https://news.ycombinator.com/item?id=18807017)

The most in-demand skill is: React. [From using grep/sed excluding JavaScript/JS].

So my answer is: Yes.

<comment><USER88> grep/sed ?

</comment></comment><comment><USER89> I'm inclined to say yes but obviously there are many factors: where you live, where you are willing to relocating, sometimes your age, your intelligence. Do you actually like the field? I think it's a good career most often than not but it's not always easy.

</comment><comment><USER90> I think these days, the only viable career is as pornstar or a pet. And for thoss you must have been born as a dog or a cat. All other Jobs seems to be in decline because of globalisation or automation.

But, of course can you still make a career in nearly everyting where there is demand, and for webdev there is demand. The question is whether your skills can match the demand. And frankly spoken, six month's is nothing, especially if it's just learning, not actual work.

The base-level of learning for solid software development is usually measured in years, and that would be 30-40h/week of real learning. But there is also the student-market where you can earn get some pocket-money for low level- work. And depening on the country you live this can be a serious amount. There are several people from poorer countrys working remote for low money.

So when you wanna take this serious, you should really know your position, market and demand. What can you offer? With whom do you compete? And how much do you must earn to survive, to grow higher?

</comment><comment><USER91> Get a Comp Sci degree instead of the self taught path. It will pay for itself in the long run.

</comment><comment><USER92> If you're not inherently driven by an interest in computers, I would _not_ recommend a job in this field. You will never be able to compete with people who do this as a passion and the constant need to learn (forever) will quickly burn you out.

</comment><comment><USER93> Absolutely. One bit of advice might be to seek out a web agency (company that builds sites/webapps for all kinds of regional businesses). Depending on your city, demand is huge for web devs, particularly those proficient with JavaScript.

</comment><comment><USER94> I am a web developer and I get contacted a few times a week on LinkedIn about switching jobs. I assure you, if you are a web developer you will not go job less no matter where you live unless you're doing something very wrong.

<comment><USER48> I'm an electronic engineer turned software engineer and have been doing this for decades. I am in the Midwest USA, a large city but not a high tech one.

I used to be contacted by headhunters at least once a week. Nowadays, I hear from Indeed and LinkedIn that often. I have been to their offices for interviews and assured they would find me a job quick.

While I have risen through the ranks over the years to project manager and a prolific company and, eventually, ran my own profitable company, I have never, ever been sent on an interview anywhere by any of the operations I mentioned above.

<comment><USER94> Ok yeah, I guess that is probably a common story. I have though and I would assume that is also common :)

</comment></comment></comment><comment><USER95> Yes definitely. There are way more jobs opening than skilled laborers, and very likely to continue that way for a long time. Have some fun and enjoy your learning, don't always think about it as a job or for getting a job.

</comment><comment><USER96> most computer science degree takes 3 to 5 years. They are general enough so that you can pick up almost any specialty in a few months after that, but if you're starting both web dev AND computer programming, 6 months is absolutely nothing.

Remember software dev is not about assembling big pieces of codes given in a framework, it's about logic / control flow, data structure, architecture. Once you understand all that, you don't consider yourself a "web dev" or a "mobile app dev" anymore, but just a software developper.

</comment><comment><USER97> This is a very interesting talk on the matter. [https://www.youtube.com/watch?v=0rkTn98h1aI](https://www.youtube.com/watch?v=0rkTn98h1aI)

</comment><comment><USER98> 6 months isnt a long time

</comment><comment><USER99> Unfortunately, I'd say it's _the_ viable career choice. I've always found vastly more employers interviewing for web dev than for any other tech position.

</comment><comment><USER100> yes.

Computing disciplines aren't easy, so you're best off following your interests as you get started (self directed or otherwise); with the goal of sufficient skills in completion of a product. Move laterally, instead of deep prior to your first job, or until you have a more diverse understanding of the technology space. That'll paint your first job; there you'll do what you're payed for, and that can totally reshape you. This repeats forever.

</comment><comment><USER101> Yes it is. You can use job market pricing to work out demand surplus to make yourself feel confident you're investing in something worthwhile .

Email in profile if you want to know more.

</comment><comment><USER102> Right now yes, in the near future, probably not. As automation and better services come out, website development will be one of the first jobs to be replaced by this. Although services like Wordpress, Wix, have their problems, they get better and better every day. In the future, no one will be coding websites/not a viable career option (people may just code on the side website for really niche things)

It is a great launchpad to do other programming besides web dev. Go into web dev, because there is a lot of cool tech in it and lessons. But learn other technologies as well that will not be replaced by automation.

<comment><USER103> I've been hearing this argument since CoffeeCup, HighPowerSites and Dreamweaver were still a thing.

<comment><USER55> thegrid.io was (yet) another flame-out associated with the same line of thinking. The intricacies of performant web development are quite a bit more nuanced than a lot of people aiming to automate it would like to acknowledge.

</comment></comment></comment><comment><USER104> God, I hope so. I guess I can always go with my fallback of dolphin trainer if this whole web developer thing stops panning out.

</comment><comment><USER105> I understand you, when you lack of money, it will devastate your faith. The path maybe hard, but stick to learn will worth it.

</comment><comment><USER106> Yes find an area you enjoy, dive in and get good at coding with people, pulling people into discussion. Set for life

</comment><comment><USER107> Sure, it just got easier.

It became something people who attended a 3 month code-camp can do without prior knowledge.

</comment><comment><USER108> > Six months sounds like a lot

lol, it takes YEARS to be a good developer. It depends of where you live and what are your expenses and local job market among many other things.

But if you thing 6 months is a lot, maybe this is not the thing for you.

</comment><comment><USER109> Judging by how hard it is to hire web developers, yes.

</comment><comment><USER110> If you can't find a viable path the learn web development, or programming in general, you probably aren't a good enough problem solver to bother with the career in the first place

</comment><comment><USER111> Yes I need to hire a React dev right now :)

</comment><comment><USER112> This is a hard question to answer because there are still people that make a living doing everything under the sun.

Are you asking because you are concerned about the field dying? This would be a viable question, so I will assume this is your actual question.

I would get involved today, not tomorrow, today. Contact a web development business in your area, or online and talk with someone. Ask them about what kind of work they are doing. Contact a few different types of web businesses. The smaller/medium sized ones are more likely to give you the time of day instead of just a secretary that will give you someone's voicemail.

My son is 17 and got an internship last year with a local company doing web design. (minor dev work) And now he contracts with them from time to time. The business owner would hire him right now full time, but agrees with me that he really needs some life/education under his belt first.

Every field out there _needs_ hard workers. People that will show up, have a good attitude and learn, learn, learn. Being a rock start is far less important. This is odd to hear when you are on the other side of this equation, but trust me, people hiring these days will hire for character and work ethic over perfect job skills, you just need to be able to get your foot in the door.

Last, find the kind of "web dev" you want to actually do. You couldn't make me do anything else right now in life, I have to do web dev, it's not a choice I could walk away from, it's what I like doing and I have no interest in other work for the time being.

You asked "risk more time and money", everything is a risk in life. There's very few absolutes. The question is are you willing to make it work? Web dev isn't like driving a truck or being a nurse where they teach you almost everything you need to know to do your job. With web development you have to keep learning and be ok with this. And you start off not knowing enough to really do the job perfectly. I am mostly self taught, and I had to go through years of re-educating myself out of bad habits, and deciding to chose industry standards and chosing the hard, but right way, to do things.

It's always paid off for me, but then I like learning, I like seeing fascinating solutions, I like puzzles and problem solving. I'd do web dev as a hobby if I didn't do it for work.

My last suggestion is to get started how I did, build something you actually want. And keep doing this over and over. I never wasted any time doing this. I made everything from my own text-to-speech tool (silly and half baked) to a full CMS. When in school I made multiple websites, games, apps, multiple portfolios, (trust me, a lot of this stuff was total crap, but I really learned a lot). Everyone else in my class did the minimum to get by. I've learned databases, server management, a few different version control systems, multiple languages, animation, design theory, etc... It's all been interesting, fun, often stressful, often exciting, but always useful.

In the end, if you don't find work, either keep looking until you do, and keep up your skills (always, always be working on something) and eventually you will find something. It's just a numbers game. Or find satisfaction in whatever job you find yourself in outside of web development, it's always an option for some people.

Cheers!

</comment><comment><USER113> Yes

</comment><comment><USER114> I'm the founder of Ruby online school, not giving a link for two reasons: 1) the name of the school doesn't matter too much 2) it's in Russian anyway.

So what I found is that students find jobs pretty quick. Some of them after 2-3 months from the ground up, from nothing! Absolute beginners! (the entire course is for 6 months, 100 hours of video).

I was thinking why is that, because here is some quotes from reddit:

1) "why is it still so damn hard to get your first job?"

[https://www.reddit.com/r/cscareerquestions/comments/6zxrzt/t...](https://www.reddit.com/r/cscareerquestions/comments/6zxrzt/the_job_market_makes_no_sense/)

2) lots of interviews, no offers

[https://www.reddit.com/r/cscareerquestions/comments/4s9foi/l...](https://www.reddit.com/r/cscareerquestions/comments/4s9foi/lots_of_interviews_but_no_offers/)

3) "I graduated from GA Tech.. looking for entry level... position for over 6months but still nothing."

[https://www.reddit.com/r/cscareerquestions/comments/6ypimg/r...](https://www.reddit.com/r/cscareerquestions/comments/6ypimg/recent_cs_grad_with_no_job/)

But in Russia it's different (99% of my students are physically located in Russia, I'm in US). There is huge demand for web developers. You can jump on the train after couple of months. Why it's so different than US?

And I found explanation: there is no Russian-speaking cheap labour that can write code. Companies in Russia need Russian developers only because English isn't number 1 (or number 2) language in the country. For US (and English- speaking market) it's the opposite: lots of English-speaking cheap labour, while locals are struggling to pay their bills and asking for more $$$.

$30/hour for any US-based programmer is not a big deal, but for some countries it's a huge deal. So countries like India, China, Russia, Ukraine all contribute to that. For companies it's easier to hire someone from these countries with experience, rather than finding local for the same money without experience.

So the bar is pretty high if we're talking about US. If you're based in Russia, it's probably the best time ever to become web apps developer, especially FOSS webdev: sanctions force government to switch to open source solutions and demand is damn high.

I'm also author of the book about Ruby for absolute beginners, if you're interested [https://leanpub.com/rubyisforfun](https://leanpub.com/rubyisforfun)

</comment><comment><USER115> Simply put, yes.

</comment><comment><USER48> I've noticed this about web dev. There are two parts. Graphic designers who can create web sites and software programmers who do the same. Most of these people work for medium to large companies full-time. The rest are like freelance artists who sell their work but have to market themselves continuously. They get hired to do one job and then their done and move on.

</comment><comment><USER116> No, the market is saturated with idiots who can do the same you do but cheaper. Getting a job is nearly impossible.

</comment><comment><USER117> It is viable that's why they are investing in browsers. Hahahha

<comment><USER118> Just because politics aren't investing in roads doesn't mean that selling cars stops being a viable business model.</comment></comment>


Openpilot – open-source self-driving agent - <AUTHOR> https://github.com/commaai/openpilot <comment><USER2> I work as a lead autonomous vehicle engineer.

Here's a few thoughts:

* This isn't _really_ open-source. The most important part, the neural network perception pipeline, is closed sourced. Without the training data and the network architectures, the supporting code is not that useful.

* This system is non-deterministic, which is a no-no in critical systems like autonomous vehicle. There's no guarantee that vehicle detection or throttle/brake commands will be executed on a acceptably safe timeline.

* I think the supporting tools like Panda and Giraffe are great for those wanting to get into car hacking.

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

By the way, if you want to to become an autonomous vehicle engineer I put together a resource guide here: [https://becomeautonomous.com](https://becomeautonomous.com)

<comment><USER3> What do you mean it's non deterministic? Because it is using floating point operations? Can you elaborate?

<comment><USER4> I'm not OP, but I think he means that the final decisions acted upon are not deterministic. So given an input, it won't necessarily produce the same decision every time.

For instance, if the model predicts with a 95% certainty to accelerate, then 5% of the time it'll do some action other than accelerating.

<comment><USER5> might it also be 'non-deterministic' if it accelerates 100% of the time, but accelerates at different speeds 5% of the time? or is that too granular a view?

</comment></comment></comment></comment><comment><USER6> I worked on Openpilot for around a year. Although many of the "cool" parts are not open source, there are still lots of interesting goodies in there worth checking out.

For example, there is a semi-standalone CAN processing library: [https://github.com/commaai/openpilot/tree/devel/selfdrive/ca...](https://github.com/commaai/openpilot/tree/devel/selfdrive/can)

A shitload of hacks and workarounds that make the system work on dozens of cars: [https://github.com/commaai/openpilot/tree/devel/selfdrive/ca...](https://github.com/commaai/openpilot/tree/devel/selfdrive/car)

Saving state on devices that arbitrary drop successful file writes when the battery dies.

[https://github.com/commaai/openpilot/blob/devel/common/param...](https://github.com/commaai/openpilot/blob/devel/common/params.py)

<comment><USER7> The value is definitely in the platform-relevant hacks.

Stuff like this makes the reader think the authors have never seen a basic transactional database before: [https://github.com/commaai/openpilot/blob/devel/common/param...](https://github.com/commaai/openpilot/blob/devel/common/params.py)

</comment></comment><comment><USER8> I've been using Openpilot in my 2018 Corolla for the past few months. Some takeaways:

It's mind-blowingly good. Easily on par with Autopilot (That is, Autopilot's ACTUAL capabilities, not what they show in marketing promos). For long highway trips, it's easy to go hours without a disengagement.

The full setup costs about $800, is completely plug-and-play, and you can order everything you need on the site (EON/Panda/Giraffe). See: [https://www.youtube.com/watch?v=UfF9l2-orTk](https://www.youtube.com/watch?v=UfF9l2-orTk)

There's a huge active community working on adding support for more cars and even custom forks with more advanced features like dynamic follow. Someone even recently got a VW bus working with it. [https://discordapp.com/invite/avCJxEX](https://discordapp.com/invite/avCJxEX)

Also it's just _really_ freaking cool to have a self driving Corolla. Can't stress how much this thing has changed the way I view driving and going places. It's no longer a pain, but a joy to sit in stop and go traffic. It's not perfect, but it's pushing the border of level 3 autonomy and far better than anything that any manufacturer besides Tesla is shipping.

<comment><USER9> Openpilot is not on par with Autopilot. There's a long list of things Autopilot can do that Openpilot will never be able to do with existing hardware.

<comment><USER10> Of that long list, what do you think Tesla owners value the most? ACC+Lane Keeping (what openpilot does) is the answer: [https://pbs.twimg.com/media/D4y0Fb7XsAEKhFh.jpg](https://pbs.twimg.com/media/D4y0Fb7XsAEKhFh.jpg)

<comment><USER9> Well yes, of course those are valued highest. What's the point of auto lane changing if you can't ACC and lane keep?

</comment></comment></comment></comment><comment><USER11> For those who haven't seen Openpilot before, or recently:

* George Hotz (not "Hortz") is working on other stuff now [0], and is no longer CEO.

* While "I'm running open-source self-driving software from GitHub" sounds terrifying, the software is very good at what it does, which is very limited (LKAS / ACC / driver monitoring). Browsing test videos on YouTube ([https://www.youtube.com/results?search_query=openpilot+0.5](https://www.youtube.com/results?search_query=openpilot+0.5)) is a good way to get an impression for how well it works; the consensus I've found is that it's better and safer than any stock systems except Tesla AP and Super Cruise.

[0] [http://pixie.tech](http://pixie.tech)

<comment><USER12> Damn, I was actually planning on applying to Comma for an internship because George Hotz was there, just to see if I could learn anything from him.

<comment><USER13> I've toyed with the idea of applying to comma, seemed like a good idea to learn tons in computer vision. but if anything Hotz himself would be why I wouldn't do it. I enjoy the roots of his f u attitude - but : we're so much smarter than anyone else in this market, is simply not true

</comment></comment></comment><comment><USER14> One side of me thinks this is really, really cool.

The other side is running away as fast as possible. If anything shouldn't be developed by committee, it's something that controls a few thousand pounds hurtling down the highway at 70MPH with at best an observant human watching over it.

Here's my reasoning:

        Mistakes in Django? Bad things happen.
        Mistakes in the Linux kernel? Potentially really bad things happen.
        Mistakes in self-driving cars? Really bad things certainly happen.

Oh…and it looks like anyone can install it with just a few extra electronic parts?

<comment><USER15> To be fair, all self driving systems need to be fully open, to be inspected by the public. They are way too safety critical to be closed silos controlled by each car company.

But I agree, projects like this are also potentially dangerous. How extensive is the testing? Where is the liability? Is that unit running a read-time OS that will not deadlock or have thrashing which could result in a crash? I've written about these and other concerns a few months back:

[https://penguindreams.org/blog/self-driving-cars-will-not- so...](https://penguindreams.org/blog/self-driving-cars-will-not-solve-the- transportation-problem/)

Drivers do need to be held to having their hands on the wheel and their eyes on the road (I think it's the Chryslers that actually track your eye movements and alert if your eyes aren't forward).

There is some early evidence to suggest these safety features could make people less attentive or more likely to let themselves be distracted.

Personally I'll stick to my 2006 5-speed car with no auto-cruise or lane assist. It forces me to stay fully aware, and I have to use all four of my appendages constantly. It's a very active, non-passive driving experience. I live in a city and don't drive often (I've fueled up once since December), so I prefer driving to be engaging.

<comment><USER16> Your car is 13 years old and you could stand to benefit from the safety advantages available in a modern "no auto-cruise or lane assist" vehicle. The safety tech has advanced a lot in that time. This is a quite good way to invest your scrip imo.

</comment></comment></comment><comment><USER17> This seems mind bogglingly dangerous. At least with commercial self-driving vehicles, there is a responsible legal entity (the car manufacturer). The thought of thousands of amateurs and enthusiasts releasing their hacked self- driving cars on the public roads is terrifying.

The disclaimer "YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS" is nice, but I can't that stopping the mindset of "I've just tweaked the algorithm a bit; let's see how it goes".

<comment><USER18> There is nothing illegal about modifying your own car.

People have been doing so since cars were invented.

"Amateur" car modifications are already very wide spread.

<comment><USER19> Sure there is, depending on what you're doing and where you live. There's all sorts of things you could do that would make a vehicle no longer street legal and/or a danger to yourself and others. And I would hope people would take the latter very seriously, even if what they're doing isn't illegal.

<comment><USER18> And nothing described here makes a vehicle no longer street legal.

This stuff is well within the realm of perfectly legal car modifications.

<comment><USER20> Is it? IDK, IANAL.

</comment></comment></comment></comment></comment><comment><USER21> How funny that this pops up just a few hours after I looked into it again.

It's an exciting product. Even if it has no direct use, I feel better being driven around by an open piece of software that I could in theory inspect and change. Closed-source stuff is just a black box expected to do magic. Doesn't feel good.

The story behind the man is quite interesting as well. When I was 9 he was the guy I got the jailbreaks from that would allow me to install cool tweaks and other non-standard software Apple wouldn't allow on my iPod Touch 3G.

Apart from this, I think this rap [[https://youtu.be/9iUvuaChDEg](https://youtu.be/9iUvuaChDEg)] he published when he was sued by Sony for allowing alternative operating systems to be installed onto the PlayStation 3 demonstrates his attitude quite well (admittedly the self driving situation is more complicated, but what a response to a law suit).

You might guess that I'm still a GeoHot fan. While I'm not sure this will be competitive with commercial systems in the future, I'd love it. Having the world's best self driving system be free for everyone to inspect and use in their cars would be a societal gain similar to that of Linux.

Open Pilot will be the only self driving system retrofittable to older cars (by consumers themselves), which is already very cool (it's just unfortunate that none of the cars are old enough for me to consider buying).

I wish them the best of luck (and may they get the tests to a level at which everyone is happy with them).

<comment><USER22> "Closed-source stuff is just a black box expected to do magic"

Open Pilot is about as much black box as all the other self driving applications. The interfacing is open source.

The machine learning is closed source. I've looked into the repos and didn't find any sign of the actual hard self driving parts, as it were last time I checked comma.ai.

But sure, you can tune the steering P-controller for your Subaro if you would like too.

[https://github.com/commaai/openpilot/blob/devel/selfdrive/ca...](https://github.com/commaai/openpilot/blob/devel/selfdrive/car/subaru/carcontroller.py)

            apply_steer = apply_std_steer_torque_limits(apply_steer, self.apply_steer_last, CS.steer_torque_driver, P)

Or maybe you can patch using "volatile int" for thread concurrency in the machine model inerface (I guess it is that).

[https://github.com/commaai/openpilot/blob/devel/selfdrive/vi...](https://github.com/commaai/openpilot/blob/devel/selfdrive/visiond/visiond.cc)

<comment><USER23> visiond has been open sourced a few months back

</comment></comment></comment><comment><USER24> I work in AI for general usage applications.

I think that there's some valid criticism here, although I don't think the target demographic is kept well in mind when considering the project as a whole.

In the current iteration, a majority of commercial market consumers wouldn't be skilled enough to perform the installation properly, or at the least, adequately to achieve acceptable system performance. I think that the barrier to entry is just high enough to keep Cousin Vinny from sleeping in the back of his cab while his "self driving truck" got him from A to B.

I've personally purchased a vehicle with the explicit reason to install OP after learning of Comma back in 2015. It's been one of the funnest, and most rewarding personal projects I've taken on.

I never drive with my hands far from the wheel, or my eyes off the road. While there is certainly going to be some hyperbole surrounding new technology, my assessment is that this alpha quality, DIY solution has been adequate for my use cases over the last 2,000 miles in various weather and road conditions.

I think that the comments here about loss of life and limb are overblown. If someone engages in sex and uploads the video publicly to PH while mowing down a pedestrian in the process in their "Tesla", I think that speaks more of the driver than it does the technology. One could argue that the tech enabled them to do so, but so what? See footnote: Gun Control Debate.

I think what Comma is doing is rather smart as a company. Keep the barrier to entry high which naturally attracts skilled, and otherwise knowledgeable people, build out their codebase, and eventually release (or lease) their tech to car manufacturers that need help catching up in the marketplace. I don't really see another way a scrappy startup could accomplish as much in the self driving market without some risk.

I don't really lift weights, but I've disassembled my vehicle's EPS motor. I think I have a fair chance of overpowering it, even if the controller doesn't include "deterministic, real RTOS" or whatever flabblebabble. Commercial release? Sure. #shipit

But for now, I'd be more concerned about people staring at their crotch while driving browsing Instagram.

</comment><comment><USER25> Cool, I'd really like to use this for a small scale toy car. I'd never put it on something that could do more than bruise an ankle.

<comment><USER2> I have two recommendations for you Duckietown ([https://www.duckietown.org](https://www.duckietown.org)) and AWS DeepRacer ([https://aws.amazon.com/deepracer](https://aws.amazon.com/deepracer)).

Hope that helps!

\</comment></comment><comment>-

If you want to get more serious about robotics then check out my website [https://becomeautonomous.com](https://becomeautonomous.com)

<comment><USER26> Also: [https://www.donkeycar.com/](https://www.donkeycar.com/)

<comment><USER27> Also [https://diyrobocars.com](https://diyrobocars.com) and [https://diyrobocars.com.au](https://diyrobocars.com.au) in Australia. If anybody wants an invite to our Slack group and our "Hack and Race" meetups, send an email with your location to the address on my profile.

</comment></comment></comment><comment><USER28> In the first video, the voiceover tells people to buy&install the hardware, and use this software, while showing what appears to be autonomous driving among other vehicles on an active public road. (Not "This is for research only, from the privacy and safety of your own driveway.")

Who thinks this is a good idea? Where in the US is this legal? In a crash, will insurance cover it, and will there be additional civil liability and possible criminal charges?

</comment><comment><USER29> I'm reading a lot of commenters criticizing their strategy and quality of their system. Does anyone want to talk about the fact that they have 10.5 MILLION miles recorded without an at-fault accident? To me, this is quite remarkable.

</comment><comment><USER30> By the way, the CEO of comma.ai will speak at Big Data & AI conference in Dallas, June 27-29, 2019. [https://bigdataaiconference.com](https://bigdataaiconference.com).

</comment><comment><USER31> Seems like a neat project to get auto-steer driver assist going on a car that supports it. It's basically a Tesla Autopilot 1 ( Mobileye ) mod.

</comment><comment><USER32> Are the main maintainers French-Canadian? I noticed that a lot of demos were filmed in the province of Québec.

</comment><comment><USER33> This is going to be an interesting legal case when a vehicle using Openpilot is involved in an accident.

</comment><comment><USER22> This is stupid. All the demos are on public roads. George Hortz needs to chill before he ends up in jail.

<comment><USER34> One side of me agrees, the other thinks of the Wright brothers. Oh wait, they got someone killed.

<comment><USER35> I am genuinely interested, do you think that the Wright Brothers should not have developed the technology that they did because of the risk that someone would get killed? I am having trouble imagining any way (at least at the time, but probably today as well) of inventing manned flight without anybody dying in the process.

<comment><USER36> Inventing manned flight without anybody dying would have been completely possible. Use more caution, pay more attention to safety. But that's not the right hypothetical. This is inventing manned flight without _endangering or killing innocent bystanders_.

</comment></comment></comment></comment><comment><USER37> scifi idea: stop making cars, train only</comment>


AT&T, have you no shame? - <AUTHOR> http://arstechnica.com/tech-policy/2012/08/att-have-you-no-shame/ <comment><USER2> Is this loophole on wireless net neutrality the same issue a that Google got pilloried for caving in to Verizon about last year?</comment>