Software Developer: Career Path

This was found here

Software Quality Levels

Software, like all things, has quality. Which scenarios describe the projects you've worked on? Which of these are familiar? Which have you over come through experience?

1. Works when no one is watching

When the requirements are completely out of control, many programmers celebrate even having reached this point.

2. Works if you do it just right

Too many applications, most not written in Perl, make it to this point and stop cold. Forget reusable, this isn't even usable.

3. Trying most things once, it doesn't break

You may be tempted to give a software demo in front of a crowded auditorium at this point. Don't.

4. Other people tried it, and it seems to work

Software released to the community often starts at this point. Before this point, there isn't enough benefit for it to be worthwhile for them to fix your bugs.

5. Been in production for a while, and you're running out of bugs to fix

Most perl programs quickly shoot to level 5, and stop. Level 5 is a good level. Since its really about the users, not the developers, Perl has traditionally been great for end users.

6. Other programmers are adding to it, so you made the code understandable

Other programs can incorporate this program into theirs, or vice versa, and benefit from your work.

7. A lot of people are working on it, so you made it modular and well laid out logically

Resistant to damage caused by new features, different requirements, and new programmers. In a lot of ways, like a Spider Plant: fractal, prolific, and cute.

8. It has turned into a generic framework for doing things of this kind, and has been separated from early assumption

Different products that do the same thing but better are different, but are based on this class, can easily be created.

9. Hordes of the nit-pickiest people on the net have picked every last nit out of it

College classes are dedicated to exploring your code. Aspiring programmers marvel at the sheer beauty of it.

Most programmers are smart and hard working. Things go wrong mysteriously. Changing requirements stress the design of a program. A program at level 5 can quickly turn into a level 2 program, if people start working on it who don't understand the entire design, or the original design doesn't take into account the direction it takes into the future and no one adapts the design. This is the primary reason to shoot for a level 7 program. Having net-god status thrust upon you and having to live up to it, or attempting to attain net-god status is the primary reason to shoot for level 9. Of course, if the program is a few lines long, none of this amounts to a hill of beans.

Software does not wear out in the traditional sense of machinery with moving parts. However, software is constantly being used in ways its authors never expected (often uncovering errors), and end users are constantly demanding extensions to their software.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
Are you Human enough ?

Popular content

Syndicate content