
Web Development as a career – the realities - johnnymu
https://docs.google.com/document/d/1rU5-t09tEBym1wD3NUr7s9mMgFBmfGJNBz3F8TGzDsU/edit?usp=sharing
======
philipn
I like pretty much everything someone takes the time to write about
development, but this rubbed me the wrong way. I'm not sure what it is exactly
the author is trying to express here: that engineers need to stay current on
new, hot technologies? Everyone knows that. But then he seems to deride people
who, based on his interviewing, haven't used a <new technology X> in
production / in a new project.

You can't have it both ways. You need to find a way to evaluate people and,
through that evaluation, grok whether or not they can pick up a new technology
that they aren't already familiar with. If you can't figure that out, your
interview process has failed. Think about it: the complexity and difficulty of
your own problems vastly exceed the difficulty a senior engineer faces
learning a few new frameworks or APIs. If not, you're doing something pretty
trivial.

The best people I've ever worked with weren't people who a priori understood
the technology stack we were working with -- instead, they have been seasoned
engineers who know how go out and learn, and then apply what they already know
in a new environment. This seems so obvious I feel silly even writing it down
here, but this is on the front page, so it must be resonating with folks.

What tptacek has said about .NET developers working at IT departments at huge
organizations really rings true here. If you immediately write someone off
because they work with technologies you don't work with[1] then you're doing
it wrong.

1\. Assuming you're not looking for a quick, contracted hired gun for
something fairly straightforward.

~~~
michaelchisari
_If you immediately write someone off because they work with technologies you
don 't work with[1] then you're doing it wrong._

I've had a hell of a time interviewing for just this reason. For the first set
of interviews, I was emphasizing my experience with _patterns_ as opposed to
_technologies_. That didn't work. I was routinely dismissed, despite decades
of industry experience.

When I decided to grind through the latest buzzwords, and build a few sample
apps, that's when interviewers got much more positive.

It's not how I would have interviewed people, and I do agree with you and
tptacek, but it was an eye opening experience on how to play the game.

~~~
bbody
The obsession with experience in Technology X always reminds me of the story
recruiter who turned down someone for not having 10+ years of Rails experience
([http://www.strategic-options.com/insight/you-cant-have-
more-...](http://www.strategic-options.com/insight/you-cant-have-more-
than-10-years-of-experience-on-rails/)).

------
pbowyer
> They have been working in the same job, with the same technologies, on the
> same product but when asked what makes you a senior developer, they answer
> “Because I have been coding for 5 years”.

> The sad fact is that these people have not been aware of the realities of
> the industry they have been working in. Their job and their job security is
> no longer secure. Never let this become you!

It sounds like the author values language/framework knowledge above expertise.
Speaking as a backend dev I find as you move up in seniority it becomes
impossible to keep up with the latest technologies. Learning management
skills, being move involved in architecting and business development all take
time. You may end up doing code reviews, project management and cleaning up
the 'legacy' (read broken) parts of the system. Does that make you less
valuable?

To a company that insists on every part of their project being built in the
latest cool language/framework (and yes, I still class NodeJS as this) then
yes. To a pragmatic company, which may choose NodeJS if it's the best fit, or
Rails, or PHP, or Java - no.

We're back at the skills vs language debate, one which I thought has been done
to death.

~~~
CmonDev
NodeJS? That thing is already dead. You must have a year of IO.js experience.

~~~
madaxe_again
IO.js? That is so yesterday. You need to have at least three years of
fozbaz.js experience, which has a pre-alpha release tomorrow.

------
rifung
"when asked what makes you a senior developer, they answer 'Because I have
been coding for 5 years'."

Maybe 5 years is insufficient, to be considered senior, but isn't the amount
of time you've been coding what defines how senior you are? I get that
technologies come and go and you have to stay up to date, but I would think
that if someone were looking for a senior developer they would be looking for
someone with a lot of experience, not necessarily someone who knows the ins
and outs of technology X.

Can anyone shed some light on this? It just seems bizarre to me that if you
want to be a senior developer you'd need to either stick with the same
technologies you used before..

~~~
gaius
5 years! A career these days is 40-45 years. If you are "senior" in only 5
then where do you expect to go from there?

20 years experience, on a wide range of technologies, in a variety of roles,
then we'll talk senior. Until then calling yourself "senior" just invites
people not to take you seriously.

~~~
aswanson
20 years in this industry invites people to treat you as a fossil and not even
hire. Technology moves too fast, nobody cares what you did in 1995 anywhere
near as much as what you did in 2013.

~~~
gaius
As I said on another thread, 2010's MongoDB is just 1970's MUMPS. Once you
have been through a few cycles, you see that actually technology comes round
and round again. Centralize, distribute, centralize again, just one repeating
pattern. Thick clients, thin clients, thick again. Compile, interpret, compile
again. Just the buzzwords and the syntax changes.

