You are here

Why I’m not a programmer today

My exposure to computers began at about the age of seven. This was probably mostly thanks to my grandfather being a member of the New Zealand Computing Society and my father always being keen on the latest technology. In the mid eighties, I got my first computer, a Sinclair ZX Spectrum; I recall transcribing code from a book and then recording it to tape so that I could play the games I had produced. I used to love it, and even in those early days it was clear that I had a predisposition to problem solving and an analytical mind. Later on, I had quite an exposure to Amigas too, although that was sadly a fairly short-lived experience. Around ’95–’96, when my Amiga 500 finally packed it in, I ended up with my first PC, running Windows 95. Oh joy!

About five years later I decided to study programming. Prior to enrolling, Tony (FSM’s Editor In Chief) convinced me to start using GNU/Linux and to learn Unix commands and C, as he said that this knowledge would give me a head-start in the course. Despite his grumbling, he helped me set up a dual boot so I could run both Windows and GNU/Linux on the same machine. After a couple of months, I was picking up the basics of C from a book fairly quickly, and getting used to using the Unix command line.

Our expectations of the course were wrong and all of this good work was to be undone. Shortly after starting the course I started to slide down the slippery slope of proprietary software programming.

The course was a Diploma of Information Technology (programming) and was 2 years full time. It was supposed to be a generic, system-independent “IT and programming course”. However, its main thrust was in the direction of Visual Basic, Java and Windows NT. The better lecturers taught the VB and Windows NT subjects, which of course made them easier to learn. The one Unix unit (that’s right, there was only one!) was taught by a guy who could out drone a blowfly playing didgeridoo. He spent his time at the front of the class, with one arm of his glasses poised in his mouth as he stared at the ceiling, trying to remember that anecdote we all knew so well and hated so much. There were no units on free software. The lecturers wouldn’t even share notes!

I did quite well in the end and gained my Diploma of (proprietary) Information Technology. However, my exposure (apart from to Tony, who wasn’t teaching me anyway) had been to a closed community of lecturers who, themselves, would not share or collaborate. I had not been told about the free software community or that I could work on free software projects that would give me exposure, experience and credibility. The existence of free software seems obvious to me now, and would do to most of our readers. But for an IT newcomer, it’s amazing what isn’t obvious.

At the end of the course, I felt a little empty. I felt like I didn’t belong to the software development world. While I enjoyed programming, I didn’t feel very comfortable with the secretive, un-sharing, proprietary world around it.

Eventually, my career took me to a completely different place, where my programming skills were welcome but not crucial.

It took about another five years and my continued friendship with Tony, before I became involved with the free software world. And now, through my experience, I fully realise the importance of exposing young programmers to our community. Some major faults in the course became clear: as students, we should have been encouraged to join free software projects. While plagiarism was a concern through some aspects of our training, we should have been encouraged to share code and taught how to re-use and adapt it for use in our own computer systems projects. This is after all how it’s done in the real world—you’re not supposed to reinvent the wheel all the time!

Today, I am not a programmer; I see myself as a “missed opportunity” for the free software programming world, and I’m probably not the only one. I feel that we (the free software community) should be doing our best to stop this story from being repeated. I believe we need to ensure that potential future programmers are aware that free software is out there, and what it means. They need our support, their understanding of free software needs to be nurtured and they need to be made welcome into our free software community.

If you work in IT education and you believe in free software, make sure you encourage young programmers to become involved in free software** **and explain the benefits of doing so. If you live near an educational institution, let them and their students know about projects you are involved in and encourage them to volunteer.

Let them know how fantastic the free software world can be for them and how great they can be for it.

Comments

I'm currently in the middle of a course in Computer Animation in the UK. The course there has a very technical slant, and of course Linux and C programming come up time and again.

I'm sorry to say it, but your story of being put off by a bad teacher is all too familiar to me. Our programming lecturer for the first year was excellent - not only did he teach pretty well but he's also a really nice guy. I took to programming, and genuinely expected it to become my job and livelihood once I'd finished the course. Sadly, our second year programming lecturer was the complete opposite. A complete geek and free software fanatic, he quickly came to epitomise everything we hated about programming. When we found something difficult and asked him a question, he'd always begin his reply with "But it's sooo eeeasy!!". His teaching was at best questionable, and many of my class mates were really struggling. He started to refuse to give out answers to his assignments until every single member of the class had completed them. Tensions grew, and it all came to a head a few months ago when one member of the class was having real problems grasping a concept. The lecturer grew more and more frustrated with each question the students asked him, until he eventually exploded "Just look it up in a book!!"

No one took him seriously after that, and attendance at his lectures plummeted. My class started to depend on me more and more for programming knowledge, and I ended up holding my own informal lectures for my class to cover for our lecturer's inadequacies. Whilst I'm pleased to say that many of the people I helped did really well at the end of the year(and some are even looking at persuing programming further), I'm not so lucky. The damage has been done, and I no longer enjoy programming like I used to. I look at the free software community and I see an ideology and a community that I could really have enjoyed just a year ago. Sadly it's too late for that now, and I just have to hope that teachers like this are few and far between.

Sadly, our second year programming lecturer was the complete opposite. A complete geek and free software fanatic, he quickly came to epitomise everything we hated about programming.

So this guy was a Free Software geek and a bad lecturer. That's really strange. Because the Free Software Philosophy is all about sharing knowledge and that's what a teacher should do. So this guy did not understand either of them.
But what Dave wantet to say in his Editorial was, I think, that in many schools there's beeing notthing told about Free Software and sharing knowledge. That's why many great minds get lost and don't like to program anymore, not only because they had a bad techer. But because they don't like the proprietary software developping world and don't know the Free Software world.