The Role: Write code and implement design to create an integrated experience on the web.

Pros

  • Web development has an instant feedback component that is very enjoyable.  I write code and can immediately view the effects and synthesis with the graphic design in a web browser.
  • I like the problem solving aspect of web development – there is a very tight connection between solving problems and getting the job done.
  • Compared to game or application development, the turnaround is much quicker which means project adaptability is higher.  I appreciate being able to leverage my skills to tackle problems “on the fly” as it were, in response to seeing people use my solutions.
  • It’s mostly “make your own hours” in that the primary focus is “get the job done by this date,” not “get the job done in the office between 9 and 5.”  I like that flexibility.
  • I enjoy working with “cutting edge technology” because I find it challenging and exciting.  By its nature, work involving the Internet is often at that edge.

Cons

  • Most web development I have done *feels* trivial in the grand scheme of things.  By that, I mean I do not feel I am making a large positive impact on the world by doing web development.  This is in contrast to other things I could see myself doing that would feel more like making a large positive impact – things like teaching, research science, or law/political/nonprofit/charity work.  So, I don’t feel it is overall very rewarding personally.
  • I don’t like how often a web developer is forced to work on a project that is content-uninteresting.  I’m not sure how many jobs there are where you don’t have this component (forced to work on something you don’t like), but for example, a game designer is going to be making games – all of which more tightly share an aspect (in essence, designing fun) than the aspect that websites share (in essence, they exist on the web).
  • I don’t find it particularly challenging in the abstract; for me, the interesting challenges are in the specific content and not the specific implementations.  This ties back to the previous concern, since if I don’t get to choose my work, I will often be required to do work that I don’t find challenging.
  • I don’t like that oftentimes decisions are made upstream of development that impact developers’ ability to problem solve, without consulting developers.  The two ways this gets resolved (time is wasted changing those decisions, or the decision is upheld thus reducing the effective number of solutions) are both frustrating.