~~~
fennecfoxen
Oh, sure, trends in the libraries come and go, but if you don't think they're
only going in circles, you should consider whether you'd rather be
programming: a Ruby on Rails web app, or a COBOL-backed green screen
application on an IBM AS/400.

Myself, I'll take those 45 years of progress, thank you kindly :)

~~~
gaius
Do you think there is a difference, other than you have a bigger screen to do
it on now?

------
datashovel
"The sad fact is that these people have not been aware of the realities of the
industry they have been working in".

IMO the observations provided by the OP are not sound reasoning for the above
conclusion.

In a recent gig where I was responsible for helping the company hire new
developers I made a conscientious effort to avoid making such sweeping
generalizations. Web development is one of the most diverse fields that I know
of. So much so that in my mind you can't assume a qualified employee has ever
touched the specific technologies you use in your stack.

I think the hiring practices described by the OP may be the dinosaur here.

------
UK-AL
This is why development is ageist. Keeping programming skills up to date after
work, and spending hours after work trying different languages and libraries
is fine when your young.

Its not so fine, when you have kids and a wife to look after.

Probably have about an hour to myself everyday.

~~~
marvin
It's not only ageist. As long as developers keep accepting that they have to
spend 15 hours a month on their own dime just to keep up, it's outright
exploitative. Developers are generally expected to keep current in the
breakneck technology rat race with no support from their employing
organization. This _could_ (maybe) be considered reasonable if technology
moved more slowly, but not the way the world of computer software works.

It's one thing if you're a consultant in a web development position where your
team is constantly jumping from the previous best practice to the next;
keeping up in such an environment is easy and you'll get paid to do it. The
problem occurs if you're in (e.g.) a back-end position where your job duties
require you to focus on slower-moving technologies that might have lesser
demand in the market. What happens if you lose your job after 5 years? Unless
you spent all your weekends working with the latest hot frameworks, you're
(mostly) screwed.

There was a good essay a while ago which stated that software developers need
a professional association. If we were organized, we could put forward the
very reasonable demand that a small portion of our on-the-clock time should be
spent for education. I think this is a requirement if we are not aiming for a
world of 40-year old burnouts and early retirees.

~~~
tbrownaw
_As long as developers keep accepting that they have to spend 15 hours a month
on their own dime just to keep up, it 's outright exploitative._

Why? How is this any different from working an extra... 4 hours a week? It
sounds like long hours are fairly common, and we tend to be on salary and not
get paid extra for that either.

~~~
marvin
I think the US system of salaried employees and no overtime restrictions (or
even pay) encourages exploitation in the first place, so that is my background
for making this statement. I live and work in Europe, and I will never work
for any US-based company that does not place firm restrictions on how overtime
is managed. Most US companies simply have the wrong incentives in place.

But yes, having the legal right to take 4 hours a week out of your schedule to
stay up-to-date would go a long way towards alleviating the problem.

------
TheAceOfHearts
One minor point I disagree with is mobile development. For certain apps it's
extremely important... But there's a lot of complicated applications that
don't work on mobile at all. So if you wanted to support mobile you'd have to
design and build two separate applications. That requires a lot of resources
and manpower. Another alternative is to hide most of the functionality that
won't work well in mobile, but depending on what problems you solve, this
could make your application useless.

As for the overall topic, I think I agree. It seems to me that server-side
technologies are better researched and understood. But then you look at
client-side technology, it's chaotic. Building and maintaining user interfaces
is hard... Recently I've been playing around with flux and react, and I feel
like it's definitely a step in the right direction towards building simple
components that can be easily maintained and extended.

------
thaumasiotes
> Some people love to cook in their spare time. Would these people be as
> enthusiastic about cooking if they were doing it for 40+ hours a week every
> week and there was a superior telling them what and how to cook?

> The honest answer for most people is no!

I find this weird. I advertised for calculator program requests in high school
because I wanted someone to tell me what to code. (There were no takers. One
guy wanted a program to convert decimal numbers into fractions, but that's
already built into the calculators.) To me writing a program is solving a
puzzle. You can't do that unless there's a puzzle to solve.

I was baffled and enraged by the prevalence of the question "what do you
_want_ to work on?" and its related forms in job interviews. My philosophy of
work is that the whole point of having a boss is that they tell you what to do
and you do it. Sure, I don't want to fix cars, but that's why I'm applying as
a software developer and not a mechanic.

~~~
bsdpython
You can literally work on software for any industry, company or government in
the world. I would think you would have some sort of preference. At the least
you should be interested enough in the place your are interviewing at to find
out what they do and and then tell them you are interested in working on that.
Otherwise you just come off as a mercenary or desperate.

~~~
ssully
The thing is some people really don't care what they work on. As long as the
pay is good and they are getting to program(or whatever other task they enjoy
doing), the actual application doesn't matter.

------
thejosh
Okay, so he doesn't like that someone is a senior developer because they have
been coding for 5 years. Fair enough, I guess.

Then they go onto say that you need to keep your technology current, and
always be moving on. Okay....

