Join 3,512 readers in helping fund MetaFilter (Hide)


Does the world need another web developer?
February 25, 2013 12:41 AM   Subscribe

I have a close friend who works as a php programmer who is interested in mentoring me. I have good reason to think that web development is the sort of work that I'd be good at. But is it really a smart move to devote time to learning these skills at this time? Is the market for web developers expected to be strong in the near future, or is it starting to wane?

This friend guided me along as I taught myself some html and css a year or two back, and he said I was picking up on it really quickly, and that my coding was very clean to boot, so I do believe that web development would be the sort of work that I'm well suited for. However, I hesitate to devote myself seriously to the study of it because my intuition tells me that I've missed the peak of when these sorts of skills were most valuable. There does seem to be an awful lot of job openings for web developers out there, but will those openings still be there a few years from now? Perhaps I'm projecting my own feelings here, but I keep thinking that folks are going to start getting disenchanted with the internet any day now, and that being able to program a web page is not going to be very valuable much longer.

What do you all think? Do you think the market for web developers is strong? Do you think it will stay strong in the near future? Does a self-taught web developer stand much of a chance of finding steady employment a few years from now? Is the internet still growing and thriving, or is it about to be tossed aside in favor of the next big thing?

BONUS QUESTION: What is the next big thing? What are the skills that are going to be most valuable a few years from now?
posted by MrOlenCanter to Computers & Internet (21 answers total) 21 users marked this as a favorite
 
Perhaps I'm projecting my own feelings here, but I keep thinking that folks are going to start getting disenchanted with the internet any day now, and that being able to program a web page is not going to be very valuable much longer.
No and yes. Even with the growth of apps, the web is still very much here to stay. Web development will have value for a long time, but will tend towards just another flavor of wage-slavery rather than the quick cash it once generated.
I have a close friend who works as a php programmer who is interested in mentoring me.
There is plenty of crufty stuff out there written in PHP, and it may be the COBOL of the internet. But please consider learning something a bit more modern and sane, like Ruby on Rails or Python + Django. As an added bonus, the PHP jobs tend to be more commodified and the Python and Ruby stuff tends to be a bit more fun and pay a little better.
Do you think the market for web developers is strong? Do you think it will stay strong in the near future?
[...]
Is the internet still growing and thriving, or is it about to be tossed aside in favor of the next big thing?

Yes. Like it or not, computers are eating what is often called 'the old economy'. Amazon is a particularly visible example of this, but far from the only one. In a nutshell, IT is automating away as much of the economy as it can in the same way that the steam engine did in the age of industrialization. Web development is a really great paradigm for doing this, as it encompasses solutions to the scalability and user interface problems. Even when the end-user is using a mobile app, the infrastructure behind that app looks a lot like web infrastructure.
Does a self-taught web developer stand much of a chance of finding steady employment a few years from now?
The best web developers have to be autodidacts because the technology continues to change. I'm not aware of any certifications that people take seriously. People who earn CS degrees tend to go into software development rather than front-end web development. But after you master the front end stuff, you may be able to bootstrap yourself into software engineering.

The biggest caveat is that while there is a strong job market for web development, there are a lot of people that are really passionate about it. You can't just study a bit and expect to be successful. You have to work hard to learn the basics, and then continue to work hard to keep up to date. If web development doesn't feel kind of like an addiction to you, it will be hard to be successful.
posted by b1tr0t at 12:58 AM on February 25, 2013 [7 favorites]


Good advice from b1tr0t. I would just second that Python/Django or Ruby on Rails would be a better choice than PHP.

What is the next big thing? What are the skills that are going to be most valuable a few years from now?

You know, "statistics" has been one of the standard answers to this question for a while (big data blah blah blah), but I haven't noticed anyone actually learning statistics :). There are lots of people who want to make cute infographics, but everyone's eyes glaze over when you talk about any serious statistical analysis. That's what I would focus on if I were trying to maximize my employability in a few years' time.
posted by pete_22 at 1:23 AM on February 25, 2013 [1 favorite]


I would look at mobile - technologies like phonegap and jquery mobile. We see lots of growth in that area. Companies want mobile apps, for both major platforms and don't want to pay top dollar.
posted by mattoxic at 1:44 AM on February 25, 2013 [1 favorite]


You know, "statistics" has been one of the standard answers to this question for a while (big data blah blah blah), but I haven't noticed anyone actually learning statistics :). There are lots of people who want to make cute infographics, but everyone's eyes glaze over when you talk about any serious statistical analysis. That's what I would focus on if I were trying to maximize my employability in a few years' time.
That isn't bad advice, but you really don't have to go deep at all in statistics to get enough useful knowledge to be able to do Big Data stuff effectively. The bigger problem is that a lot of interesting statistical methods are essentially computationally intractable when you get into even moderately large data sets. The essential thing is to understand what it means for an algorithm to be intractable over large data sets, and then be able to apply that knowledge to business problems and stats algorithms. You don't need a deep knowledge of either of those three subjects to be effective, you just need to be able to understand and manage the interplay.

