Friday, March 03, 2006

Programming: ramblings of a self taught man.

I have been a computer programmer (I prefer the term software developer for some reason) since I saw my first computer 22 odd years ago. I started off hacking away in BASIC on my brothers Amstrad CPC 464. In those days computer magazines were filled with BASIC programs you could type in to your computer. The programs - usually games - were often rubbish but the fun was learning programming and trying to figure out what was going on with the code.

I have been hooked ever since. I lived in a small town about as far away from Silicon Valley as you could get, however I always felt connected with the early computer era somehow. There was no Internet (well public Internet anyway) so most information was passed on word of mouth through friends, or through magazines, or more often than not through trial and error.

I moved on from BASIC on the Amstrad to Turbo Pascal on a 386 PC. Again mostly hacking away, learning by trial and error. The great improvement of course was the fact that the TP program would compile to an executable and could be used on any IBM Compatible in the world. This seemed like grandious stuff to a 14 year old from small town New Zealand.

Along the way I picked up Delphi and a whole host of other languages through to C# which I predominately use today. I did a 2 year tertiary course in Business Computing at a local Polytech to get a certificate, but I am extensibly self taught.

I have about 10 years commercial experience, but no formal - read university - training in computer programming.

Has it effected me in my career? No, definately not.

Would a University graduate know more about crafting a computer application from start to finish than me? No, definately not.

So why is this? Why am I so arrogant to assume that I, a self taught developer, could be as good or better at developing than someone with formal training?

That's fairly easy to answer really. Evolution of skills. Software Development is an ever evolving discipline. To be a succesful developer you must stay up to date with modern technologies and take the time to learn new things almost on a weekly basis.

The other thing a University education can't teach you is experience. By the time the graduate left University, I had 3 or 4 years actual work experience under my belt. The sort of real world experience that is, IMHO, worth any University degree.


Rajishimo said...

How the hell did I stumble upon this little blog? Damn, I gotta stop drinking before it kills me.
Um anyways... I do agree with your statement that most college graduates only seem to understand the concepts of programming and could probably organize a decent application.
Most only know concepts and probably couldn't even write out one line of code.(at least that's how my friends ended up) Some know maybe a language but even those who do can't wrap there heads around the syntax of another.
Personally, I started programming in BASIC when I was 10 on an old Amiga (those were the days!) My dad was a retired Programmer (he never went to college either) and taught me C, C++, and Assembly. I later learned other programming languages such as Java, C#, Python, Ruby, ASP.Net, VB, and almost every webcoding language known to man (HTML, DHTML, DOM, XML, PHP, etc.) on my own.
This must all sound like the "ramblings of a self taught man" as well. I must first tell you however that I'm bored to death administrating a webserver and getting drunk doesn't seem to be helping.

Keith Wilson said...

I stumbled upon this blog by typing in google "self taught software engineer" Which is exactly what I am. I am a native from Illinois but now reside in Virginia. I too started in Basic and moved to cobal, pascal then c,c++visual basic and now mostly in action script (Flash and Flex). I of course wound up spending money on educating myself in the aviation industry that I cannot seem to get away from. Started as a pilot, now I am an air traffic controller in the military. I have four more years to serve then I hopefully am out of the aviation industry completly. The story is too long to post here. However my part time venture is software engineering and my company STAR Inc. I started the software company in 1998 as a part time venture but it didn't really start growing until 2003 when I stumbled on a niche market creating interactive kiosks for some large museums in the area. I love being a software engineer or software developer as you like to call it. The one thing I want to say is I so much agree with you about college versus self taught. I hired a few software developers during the course of building STAR and I hired more self taught developers then college folk due to the fact they all seem to want to learn more and are very hard workers. They just seem to love the job. Definatly bring more to the table.

Anonymous said...

I'm the sort of hombre who loves to seek unused things. Currently I'm fabricating my personal photovoltaic panels. I'm doing it all alone without the help of my men. I'm utilizing the net as the only way to acheive that. I discovered a really awesome site that explains how to create photovoltaic panels and wind generators. The website explains all the steps needed for solar panel construction.

I am not sure about how precise the information given there is. If some experts over here who have experience with these things can have a peak and give your feedback in the page it would be great and I would extremely treasure it, because I extremely take an interest in [URL=]solar panel construction[/URL].

Tnx for reading this. You people are great.