So how does one become a senior in his position when you're always suppose to
be moving on? By being a master with PHP? Not much has survived/been popular
for >5 years that will make him happy.

------
gexla
Reality. Talk to people. Help people. Preferably, help people make money.
You'll be okay.

------
aburan28
This is a debate I am having right now. Should I go the sysadmin route (hadoop
clusters, etc), become a data scientist, or choose to get into cybersecurity.
I have been leaning against choosing the web development career path

~~~
wyclif
DevOps! ;-)

~~~
falcolas
Trite, but accurate. This role is currently in high demand, with
correspondingly good salaries. It's worth noting, though, that companies
expect DevOps to do more more operational tasks than programming or procedure
generation.

There aren't a lot of folks who understand how to administer a modern Linux
system anymore; even companies using AWS or Rackspace or GAE will need someone
versed in the arcane ways of System Administration as they grow.

------
itsbits
This applies not just to Web Development...Mobile Dev is most challenging as
well...As a iOS developer, every iOS update, there will be new features..and
lot of guidelines..now even new Programming Language...

------
CmonDev
TL;DR: glorified web developer only likes his kin.

------
graycat
My take is different:

For "Web development as a career", the OP seems mostly to mean as an employee.
Then I'd say, go down that road if you have to, but ASAP learn the _business_
side, get your own software development _environment_ (likely you already have
it) in your own room at home, and then just be a _sole proprietor_ in
_business_ much as a guy who owns and runs, say, a pizza shop, is a CPA, mows
grass and plows snow, is a plumber or electrician, a car repair guy, an auto
body guy, etc.

Then you get some big advantages:

(1) You are the one who gets the revenue and, thus, keeps the earnings.

(2) Likely for each dollar of revenue, you have lower overhead than any
employer and, thus, get more money. In particular, you get to cut out the
fraction of the revenue going to the owners, managers, marketing guys,
lawyers, HR, landlords, business insurance agencies, etc.

(3) You have some tax advantages, often well known to sole proprietors.

(4) For your technical qualifications, you only have to learn and use what you
actually need and find useful. So, you don't have to play buzz word ice hockey
with some HR clown who doesn't know fixed from float but has a checklist of
C++, Python, Ruby, MongoDB, Jason, HTML5, ....

Point (4) is crucial: Likely your customers just want their Web site
developed, running, and occasionally revised. Okay, that's what you need to be
able to do. But, you get to select the _framework_ , languages, libraries,
development environment, etc. If you need a new tool, then, sure get, learn,
and use it. But you don't have to spend a lot of time learning, say, HTML5 or
SVG if you don't need to use them yet.

"The business of America is business", and in practice from crossroads up to
the largest cities a lot of sole proprietor small businesses.

------
analog31
To me, it's interesting that an article on Web development is hosted on Google
Docs. This is not to point out an irony, but that like any technology, web
development can be democratized pretty rapidly. The website for my side
business is hosted on a similar platform.

 _What was considered best in class 5 years ago is literally frowned upon now
as the technologies and the standard of our applications have evolved
rapidly._

Moreover, what was considered best in class 5 years ago can now be set up by a
non-expert.

~~~
bbody
My guess is that the author is afraid their website can't handle a HN view
influx.

~~~
analog31
That's perfectly fair. They might also not want to use their employer's
website for their personal writings. And using the right technology for the
job is a good attribute.

------
mtrpcic
Just wanted to note that this was posted to the CSCareerQuestions subreddit[1]
6 days ago, and there's a bit of discussion there that may interest people as
well.

[1]
[https://www.reddit.com/r/cscareerquestions/comments/2yb11f/i...](https://www.reddit.com/r/cscareerquestions/comments/2yb11f/is_web_development_the_right_career_path_for_you/)

------
aburan28
I fear there is a new generation of developers who have jumped into
programming using nodejs as their core language and fit this description you
mention "On more occasions than I could count, the candidate for this type of
role would have some cool technologies listed on their resume and completed an
adequate coding test which is part of our hiring procedure.". If you don't
know algorithmic complexity, how to run all sorts of tests, or have any clue
about security measures but can set up a nodejs express webserver in 5 mins
you are a script kiddie at best. Unfortunately these type of developers are
now getting jobs because its the new web development buzzword

------
subrat_rout
As a recent student in a coding bootcamp I believe your essay is very
informative. It will be useful as one of a guiding docs for beginners. Thank
you

~~~
WalterSear
Fwiw, don't take it as cannon, and expect exceptions to every rule.

------
karthi18
Nice Topic. Actually i'm in the web development field for past three years.
The reality of the web development was difficult to understand.

------
thebenedict
All good thoughts, but not specific to web dev! Applies to any career path
you're serious about.

------
shamney
what new technological advances in back end web development have occurred in
the last five years? why should senior developers spend their spare time
learning new ways of doing exactly the same thing?

------
AnonymousRetard
What has that google page turned into xD

