web developer & system programmer

coder . cl

ramblings and thoughts on programming...


do I dislike web development?

published: 03-06-2012 / updated: 03-06-2012
posted in: development, programming, projects, rants, tips
by Daniel Molina Wegener

As you know I was first a system programmer. I have started developing in Asm, C and C++. Then, on the early ages of my career as programmer, I started a position as Web Developer using the Perl language. Those times were not Flash, not much JavaScript on the client side, among other new cool technologies, and almost all sites were developed using HTML 3. In parallel I was learning Lisp and Scheme, so my functional programming background was not deep, but enough to understand some cool Perl features. As many Perl programmers those times, I got lost in PHP developments for many years.

Everything went fine, but along the time, the project schedules were getting shorter and shorter, and seems to not be stopping. So, you as Web Developer if you start working as development service provider, you must deal with two big problems — which are hard to handle if your not a skilled project manager — where the first one are the competitive schedules, and the second one is the amount of changes that suffers each web application.

With the first problem, you are not able to charge the proper price on the project. Usually bad project managers just reduce the amount of time required to develop the application — which affects directly the project bid — and the second one affects directly the schedule and the project cost. A bad project manager just let those changes pass, without charging for them. You as programmer will get affected directly by both problems. You would work overtime, and you will probably not receive the proper payment for your development.

Along the time, both problems has been increasing their pressure over those companies offering that kind of services. So, they are making of the web development — thinking on those companies offering development services — a nightmare. Mostly with Agile methodologies, where the amount of changes that can suffer an application is a constant along the development, if you are not a skilled negotiating the project cost, you will finish working for free for your customer. And even if you are not using Agile methodologies, if you do not apply change management properly, you will be delivering products for a reduced price, rather than charging the proper price for the project.

Every day is more frequent to listen some peers telling me that they must do overtime to meet some milestone which was scheduled from one day to another, without doing impact analysis, and even without doing the proper measurement using some technique like PROBE or PERT, or even if you are using advanced engineering techniques like COSYSMO or COCOMO to measure the schedule, those steps are skipped. Just because the customer owns the true.

Make an experiment. Make a very single test. Take one of your projects, and enter the project data in one of those systems, or make a single task applying this technique. If you are smart enough to manage a project, you will be tracking both completed milestones and changes over those milestones. See the difference between the schedule that your project manager assigns to complete a schedule and what happens with your measurement. With a low project budget and a large amount of changes, it can kill both the project and enthusiasm to develop the project. If you have skilled project managers, you will not get pressured to complete a schedule, that is a lie, just a lie to reduce the project cost. So, the «work under pressure» requirement on job positions, is not another thing like «hey!, I am a poor company, I want the development as cheap as I can get it, so let me pressure you to get things done, because I do not want to pay more for that». So, that makes me to dislike web development, but only if it refers to web development as service, not for products, because they have other perspective, because they use product roadmaps rather than intuitive change sets.


No coments yet.

post a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>