Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Web Development - A Tough Job to Have? 112

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?"
This discussion has been archived. No new comments can be posted.

Web Development - A Tough Job to Have?

Comments Filter:
  • by eldavojohn ( 898314 ) * <eldavojohn@gma[ ]com ['il.' in gap]> on Friday June 09, 2006 @02:46PM (#15504314) Journal
    I've been developing web apps for two years in a Fortune 500 company. I've run the gambit. ASPs, JSPs, Weblogic, Websphere, Plum Tree, Axis, Spring/Struts, etc. Let me point out the my easily identified cons of web development:
    • 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 ...
  • by after fallout ( 732762 ) on Friday June 09, 2006 @02:54PM (#15504376)
    You can layer it out a little (one person in charge of database, one in charge of stylesheets/user-interface, everyone else does everything else).

    Communication is key though, we spend more time talking about what we are doing than actually doing it. Also, a very strong change management procedure helps.
  • Heh (Score:3, Insightful)

    by aftk2 ( 556992 ) on Friday June 09, 2006 @02:56PM (#15504397) Homepage Journal
    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.
  • Business Aanalyst? (Score:3, Insightful)

    by plopez ( 54068 ) on Friday June 09, 2006 @03:13PM (#15504564) Journal
    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...
  • Back in the day... (Score:4, Insightful)

    by penguinstorm ( 575341 ) on Friday June 09, 2006 @03:39PM (#15504779) Homepage
    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.
  • by Anthony Boyd ( 242971 ) on Friday June 09, 2006 @03:45PM (#15504818) Homepage
    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.

    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.

  • by protohiro1 ( 590732 ) on Friday June 09, 2006 @03:47PM (#15504838) Homepage Journal
    Man, screw those people. That is our new policy at our company. If someone tells us we cost to much and someone else can do it better, cheaper we let them go. I don't need people that are going to nickle and dime. If they really think that web dev is easy and shouldn't cost money they can do it on their own.
  • Same feeling (Score:1, Insightful)

    by Anonymous Coward on Friday June 09, 2006 @03:50PM (#15504873)
    I perfectly understand what you're going through. Unfortunately, I haven't found a solution myself. I've been making Web sites since around 12 years now, and I must say, I rarely got an enjoyable time.

    What makes it the most difficult are the customers, in my opinion. I also worked in call centres for more than four years, and still today, with all that "practice", I still can't deal with customers. Furthermore, the share of customers I got is quite bad. (For example, one customer I got disappeared for months then finally came back, drunk, and shout and me because the work I've done was now "bad" but used to be the best the world just before he left.)

    Customers are never happy, never. They may seem to be satisfied, but they always want something more. They never pay on time. They never tell you want they want or give you what you need on time. All that, and the site is often just an intranet site or a public site that closes a year later. That makes it difficult to grow a portfolio!

    I'm currently, since last year, the webmaster of a call centre. Here the "customers" are the team managers and operations managers. They're not sure about my real position within the company and the requests they give me range from doing an extensive new database-driven application for customizable interface to pull out call data statistics for the past years to posting "cute" pictures on our intranet. Most projects I do here get cancelled or unused once done, and they often get superceded by other projects when managers feel like it. My position was supposed to be independant, but they've put another guy to supervise me with who I often need to argue to get things done.

    Plus, the full-time job I have now is finally the first one I ever got in my domain. Ironically enough, I don't like it. I think it could be much better. The only other kind of work I've done was technical support on the phone.

    To be honest, I think I prefered being a webmaster when it was just a hobby. As a job, I must say, I know I'm good personally, but I somewhat could never succeed. Personal satisfaction always lacks. At least, when it's by myself for myself, I know I'm satisfied with my work and I know I can get things done. But the money won't pour in!

    I'd love to do something else, but like you, I have no idea what or how. Good luck!

    R.
  • by suv4x4 ( 956391 ) on Friday June 09, 2006 @04:11PM (#15505055)
    "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."

    Amen to that brother.

    I just had the same experience again the other day. The "CEO" turns to me and says, "So for tha past week you've only worked on the login page?"


    It *is* correct, but it's misleading to tag is "webdev specific" issue. It's same in just about any work that has design and programming phases.

    Dev: "I've been working past 3 months on the script part of our 3rd person shooter game engine"
    Boss: "Can I see how it's shaping up?"
    Dev:"No, it's nothing we can demo yet, just couple of demos where a ball hits a cube and the cubes rotate and such"
    Boss: "You're fired"

    Dev:"I've been working the past 3 months on adding heuristics to our virus scanner"
    Boss: "Can I see it?"
    Dev:"Yea, here it is, enable this checkbox"
    Boss:"3 months for a checkbox? You're fired"

    Basically this is why a project leader has some experience in the technologies involved so you don't lead pointless and potentially catastrophic conversations like these. The team leader's job is to understand his team members needs and the resourse a task really takes, and dumb it down to the management so the management has a realistic idea of the work involved.

    In other words, there are not plenty of highly technical jobs, where you can just walk to your boss and tell him: "I've been porting shit from tables to CSS past month" and expect him to have a clue.
  • by Osty ( 16825 ) on Friday June 09, 2006 @04:16PM (#15505103)

    You can layer it out a little (one person in charge of database, one in charge of stylesheets/user-interface, everyone else does everything else).

    I've found that vertical ownership works out much better than horizontal ownership. Rather than having one database guy, one UI guy, and everybody else writing glue in between, everybody is a database guy and a UI guy and an everything-in-between guy. Developers own features from the database all the way to the presentation. You get a better, more well-rounded team that understands more of the entire project that way, and you increase both morale and responsibility by letting developers own specific features (if a feature is great, you know who to praise. If it sucks, there's no passing blame to "the database guy" or "the UI guy").

    You'll still need to have domain experts. Not everybody is going to be a SQL guru or awesome UI designer, so you need team members with those skills who can guide design and implementation, do code reviews, troubleshoot issues, etc. Ideally, these "gurus" are also "regular" team members who own their own feature set. The goal is to spread around the knowledge rather than building little castles around specific areas and throwing around blame. That'll still happen, but it's much harder for Feature A to blame Feature C for Feature A's failure than it is for the database guy to claim his work on Features A and C was perfect and it must be the UI guy who made Feature A suck.

  • I concur (Score:3, Insightful)

    by madaxe42 ( 690151 ) on Friday June 09, 2006 @04:18PM (#15505123) Homepage
    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.
  • by telbij ( 465356 ) on Friday June 09, 2006 @05:45PM (#15505860)
    I've found that vertical ownership works out much better than horizontal ownership. Rather than having one database guy, one UI guy, and everybody else writing glue in between, everybody is a database guy and a UI guy and an everything-in-between guy.

    The tricky part is building such a team. Everyone wants to hire the people with a perfect skillset, hence the insane job requirements that you sometimes see from corporate recruiters. A good vertical skillset in web development makes not only an extremely attractive candidate, but also someone who can easily freelance or do a web startup.

    However rather than complete verticality, most of the benefit can achieve from proper overlap. IE, the designer needs to understand HTML/CSS pretty well. The markup person needs to understand presentational logic and the basics of the language being used. The programmer needs to know HTML/CSS and have good database fundamentals. The DBA maybe just needs to understand the business processes.

    This allows the team members to work together efficiently. The minute the programmer looks down on the HTML guy for religious reasons, the whole project goes to shit. If everyone is at the top of their game and has some idea of what their team members need to be efficient then a team of 4-5 specialists can achieve great productivity. On the other hand, all it takes is one hack designer using Dreamweaver as a crutch and things can quickly grind to a halt.
  • by Osty ( 16825 ) on Friday June 09, 2006 @06:01PM (#15505973)

    The tricky part is building such a team. Everyone wants to hire the people with a perfect skillset, hence the insane job requirements that you sometimes see from corporate recruiters. A good vertical skillset in web development makes not only an extremely attractive candidate, but also someone who can easily freelance or do a web startup.

    If you're hiring freelancers or contract workers, it's definitely difficult to build such a team. If you're looking to the future and slowly staffing up in a proper manner, then you should have no trouble getting smart people who maybe don't know everything but have an amazing capacity and willingness to learn. Of course, you need to make sure you do spread out the knowledge at hiring time as well. If you hire all SQL programmers, who is going to be your HTML guru who will train the others?

    I'd also like to point out that this vertical split works well in many other types of development, not just web dev.

    However rather than complete verticality, most of the benefit can achieve from proper overlap. IE, the designer needs to understand HTML/CSS pretty well. The markup person needs to understand presentational logic and the basics of the language being used. The programmer needs to know HTML/CSS and have good database fundamentals. The DBA maybe just needs to understand the business processes.

    Depending on where you make the differentiation between "Developer" and "not Developer", your goal should be to get all of your developers to be proficient at all levels. I mention making a distinction because DBAs are often considered Operations (while they may keep your system running, they're not intimately involved in designing and building new features), or your designer is just a Photoshop monkey with a good sense of design and not someone you'd really want coding. For the rest, you play to their strengths but put them in situations just enough beyond their skillset that they will grow and succeed. The other thing here is that by splitting vertically, everybody must grow together. You SQL guru will have to help your HTML guru with his database design and code, just as your HTML guru will have to help your SQL guru with his presentation work. You're forcing teamwork and communication, while spreading out knowledge so that no single person is too valuable (ideally because you're protecting against bad attrition such as a star developer leaving for a different job, but I guess you could use that as a way to slowly outsource everything as well).

  • by mdavids ( 143296 ) on Friday June 09, 2006 @06:57PM (#15506372) Homepage

    It depends greatly on where you live, and who your customers are. I've been a web developer for about two years (had done a lot of it in the past, though), since moving to a large town/small city. We came here with a long list of things we could do, and quickly settled on web development because every organisation here that had a web site had a dreadful website. You know the drill: something knocked together by some guy who'd just done a course in Dreamweaver and Photoshop, 90% of the text is an image, every link is a JavaScript onClick() event (why?!?), no page is without some form of god-awful cheezy animation, including the "click here to enter" splash screen which not only gets in your way at the first page, but at every subsection of the site's navigational heirarchy. Of course all these sites are three years out of date, because they just haven't had the cash to hand to pay the original developer to update it for them, and when they do, they find he's moved into another career (presumably following another 8 week course), and has no time for them.

    The problem is that this arrangement is perfectly within their comfort zone. If you tell most small businesspeople that they can have a simple website for hundreds, rather than thousands of dollars, that they can easily update it themseves for free, and that every time they prepare a press release or similar promotional info for the local press, they can copy and paste in into their CMS in seconds and have an up-to-date and informative website rather than an outdated online sales brochure, they will look scared. And they are not hearing this from a dishevelled and manic nerd, but from an attractive and professionally presented young lady (my wife, a relatively normal person who is the public face of our business).

    Every sale we make is a result of a lot of marketing ground work, because what we are selling is, while although undeniably superior to what the competition provides (at half the cost), totally foreign to our potential clients. So we end up with periods of frantic activity interspersed with periods of zero income. We've had some successes with some very satisfied customers, and some very frustrating experiences of the kind described above with some people who think that being a dumb obnoxious bully and being a shrewd businessperson is the same thing. After a very tough couple of years, we are finally keeping our heads above water, but I'm getting very sick of instant noodles and would like to be able to afford a night out at the local pub once in a while.

    The answer seems to be not to move into a totally different line of work (the positions vacant section of our local paper is not sufficient to cover the floor of an average-sized bird cage), but to find complementary work to smooth out the income troughs. In fact my wife, in addition to doing all the administrative and organisational work for us, is now spending a day or two a week doing the same for other businesses around town.

    So the question becomes, what kind of work can be a reliable supplementary source of income for a nearly-but-not-quite full-time web developer?

  • by SavvyPlayer ( 774432 ) on Friday June 09, 2006 @07:56PM (#15506699)

    "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."

    Amen to that brother.

    I just had the same experience again the other day. The "CEO" turns to me and says, "So for tha past week you've only worked on the login page?"

    I just wanted to scream him down.

    As someone with merely 10 years of experience in this business, I have no symapthy. If you find yourself in this situation, it is most likely due to one or more of the following:

    • You are not accurately estimating project effort.
    • You are not accurately figuring non-project related accountabilities into your project plan.
    • You are not adequately addressing slippage/feature creep, and/or not communicating these risks to the powers that be.
    • You are not setting proper expectations regarding deliverable milestone targets.
    • You are not following a proven software development lifecycle model.
    • Someone with actual software development experience prepared a reasonable estimate and you are simply incapable of doing the work.
    • You somehow managed to do everything right, but happen to be working with an incompetent client/employer/team. In that case, your project is doomed to failure -- you are wasting your time and need to find another assignment immediately.

    When you are to blame, you don't scream down anyone but yourself.

  • Enjoy Your Work! (Score:2, Insightful)

    by mongus ( 131392 ) <aaron@mongus.com> on Friday June 09, 2006 @09:15PM (#15507007)
    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.
  • by Anonymous Coward on Friday June 09, 2006 @10:49PM (#15507354)

    Your manager may not care that the tables are being converted to CSS.

    He or she does care if you say that you've been improving the structure of the page so that you can be more responsive to customer requests. If what you're doing doesn't contribute to the bottom line, you'd better reconsider why you're doing it. But if it does, you'd better tell your boss how, and he or she will be sure to listen.

    If not, find another job. :-)

  • by Anthony Boyd ( 242971 ) on Saturday June 10, 2006 @03:51AM (#15508060) Homepage
    Music? Well, you're a prime candidate for programming. Music & math go hand in hand. So you already have a good start.

    For me it was fairly natural. The Web had just started. I was one of the much lamented AOL crowd that came online when AOL brought in Usenet news feeds. I was publishing a small press journal, and I wanted more exposure. I learned about the Web, and found I could understand HTML enough to create something similar to my journal, online. So I put out a few issues.

    I think in February/March/April/May 1995, I got featured in a few magazines, and was AOL's "site of the day." I had started putting up tutorials for all the things I was learning. I heard that Borland (close to where I was living) was looking for Webmasters. I sent them my URL, along with press clippings. They called, I was hired, and then I parlayed that into more & more.

    If I could give a person any single bit of advice, it would be to be curious. Not black-hat curious. But "hey, interesting technology, wonder if I can pick it up" curious. I hired a guy a while back, Jeremy Meigs, and he was REALLY green. But the thing was, he stayed late learning, he read books, if he didn't know how to do something he figured it out -- even if it meant a little extra effort on his part. He didn't farm the hard stuff out to others. He didn't beg for favors. He didn't say things couldn't be done. Sometimes he would ask me for some pseudocode or something to get him started. Sometimes I'd see him searching Google really hard, looking for a long time for tutorials or discussion forums or any helpful data he could find. But in the end, he'd have a finished project, and he'd be able to speak eloquently on why he built it the way he did. He took the time to really absorb stuff, he drank up knowledge like a sponge.

    Because of that, the fact that he had zero background in programming mattered little to me. To go back to what I said in my original post, I know his skillset. "He's the guy who is good at learning anything technical." So if I ever need someone to pick up a new technology, he's the guy I'd contact.

    So that's my help for you, for what it's worth. Be interested in learning. Be willing to accumulate a body of knowledge, so that after a time, you have a great foundation. Don't rely on consultants, procedures, diagrams, and other meta-chatter. Get into the actual creation of something. Become great at Photoshop, or become great at PHP. Whatever you pick, understand it deeply, and then branch out and apply that deep understanding to new skills. If you do, people will see that, and they will find you valuable.

    -Tony

With your bare hands?!?

Working...