You are hereTech World / Computer Programmers
Computer Programmers
Intro
Since I have some what an extensive experience with computers, I would like to share what I have seen until this date. If you are a beginner computer programmer or if you plan to be one or even just curious about computer programmers, this text might help you to understand us a bit more... hopefully.
In 1985 I started studying the computer world back in Brazil. I took technical high school in Sao Paulo and for the most part, while working full-time in an office.
Back then, somebody taking a course as taken way more seriously then today's students. In that time, I had to take an aptitude test just to get in... I'm not talking about geography nor history test... I'm talking about a logical evaluation to know if I could prosper in the computer world.
Before I started school, I dreamed of dealing some huge computer screen, just like they show on rocket launches. What I didn't know until I started is that I wouldn't be one of the people operating the computer but I would be one of the ones building what was in the screen so it could happen. At first, that knowledge of having to build something so important was overwhelming but I soon over came it and really wanted to be part of such thing.
On my opinion, in today's schools, there are no longer students as they became clients. Today, clients must been taken care or they might give up the course or even might move to another school and that can't happen. That also means on most cases if they have to pick between what is best or what is the fashion (and will attract more students) to teach the students, they will pick what is fashion to look more attractive.
As I have seen on many new programmers, they are very good handling commands of a computer language, or even creating programs with an application but... when they need to build a project from scratch, on their own, most lack from creativity and basic logic and often can't build finish it properly.
Thanks to the Internet, this lack of skills problem is well hidden. As long as they know how to search on Google, they can find basically anything they want, ready to go... just copy/paste the code, perhaps some basic modifications and boom it is done. The Internet is very useful when you are in need (you are even reading my article) but, can complicate the development of a good programmer for obvious reasons.
Like on most things you learn in life, learning programming skills at early age helps your mind to understand one and zeros faster and the deeper and those deep roots are, the longer they will stay with you.
Some programmers are naturally good with low programming such as c, some are better with web ones such as PHP and some have their roots on database related work but, that conversation will be left for another day.
I love dealing with programming because at the end of each project, there is an enormous joy. It is quite gratification to see a bunch of commands becoming something useful.
It is important to know that if you choose to be a programmer, you can never stop studying. If you stop learning in the computer world, in about six months you will be quite outdated. Programmers not only have to work hard with their minds, but also have to study all the time.
Programmers by Label
I've seen and worked with all sorts of programmers, all can belabed one way or another. Some have only one label mostly, some have many labels at once.
On my opinion, the best label is the one you use/are in the right time or, when needed. If you police and balance your defects, time you make you a pretty good programmer.
Here they come:
1) Mr or Ms Lazy Guy
This is the guy with tons of creativity, normally a great problem solver but... wants to take as many short cuts as possible... even when it is impossible... which sometimes create delays or problems down the road.
Since there is this feeling of never have to repeat the same task again, this type of programmer tends to build the best automated systems.
2) Mr or Ms Road Runner
These guys that seat in front of the computer for hours and hours just typing themselves a way. If you are in a hurry for something to get done quickly, Runners might be your best bet... just don't let anything for them to decide.
Runners can become a problem on group projects as the run over others but overall is a very useful skill that will keep the project moving.
3) Mr or Ms Stubborn
These are the type of programmers that you always see working late.
They just can't go home until certain Milestone is reached simple because they can't give up thus, they can't sleep.
Even impossible projects always get done by these guys, the only problem is that often try changing their point of view or direction once they are set, is a bummer.
4) Mr or Ms Whatif
These are often the programmers that even if they get all details ready to work, they will question it. They always want to be 110% sure that they are missing no detail.
The most detailed results will come up from these guy's projects, the only weak point is that they are often annoying among co-workers.
5) Mr or Ms Systematic
These take longer than most to do a first project but often much faster for similar ones. As long as they are left alone to do their part, it all works out pretty well.
These programmers tend to appear slow in their first 3 months in a new company but faster then most after that.
If the programmer is settle, avoid changing anything... even desk position, lights and so on.
Programming Stages
As far as I could see after two decades, all programmers come on stages. Some will skip one or another but majority follow the path. These skipping can happen for example with a help of an extra course taken or because of a strong guide from a senior programmer.
The stages are:
1) The begin
In the beginning I see 2 type of programmers. Again, mix is always better but beginners shouldn't be left alone as they will need lots of guide to fill secure.
1a) I can do it
These often can create huge disasters as they think because they know some commands they can do it all.
If they are left loose, they will work like crazy and after one or two deceptions, they learn they were wrong and they will move on.
This stage brings often Mr Stubborn to the surface and often create the enigma “I hate my boss”.
1b) I'm scared
These can't put themselves together to get started. If you try to let loose a programmer on this stage, be sure that the programmers either you leave you alone or the project will be stuck resulting on failure.
2) Almost there
In this stage, the programmers take much longer than usual to create a program. That is because the brain is starting to understand the systematic way of the computers but doesn't know enough do sleek programming so it keep on retrying.
After the program is finish, the programmer feels that can do better with the “almost there” feeling and they keep on redoing the project until reasonable quality is accepted by the programmer's mind.
At this stage, we have what the offices call a Junior Programmer.
Also, it is important to inform that some senior programmers have also the “almost there” syndrome but with a ten times fold logical complexity.
3) Bring it on
That is the when programmers become real programmers. To get to this point, the programmer did at least 3000 hours of real programming, most will need around 5000 hours to get here.
At this stage, programmers are considered intermediate level and some can be scary to seniors as their knowledge can sound out date. If this conflict happens, it tends to be that the project will turnout a big mess as the intermediate programmer will try to prove that the senior has inferior skills.
At this stage programs are often over done in details as programmers want to show off skills and want to learn faster.
A lot of people will give up programming here in search for positions with better salaries or even less tiring position.
Slavery life of computer re studies start here.
4) Full Throttle
After years and years working hard, the programmer will produce very good and well balanced programs.
Also at full throttle will be the computer re studies as beginners start to bring up new concepts and the programmer don't want to appear weak.
5) Mid life crisis
After a decade doing programming, your mind start playing tricks on you... some how it is time to get married or something else important out of the office and your mind want you to be there.
You are still at full throttle but patience for re studying start to wears out.
It is on this stage that programs tend to take longer to be complete tasks as the programmer is unsure if is doing the best job and starts to redo the code over and over, just like stage two but with much complex logic.
It is also on this stage that the programmer's guide is most likely to be required more often making the projects move in a much slower pace.
Most programmers end up moving out of the programming world here.
6) Easy going
From this is point on, the programmer's brain is so use to do the “same thing” over and over that it will work much less and produces more results when compared to previous stages... just because it does all with less complication and more confidence.
Because of the extensive experience and confidence, these programmers tend to infuriate other ones, causing conflicts with previous stages to surface more often. The reason been is the fact that these senior programmer no longer have to prove anything and previous stages still believe themselves do thus, it is simple against complex.
A lot of the programmers on this stage tend to be very systematic, including their personal life.
It is also here that re studying happens less often. They wait for necessity of studying something instead as doing it as insurance. After all, they have been programming for way pass a decade and no mater what computer language it is, an “if” is always an “if”.
Most people that I saw on this stage, gave up programming at some point on previous stages and came back after some time (some times years).
That is it for now folks!