Slashdot Mirror


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

7 of 112 comments (clear)

  1. As a Web Developer ... by eldavojohn · · Score: 5, Insightful
    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 ...
    --
    My work here is dung.
    1. Re:As a Web Developer ... by suv4x4 · · Score: 5, Insightful

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

    2. Re:As a Web Developer ... by Osty · · Score: 4, Insightful

      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.

    3. Re:As a Web Developer ... by telbij · · Score: 4, Insightful

      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.

    4. Re:As a Web Developer ... by Osty · · Score: 4, Insightful

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

  2. Web Developer by Thyamine · · Score: 4, Interesting

    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
  3. Frank, there's something wrong. by Anthony+Boyd · · Score: 4, Insightful
    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.