Web Development - A Tough Job to Have?
frank_tudor asks: "Hey everyone, I have been a web developer for seven years now. I have had some moments of success, but mostly down moments with low pay, less than stable work, and unemployment. I love what I do and I don't mind the trends and technology changes that come with web development, but I am getting older and have been mulling a change in professions. But to what? I an wondering what those of you on Slashdot think about web development as a job, and what professions they think would be both stable and challenging to consider?"
- The technology & framework you're using will be obsolete in two months (see above list).
- Your scope creep is worse than another project because web technologies (like Web 2.0) are constantly offering new features. The customer sees them and wants them
... now.
- A lot of times, you can add something graphical in two minutes and the customer might wet themselves when they see it. On the other hand, you can spend two months knocking out major requirements in back-end functionality and the customer will probably ask you why they're paying you since nothing's changed in the interface.
- You need GUI experience and a sort of artistic knack (or at least a team member with this expertise).
- You need a solid programming background for functionality (or at least a team member with this expertise).
- You need to know a lot about security (or at least a team member with this expertise).
- You need to know a lot about databases (or at least a team member with this expertise).
- If you rely on team members for the above, you need to keep constant communication with them through every step of the development process--this is why it's often better for you to just learn everything.
- You have to develop original content for the website. Seriously, where do people get their pictures for websites? I want licensed images of people standing around and using computers in my website
... I had better get my digital camera and waver forms and hit the office cubicles.
- A lot of the tools are FOSS. My company's FOSS Process has 20-25 control gates. Most of them are lawyers.
- You sometimes have to deal with lawyers.
- It's a tiered or layered framework that you work with & therefore to introduce a new functionality, it has to be implemented from front to back. This means that it's fairly difficult to have people in charge of a layer (like presentation-side versus functional server-side versus database) because they all have to play ball in order to get the functionality working.
- You have to balance server load with what can safely be done on the client side.
Now, I know a lot of the above elements are present in other programming/IT jobs but I do find web development to be the most difficult form of programming.The pros of web development:
- A lot of jobs are available.
- The pay is decent.
It doesn't sound very fun & yet I still continue to do it. If you want a suggestion, only take web development jobs on a large team that already experiences success. Learn how to fit in and then you can work on taking on challenging tasks. As you can see from above, I'm expected to do it all and then some. I've been forced to do things as a one man team and I don't like it. Don't enter into anything unless your duties are well defined and involve well built products, tools & technologies.Most importantly, educate yourself about enhancements, advancements & changes and stay well rounded. Best thing I ever did was set up an Apache Tomcat server at my home and start tinkering around. Well, I suppose that's another story though
My work here is dung.
Over ten years ago, I started working for a healthcare organization. Initially the pay was low and the jobs were somewhat stressful. Still, it's now become pretty much the dream job. Since we're non-profit, we can actually do things because it's the good and moral thing to do, rather than lining our pockets with money. Since it's healthcare, there's a fair amount of money to be had, purchasing interesting systems and getting to play with cutting edge technology. The atmosphere is great and I get along well with my coworkers.
Bottom line, it's a stable, well-paid, and interesting place to work.
Ever changing end user demands, request for new and/or unproven technology eg "Oh, this thing called Ruby just came out yesterday, I'd like to have a site in that.. Or this new ajax thing"- now these things are old, but when they were just fresh out in the wild, customers wanted it because it was the 'new way'. I hate huge projects where the user changes their mind on something major halfway through and that requires a rewrite of nearly everything you've done, or you find yourself shoehorning things in even when you tried to anticipate features they haven't asked for but will think of or would be nice.. I always found myself giving them way more than they wanted and always ending up with them wanting more. Drives me batty, plus I'm a contractor, so I have to deal with a middle-man who deals with the customer- never play telephone with web-design, it makes it even harder and you get stuck needing input on something and it takes 3 days to get an answer. Ack!
I don't have a solution for you, I'm now working in an electronic engineering company doing the software side of things and am in way over my head as far as the electronics is concerned, but I'm learning and am paid well- its a great job that's not on contract. Don't do contracts unless you've got lots of customers and other people to help you, otherwise you just get all the headache managing things- there are in fact advantages to working for someone else, as much as I like being on my own.
Definitely not stable - I agree with all the other opinions posted. You constantly have to be on your toes, both from a front-end perspective (understanding HTML/XHTML, JavaScript, CSS, etc...) as well as from the programming perspective (different options like ASP.NET w/C# or any other myriad languages, Java/JSP, PHP, Perl, Ruby, etc...) And as if it didn't get worse, the languages themselves seem to change as frequently as the which ones are in vogue (take PHP, for example.) And then, at a higher level than even the web development languages, you have the various frameworks that they utilize (Struts, Ruby on Rails, and others).
But it can be interesting - if you want interesting more than you want stable, I'd suggest trying to find a startup. Or better yet, work on your own projects in your spare time, and try and spin them off into things that you can do full-time, working for yourself. This is ultimately what I want to do, but it ain't easy. Plus, you need to find an employer who is amenable to this and won't try to claim your off-duty work as their own.
concrete5: a cms made for marketing, but strong enough for geeks.
I've been doing web development for a few years now for a consulting company. Initially we just started with our own internal web applications for managing projects, time, expenses, all of that. Eventually we started developing web apps for other clients intranets until it got to the point where I couldn't manage it all myself. We hired two other developers and I took on more of a management role, along with continuing to develop and work on existing applications.
Not everyone wants to be involved with management, but if you enjoy web app work, perhaps you'd enjoy trying managing others and using your experience to help them.
I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
Since offshoring is becoming all the rage (though there is some backlash) if you are articulate and can write well, use your development experience as leverage to become an analyst. In fact, there are alot of places an analyst could be used. If you need to develop these skills more, take a couple of classes.
One of the posts mentioned health care as a interesting industry. I will reccomend the energy industry as it is huge, heavily subsidized (the gov't will not allow them to fail), making huge sums of money and some of the problem domains (earth scienes, environmental compliance) are a bit more intersting than your typical ecommerce site.
Best of luck on the change...
putting the 'B' in LGBTQ+
I am a professional freelance webdeveloper at the end of cash resevers with no new deals in sight. It isn't nice, especially with a family and bills to pay. However I know what you're talking of but don't think the technology diversity is a downside. Most people do various technologies for the fun of it. I've done a bazillion different ones in the last 3 years and now I will take the chance and start to focus.
... whatever you fancy. Stick to it and specialize and do ALL your stuff from here on down with only that technology. See to it that you join the core team of that project and you've no reason to switch solutions ever again.
If you don't like switching the technology every odd month - then don't. It's that simple. There are countless OSS solutions out there, one better than the next. Pick one server side and one client side and stick to that. Zope/XUL, Typo3/Flash Java/Java, OpenLaszlo, Joomla/Ajax, Symfony/XHTML
I know a webdesigner who does EVERYTHING with ExpressionEngine (a commercial PHP/MySQL Weblog/CMS that's popular amoung designers). It uses some hairbrained Template Level PL for small logic actions. Some more webappy things he does are a total mess and totally destroy the concept of MVC but all the websites he puts out are top notch and easy to operate for his customers. He knows his way around that CMS and customers don't question him.
After years of exploring all the neat and fun OSS webtechnologies and after 3 years freelancing in the field I'm slowly growing old and will bite the bullet and start to focus. Allready I've done a few jobs with Joomla. Since I'm building a larger PHP webapp just now I'll probably chose a PHP CMS to dive into. And since I'm in germany it probably will be Typo3 - allthough I hate the beast.
Bottom line: Specialize and focus. That will bring you further than eternally trying to be the jack of all trades.
We suffer more in our imagination than in reality. - Seneca
I've been developing for over a dozen years, from PC database in the Clipper days, to Unix C/C++, now to J2EE and web. Rather than focus on technology I focused on understanding what it takes to be successful in software. The most skilled, sophisticated coder isn't going to be successful if they're solving the wrong problem, or part of hte problem, or someone else's problem. Or if their solution isn't appropriate. The organization isn't going to remain successful after launch if the design or the technology isn't somethign that can be maintained by the staff that's going to follow up the initial development, or if non-functional requirements regarding the need for change are ignored. Focusing on understanding that part of the software problem has me moving into a Director of Technology position at age 35. I went into a firm applying for a project lead position and when I was done with the interview the VP told me to go home and figure out what it would take to be their director. It sure wasn't because I know Struts/Hibernate/Spring/"buzzword of the day". The industry as a whole needs more people who can think above the keyboard and know how their organization works and what it needs to survive. If you were on a failing software project recently, was it because you and the end-developers couldn't write code? If you're in a mess of a software house, is it because the team couldn't make Spring or Hibernate or Struts or whatever work? Not very likely. If you want a long term career, solve the real problems of IT and the business that relies on IT.
- Sig this!
Back in the day when I had an employer who respected what I did, came into the web world with an open mind and interested in success, and didn't second guess everything I did it was great.
There are two phrases any client should never use:
1) "Make it look exactly like this."
2) "My friend has an 8 year old kid he says built him a web site."
A bad client can be a real problem. It takes a lot of work to find a good one.
Skot Nelson music is my saviour / i was maimed by rock and roll
Does that sound odd to anyone else, or am I just disconnected from some greater reality?
Frank, I've been doing Web stuff since 1994. I started with very little know-how -- I went to college to study English, not programming. Over the years I spent time as an artistic Web Designer & Photoshop monkey, then usability expert, then a JavaScript & Perl CGI developer, then PHP, MySQL, and eventually I just decided to say yes to everything. I'll try anything. And what is important to note is that my salary has steadily gone upward -- huge leaps upward during the boom, and then it was flat for a while, and then I started working for myself, and gave myself a pay raise. ;)
I have more work than I can accept. In fact, I've probably disappointed a few business people lately because not only was I too overloaded to take their work, but my subcontractor was too. How does this sync up with "low pay and unemployment" problems?
I have to wonder. What is your skill set? In seven years, you could and should have learned quite a lot. You should be much more competent, and thus much more in demand, than any young bloods coming onto the scene. Your skills should be apparent to those working with you -- "oh, he's the guy who does _____." For me, it's "he's the guy who fixes the Web site when our employees break it." There should be certain things you have zero doubts about as far as your skills are concerned. For me, it's PHP and MySQL, with all the ancillary buzzwords as a given (XHTML, CSS, Ajax). Can you easily and readily point to your strengths, and can your peers?
Lastly, what are you doing to market yourself? You don't provide links to your sites or portfolio in your story submission. With your mention of low pay & unemployment, I wonder about your networking too. Have you mass-mailed every friend & relative in your address book, asking for work? Have you kept relationships with the people who have hired you in the past?
I ask because it seems odd that after 7 years, this is the story you have to tell. And that makes me worry about the next thing you jump into. How many of the issues you have right now are due to the job itself, and how many are due to your own networking/skillset/learning/marketing deficiencies? If you find that a lot of it is of your own making, then changing jobs is NOT going to help. It will just be a year of euphoria followed by several more years of being brought back down to harsh reality. Think hard before you jump to the next thing. I'm worried it may be more of the same, unless you do some hard self-analysis first.
My Greasemonkey scripts for Digg &
I did web development for many years, I tried to get out but you end up doing different jobs if they get the slightest clue that you have experience doing web development they start to pull you back into that.
For example, I took a job as a system administrator for a large ecommerce company, they had an emergency one day where some perl cgi scripts broke, the developers were flapping around trying to figure it out, I suggested a solution that worked, from that day one I also had web development tasks, when I finished that job my offical title was: IT Manager/Network Manager/Website Manager.
Second time this happen, unix sys admin for DoD couldn't be further from web development right? Wrong, since being in this job I would estimate about 60% of my time is spent doing tasks related to web development, (I don't mind so much here since the development is very much backend stuff for internal application so less pressure), but it all started because a midlevel manager noticed on my resume when doing some reviews that I had experience in that field.
I swear next job I am omiting all references to web development from my resume.
GeekServ Unix Consulting Services (http://www.geekserv.com)
I agree totally - my partner and I work together developing high end eCommerce solutions - we've written a bespoke system, and we pull in high six figures (in pounds stirling) between the two of us month after month - web (particularly eCommerce) development is booming.
Yes, it's a tough job - you have to be prepared to work seven days a week, be on call at 4am, and work 18 hour days (minimum), and put up with shit from clients who don't have a clue. We have a good team insofar as he is a photoshop and design genius, and has a decent working knowledge of PHP/MySQL, and I do all the guts - the javascript, the AJAX, the PHP, the SQL, the server setup, the scalability...
In all - Web development is a tough job to have, but not for the reasons you give... If the work is short, it might be (Sorry about this) because you're not very good.
One piece of advice - find a focus, and stick to it - there's no point in being the jack of all trades and master of none - by this I don't mean a technological focus - I mean a business focus.
I was in this boat a few years ago and saw where the industry was going and prepped myself for the changes.
.NET and Java haven't got a clue as to what they want. Don't bother with these guys (unless they happen to be a hosting company and you do happen to be multilingual).
I specialized in LAMP (Linux, Apache, MySQL and PHP). This skillset will cover the vast majority of jobs on the market. Knowing Photoshop and Flash helps but isn't necessary. You should have OOP running through your veins and understand what MVC is and use it daily. As a web dev, you are also expected to be a sys admin to a certain extent setting up cron jobs, checking security, etc. Also, knowing how to build an e-commerce site, build your own SSH certs and manage public and private keys helps as well.
Basically, you are a sys admin with a specialization in the web.
Focus on this kind of skillset and you will be set.
Also, don't take any job that requires you to know Photoshop, Illustrator, Flash and Visual Basic; these are red flags that tell me the job won't last a month and that the employer doesn't really want a web dev and isn't sure what they are looking for.
Which brings me to another good point. People who ask you to know IIS, Apache, Windows, Linux, Visual Basic, PHP,
This is my sig. There are many like it but this one is mine.
Rob say Code Monkey very diligent
- week-29-code-monkey/
but his output stink
his code not functional or elegant
what do Code Monkey think
Code Monkey think maybe manager oughta write goddamn login page himself
Code Monkey not say it out loud
Code Monkey not crazy just proud
http://www.jonathancoulton.com/2006/04/14/thing-a
I'm of the opinion that if you don't enjoy your work you should find something else to do. Life's too short to stay in a job you hate. Maybe web development isn't for you. Find something you like to do and head in that direction.
My average job length is about a year because I get bored quickly. For developers changing jobs is often the easiest way to get a pay raise.
If you do enjoy web development there are plenty of good jobs out there. Be picky! Find one that you will enjoy doing for a while. The environment makes all the difference. Meet the people you'll be working with. If you don't get along with them you're all better off if you find something else. You may have to find temporary work while you're looking for a good job but in the end you'll be much happier if you take the time.
My current employer found me on Dice.com. After posting my resume I was getting several calls a day. Many of the calls were only good for laughs but at least they gave me options.