If you do want to go deep on statistics, try to learn from the computational biology or high energy physics. They are at the leading edge of big data and probably have some really solid best practices for picking out approximate algorithms.

In a few years, "Big Data" will be the normal amount of data that people crunch.
posted by b1tr0t at 2:25 AM on February 25, 2013 [4 favorites]


Statistics sounds interesting! I've been looking for an excuse to go back to studying math....but I imagine that I would need to have some programming skills to really do something with it, especially if I'm working with Big Data and new methods of statistical analysis....hmmmm....I look forward to hearing what else folks have to say....
posted by MrOlenCanter at 2:53 AM on February 25, 2013


Web development will have value for a long time, but will tend towards just another flavor of wage-slavery rather than the quick cash it once generated.

This already happened right around 1998, and we had our first "internet programmer" shake-out in 2001. Being a software developer is a job, not a get-rich-quick scheme, despite the (very rare) stories of programmers striking it rich.

Web programming is programming, and programming is a profession that is unlikely to disappear in the near future. It's not easy money: you will need to work hard to build up your skill set, and continually hone and improve and change it to suit the needs of the time.

Will you be building and maintaining PHP web apps in twenty years? Probably not. But you will be taking the skills you learned as a PHP developer, and building on that foundation to where you will be able to work on interdimensional vortex programming using Objective Python++ or whatever the hell else is flavor-of-the-moment.

You are not signing up to learn to program websites. You are signing on to learn to develop software. Go for it.
posted by Slap*Happy at 4:43 AM on February 25, 2013 [5 favorites]


Adding to what mattoxic suggested, I agree about mobile but instead of PhoneGap I would suggest Appcelerator Titanium, which is javascript.
posted by Dansaman at 6:48 AM on February 25, 2013


Learning php will make it that much easier to learn the next language, and learning php with the help of a friend is probably going to be easier than learning python or something else on your own.

So I say go for it.
posted by COD at 6:55 AM on February 25, 2013


It's hard for me to comment on the specifics of your question but I can say that my husband has had to hire web developers several times and it seems like the process is always an ordeal for various reasons. There are a lot of people out there who call themselves web developers but a lot of them aren't very good, can't interview well, don't have common sense, don't have good samples of their work, etc. I don't think you've missed the boat - the internet isn't going anywhere - but definitely consider focusing on mobile web development. That said, the best web developers are flexible and can pick up new skills easily, so go into it with the mindset that you're learning a certain thing now but you're going to have to learn about the next flavor of the week when it emerges.
posted by kat518 at 7:01 AM on February 25, 2013 [1 favorite]


The value of a Mentor is huge. Don't get caught in the minutia of the language or the platform, learn to break a problem down and solve the bits of it. I always learn best when I'm given something to do, and have an easily available resource to ask the questions that I run into. Especially if that person is willing to work me through my ignorance.

Learning how to get to data, write new data to some data store, render a web page, let a user interact with what you've done, what parts are best to leave to the client and what needs to happen on the server. They're all things that will change with platforms and languages, but the philosophies are fairly easy to translate. What works on a tablet (or phone) versus a desktop PC is only valuable if you spend a few minutes to learn WHY these particular things work in each place.

PS: The next big thing is plastics, has been for 40 years. (or 3D printing... with PLASTIC)
posted by DigDoug at 7:13 AM on February 25, 2013 [1 favorite]


but I keep thinking that folks are going to start getting disenchanted with the internet any day now,

What do you mean by 'internet'? Because the internet for at least the next decade, will draw *more* not less interest. Phones, TVs and Computers are all converging on the internet. Computer games are moving to be more connected not less. Many if not most digital storage solutions have an internet (i.e. cloud) component to them. If we restrict the internet to being static html/css websites, then maybe ... actually, nope, I can't see even that aspect going away either. The reason is that the internet is how we communicate, store content and consume content, and as long as people like to share with one another, create interesting content, or find and consume interesting content, the internet will be just fine.

As for learning about all this stuff, the most important thing is to learn something, and having someone to teach you is a huge benefit. So if you're mentor is a PHP guru, learn PHP from them. However, if you're going to be a web developer you will have to learn one of these three languages at some point:

1. JavaScript*
2. JavaScript**
3. JavaScript***

