What's the division of labour in web development?
January 3, 2014 4:22 AM Subscribe
I want to start doing freelance web work, but I'm not sure what I'd like to specialise in. I'm competent with python, PHP, html, css, javascript and angular as well as doing designy things like UX and photoshop. Previously I've always built whole websites from start to finish and now I'd like to pick a particular element and develop my skills to professional level in that role, but I'm not sure how it breaks down and how the size of the company/project increases the numbers of roles.
This varies wildly depending on the company, particularly with regards to the understanding of the underlying technologies by those that are doing the hiring. I think most either get the front-end/back-end split or the developer/designer split, but often not the full back-end/front-end/designer continuum.
IMO, you can specialize in either back-end/front-end but not designer, or front-end/designer and not back-end and be pretty employable. If you are just one of those three, less so. It sounds like you are positioned for bringing both front-end coding, html/css knowledge, and real UX and design. This combination is very employable.
Javascript frameworks are a good thing to get better at if you are looking to improve your toolbox: jQuery, Backbone, Require.js amongst others.
posted by mcstayinskool at 7:38 AM on January 3, 2014
IMO, you can specialize in either back-end/front-end but not designer, or front-end/designer and not back-end and be pretty employable. If you are just one of those three, less so. It sounds like you are positioned for bringing both front-end coding, html/css knowledge, and real UX and design. This combination is very employable.
Javascript frameworks are a good thing to get better at if you are looking to improve your toolbox: jQuery, Backbone, Require.js amongst others.
posted by mcstayinskool at 7:38 AM on January 3, 2014
As far as your skill mix is concerned, you are the belle of the employment ball. So you can afford to ask the question, what do you want? Think end goal... right-to-left, not left-to right. What is important to you - money, free time, technical excellence, helping people, something else? I know a lot about the web dev market but I feel like I would be able to answer your question so much better if I knew what your "dream job" would entail. And of course, where.
1 My background: 15 years in web development; lots of consulting, a few full time corporate jobs, one famous startup, one failed personal startup, all in NYC and Minneapolis.
posted by rada at 7:50 AM on January 3, 2014
1 My background: 15 years in web development; lots of consulting, a few full time corporate jobs, one famous startup, one failed personal startup, all in NYC and Minneapolis.
posted by rada at 7:50 AM on January 3, 2014
Response by poster: rada: my goal is to maximise my free time while making enough money to live on. I find it interesting work but my passions lie elsewhere. I'm in the UK split between London and the midlands.
I think I'd rather be doing design and front end work including javascript than backend work as I'm better at this and enjoy it more too.
posted by awesomathon at 8:27 AM on January 3, 2014
I think I'd rather be doing design and front end work including javascript than backend work as I'm better at this and enjoy it more too.
posted by awesomathon at 8:27 AM on January 3, 2014
Best answer: Ok, here are a few thoughts, in no particular order.
We've established that your ideal scenario is money + free time. I will take the liberty to tack on low dysfunction (per you previous question, I am going to guess you don't need a helping of crazy with your paycheck). So I think that you should avoid small companies and startups, freelancing for small companies and startups, and body shops/agencies/consultancies. Which leaves you with mid-size to larger, more established companies, full-time or freelancing.
1. Would you consider NYC vs. London? I am only tangenially familiar with the London market but from what I do know I am pretty confident that you would significantly up your earning potential in NYC. You will make more while spending less and your lifestyle/social opportunities will be stellar. In particular, if you are a single male with a British accent you will be on top of the dating market; also, NYC is the easiest city to make friends as a foreigner.
2. Small companies/clients have webmasters who do everything but per above, we don't want those. So you will indeed want to specialize. Programming pays more and more importantly, there are about a 100 desirable programming jobs per every desirable design job. I say programming is definitely the way to go.
3. At least here in the US, there is a lot of pressure to do overtime. There are a couple ways to minimize this. One is to do freelancing - unsurprisingly, when you are on the meter, the slave driving factor goes way down (I've never had overtime when I was hourly). Another way is to filter during interviews - this is not fool proof but if you ask about a typical day, software development process, etc, you can usually get an idea of working hours.
4. I would definitely not shy away from recruiters. The better ones have all the good, stable jobs. This is especially true if you choose freelancing - learn from my pain and only go through recruiters! They take all the responsibility for billing so you will be spared from the distress of having to chase clients for money. They often offer some form of health insurance too. Another good thing about freelancing is that there is a ton of work out there so you can do it full time or you can take a few months off, your choice. (Just to give you some ball park figures, a senior web dev in NYC can make $75-$100 an hour vs. say, $120k full-time).
5. PHP and python are both popular but I would say PHP is more bread-and-butter and python is more artisanal, if that makes sense. With your goals in mind, I would choose PHP over python. (Also note that lots of jobs that advertise python use it for server scripting and not as a main language; and I also have a vague feeling that Go will overtake python in the next few years). Javascript is super hot right now as well so that's another area to focus. Node.js jobs in particular are more rare (compared to PHP) but pay more. All in all, I would recommend focusing on PHP and Javascript/Node.js. A particular front-end framework almost doesn't matter, people pretty universally accept that if you know one, you know all, so AngularJS is as good as any.
Sorry if this came off as rambling, I really wanted to be helpful. If you have any more questions, feel free to contact me. I can recommend my NYC recruiter, etc.
posted by rada at 1:12 PM on January 3, 2014 [6 favorites]
We've established that your ideal scenario is money + free time. I will take the liberty to tack on low dysfunction (per you previous question, I am going to guess you don't need a helping of crazy with your paycheck). So I think that you should avoid small companies and startups, freelancing for small companies and startups, and body shops/agencies/consultancies. Which leaves you with mid-size to larger, more established companies, full-time or freelancing.
1. Would you consider NYC vs. London? I am only tangenially familiar with the London market but from what I do know I am pretty confident that you would significantly up your earning potential in NYC. You will make more while spending less and your lifestyle/social opportunities will be stellar. In particular, if you are a single male with a British accent you will be on top of the dating market; also, NYC is the easiest city to make friends as a foreigner.
2. Small companies/clients have webmasters who do everything but per above, we don't want those. So you will indeed want to specialize. Programming pays more and more importantly, there are about a 100 desirable programming jobs per every desirable design job. I say programming is definitely the way to go.
3. At least here in the US, there is a lot of pressure to do overtime. There are a couple ways to minimize this. One is to do freelancing - unsurprisingly, when you are on the meter, the slave driving factor goes way down (I've never had overtime when I was hourly). Another way is to filter during interviews - this is not fool proof but if you ask about a typical day, software development process, etc, you can usually get an idea of working hours.
4. I would definitely not shy away from recruiters. The better ones have all the good, stable jobs. This is especially true if you choose freelancing - learn from my pain and only go through recruiters! They take all the responsibility for billing so you will be spared from the distress of having to chase clients for money. They often offer some form of health insurance too. Another good thing about freelancing is that there is a ton of work out there so you can do it full time or you can take a few months off, your choice. (Just to give you some ball park figures, a senior web dev in NYC can make $75-$100 an hour vs. say, $120k full-time).
5. PHP and python are both popular but I would say PHP is more bread-and-butter and python is more artisanal, if that makes sense. With your goals in mind, I would choose PHP over python. (Also note that lots of jobs that advertise python use it for server scripting and not as a main language; and I also have a vague feeling that Go will overtake python in the next few years). Javascript is super hot right now as well so that's another area to focus. Node.js jobs in particular are more rare (compared to PHP) but pay more. All in all, I would recommend focusing on PHP and Javascript/Node.js. A particular front-end framework almost doesn't matter, people pretty universally accept that if you know one, you know all, so AngularJS is as good as any.
Sorry if this came off as rambling, I really wanted to be helpful. If you have any more questions, feel free to contact me. I can recommend my NYC recruiter, etc.
posted by rada at 1:12 PM on January 3, 2014 [6 favorites]
This thread is closed to new comments.
Larger companies may have any or all of graphic designer, ux designer, client-side developer, server-side developer, DBA and project managers.
posted by missmagenta at 5:07 AM on January 3, 2014