Rather than learning PHP, I would recommend learning server-side Javascript using Node.js.
Rather than learning Flash, I would recommend learning client side Javascript.
It's almost, but not yet, to the point where I'd recommend learning JavaScript rather than Android or IOS (on preview, Dansaman touched on it).

One caveat - knowing *only* JavaScript would severely limit ones potential, so definitely learn other web technologies, JavaScript is just the most important one.

* along with HTML5, CSS3 for first class web pages (take a look at Twitter Bootstrap for a nice framework)
** as a server side replacement to PHP. Take a look at Node Express for a basic javascript web server
*** As a tool to bring C/Java/etc computer/device applications to the browser/web.
posted by forforf at 7:21 AM on February 25, 2013 [3 favorites]


Yes, learn PHP. It's a perfectly good programming language, and most importantly, it's a programming language. There's not a big leap from being competent in PHP to being competent in Ruby or Python.
posted by Magnakai at 8:24 AM on February 25, 2013


Go find a credible business, government office or non-profit that doesn't have a web site. Not too many of 'em. Now start thinking about whether they can afford to let that thing stagnate or if they need to invest in programming expertise to keep it relevant to their emerging services and goals. If you are just interested to know if there is work a'plenty for web developers you can answer that one pretty easily with the above thought experiment.

I'm not saying that that it will always be like this, but the web isn't going away quickly and talented web developers will be in demand for quite a while to come. As long as you are continually learning new techniques that make you better at the craft then you will be marketable and happy, provided you continual learning and adaptation.

If I had to pick a 'hot' direction to go, I would add in mobile web app development but the landscape is moving really fast on that one.
posted by dgran at 8:27 AM on February 25, 2013


Definitely learn PHP. It is by far the dominant language for a number of open source projects, from Content Management Systems to Survey systems, to CRMs, etc. So it is a good backbone fall back language if you can't get work in the Database or RoR.
posted by juiceCake at 8:34 AM on February 25, 2013


In my experience there's an almost endless supply of folks who need this work done AND have no interest in learning how to do it themselves.

The future looks bright.
posted by humboldt32 at 9:12 AM on February 25, 2013


If you're going to learn PHP, you'll also want to learn working with PHP systems that already exist, such as WordPress or Drupal. If you're going to be a web developer, it pays to know systems that people might want you to work with, and building off of something existing lets you give them far more value than just your own efforts.
posted by foxfirefey at 11:23 AM on February 25, 2013


Other systems include MODX (we use it for sites with custom needs so usually projects with higher budgets (compared to our use of Wordpress), Lemonstand (eCommerce is booming), and frameworks like Yii. There are many systems and frameworks out there but a solid programming foundation is essential to adapt to or use any of them.
posted by juiceCake at 12:25 PM on February 25, 2013


Lots of great perspectives, thanks! I'm resisting the urge to mark every last one of them as a 'best answer'. The impression that I'm getting from all of this is that people are in fact moving on from the static web-page internet format I grew up with. They're not leaving that behind though, but rather transforming it into something bigger. I guess my hope that folks will become disenhanted with the internet stems from my perspective that it's nothing but a bunch of cat pics, porn, political attacks, snarky articles, and gimmicky apps. I'm a little tired of our myopic obsession with entertainment...and also tired of how mean people online seem sometimes. But I guess that's more of a by-product of the internet than the internet itself. I'm disenchanted with human nature, not with the internet.

Also, my viewpoint is limited by the fact that I've chosen not to work for the past four years and have become a bit of an out-of-touch hermit. I feel like I'm still not grasping what the real value and implications of the internet are. I'm not really getting the bigger picture here. I'm giving myself until the first day of spring to decide, so between then and now I think I should try to dig deeper into this, and try to get a more modern, up-to-date understanding of where the internet is really at and where it's going.

If anyone is still looking at this thread, then I look forward to hearing your perspective!
posted by MrOlenCanter at 1:43 PM on February 25, 2013


Does the world need more people who can write clearly and cogently? I'd argue the answer is yes and the answer will remain the same all the way until everyone alive can write clearly and cogently. That doesn't mean we need more people who style themselves "writers," though I suspect we would end up needing more of those too.

I'd argue that we need more people who can develop software. Perhaps not to the point where everyone can develop software, but vastly more than we have now, and if we get to the point where we have vastly more people who can develop software than we have now, then most of them may not be able to make as good a living as software developers do today, but they will be able to make a better living than they would otherwise. Similarly, if that day comes, some people who currently make a good living as software developers may, due to competition, not be able to make as good a living, but i think the opportunities for people who can make a great living developing software actually expands. Part of the point here is the belief software development ability should be a skill widely possessed by people in a range of professions. A world where that is the case would be a world of greater wealth and opportunity.

So, to get to your question:

  • Does the world need another web developer? Yes.
  • Does the world need another php developer? That is debatable.
  • Is a php developer better equipped to become the sort of developer the world indisputably needs than someone who isn't a developer at all? Almost certainly yes, though some people will have thoughtful arguments to the contrary (but will still manage to be wrong).
  • Is a web developer in possession of specifically useful and valuable skills? Yes, it seems likely.
  • Is a web developer in possession of generally useful and valuable skills? Yes they do if they believe they do.
  • Is software development an infant discipline and profession whose development has and continues to be stunted by the amazing achievements of the semiconductor industry. Yes, yes, 1E23 times, yes.

    But the real question really isn't about what the world needs, it is about what YOU need, and, I'd suggest, what you want and don't want. You don't really tell us much. I see from your comment history that you are in your mid-30s and live in Ohio. While it is certainly possible to start a brand new career as a software developer in that location, at that age, it wouldn't, on the face of it, appear to be an ideal choice. Are you open to moving at some point? Do you have other skills, background, etc that you can bring to the table? Knowledge of a problem domain is a huge asset (and why the world will be a better place if software development skill was more widely distributed). Seriously, a shitty programmer can piece together a genuinely useful piece of software while the pros are still trying to adequately understand the problem-space, or busy making ornately crafted software that will only be used by prosperous single 20-somethings who live in tech-centers.

    My general suggestion is that if you are looking at this as a ~2-3 year project that will position you to make a decent living at the end then you should think twice about taking the specific path that is open to you.

    I'd suggest that PHP isn't going away anytime soon, and the areas where it has a stong foothold may see some continued growth, but my prediction is that in a couple years, the most likely way to make a living with PHP dev skills is, roughly, doing customization for content-oriented websites built with Wordpress, Drupal or Joomla. There is nothing wrong with that, but be aware, you'll likely be a one-man-show on a lot of projects. That means that you will be handling a lot of the client interaction yourself and to whatever extent you don't like your clients, or their projects, you will have little refuge in the technical challenges of your job, because there won't be many/any. It will also make it difficult for you continue to improve your technical chops, because the challenges won't be there, and you won't have co-workers or mentors to lean from. None of which is to suggest that this is the fate you would be consigning yourself to, but they would be things to consider and counterbalance if they concern you.

    One alternative I'd suggest is one I alluded to above: put your focus on a specific problem space that you may already have a predeliction for and then focus on technologies that are most appropriate.

    Another alternative is to see if your PHP mentor would be interested in broadening his own skillset as you two learn together. One possibility would be focusing on server-side development using Ruby or Python. I think both are more "current" for webdev than PHP, but more importantly, they are languages that are seeing increacing use in a breadth of areas. The other possibility is focusing on client-side development, which at this point,mand for the forseeable future, is going to be dominated by JavaScript.

    To close though, I'll say that you are going to be better off if you spend the next six months leaning to program in anything, including COBOL, than you are spending that time worrying about whether or not you are making the right choice.

  • posted by Good Brain at 2:16 PM on February 25, 2013 [1 favorite]


    One little bit to add to all the great stuff here -- if you get to the point of deciding which platform to learn first, I would encourage you to look for something modern but also mainstream. Programmers (including me) love new shiny things, but you don't want to jump ahead of the curve yet. Learning your first language to write websites, whether it's PHP or Python or Ruby or Javascript, will be much, much harder than switching from that one to your second, because the similarities among those languages are much more prominent than the differences. I like Python more than PHP, but it's mostly at an aesthetic level, not because they're fundamentally different ways of getting anything done.

    So when you're deciding from a range of options (whether it's "what server-side language will I learn" or "what client-side HTML framework will I learn" or whatever), you want something where, no matter how dumb your question is, someone else has already asked it on Stack Overflow and gotten useful answers. On the server side, PHP or Python+Django or Ruby on Rails all fit that description; Node.js probably isn't there yet.

    (I agree with others upthread that Python or Ruby will probably teach you better practices at this point than PHP -- not because it's impossible to do good work in PHP, and maybe your friend does great work, but for whatever reason there's a lot of bad role models for PHP out there.)
    posted by jhc at 2:46 PM on February 25, 2013


    One alternative I'd suggest is one I alluded to above: put your focus on a specific problem space that you may already have a predeliction for and then focus on technologies that are most appropriate.


    That's the damn truth right there. As interesting as programming sounds, I'll never have the motivation I need to follow through on it, because none of the things I really care about accomplishing in this world require programming to see them through. Or, not yet anyway. If I ever have need of programming to get where I want to go then I'll learn about it then.
    posted by MrOlenCanter at 12:32 AM on March 6, 2013


    « Older Interview in a city I don't li...   |  I'm becoming enamored with the... Newer »
    This thread is closed to new comments.