Why I code and don't get paid for it

No readers like this yet.
Open source code for a better food system, code with grass image

Photo by Jen Wike Huger

I turn 70 on my next birthday, and it's well known that people my age aren't computerate, at least here in Australia.

We have to be taught about email and web browsers and Facebook by grandchildren, or in special "computing for seniors" classes. We're not expected to know much about word processing or spreadsheets. And, if we're looking to buy a computer, it's best to ask a younger person to find something suitable for us.

But in fact, I know a fair bit about computers and computing, despite never having been an IT professional, or for that matter IT-trained. I program, too. Every time I sit at my computer I use programs I've written myself, and in retirement I spend a lot of my desk-time writing code.

How did that happen?

Back in the dreamtime

To begin with, I learned the basics of computer programming in high school in 1961, and no, that year isn't a misprint. My high school had a small IBM mainframe that processed data on punched cards, using an early version of the FORTRAN programming language. Kids in my high school were taught how to write simple programs in FORTRAN.

Two years after I left high school, the science-fiction writer Isaac Asimov imagined what life would be like in 50 years time, when computer use would be universal:

"All the high-school students will be taught the fundamentals of computer technology, will become proficient in binary arithmetic and will be trained to perfection in the use of the computer languages that will have developed out of those like the contemporary 'Fortran' (from 'formula translation')."

Sorry, Mr. Asimov. Even after personal computers became everyday devices everywhere, our schools here in Australia resolutely avoided teaching any programming languages. Curriculum planners opted instead to train computer-ready workers: interchangeable parts in a digital economy where the things computers do are mainly decided by large corporations.

An Australian high school graduate today has experience with Microsoft Word, Microsoft Excel, and Microsoft PowerPoint, and not much else. They are ready for your Windows-centered workplace, Mr. Employer!

Recent rumblings

There's been a push in recent years to teach coding in schools. Some of that push has come from overseas, as in the Hour of Code events that have engaged tens of millions of schoolchildren worldwide. Here in Australia, the new national curriculum has a "Digital Technologies" component, with programming ideas to be introduced in primary school. Even the major Australian political parties have become enthusiastic about coding in education.

The drivers behind this sudden enthusiasm for coding seem to be largely economic. It's to prepare Australian children for the "jobs of the future." The president of the Business Council of Australia, Catherine Livingstone, told the National Press Club in April 2015:

"As it stands in Australia, the gap between the digital literacy of our young people and that of our competitor nations is increasing. If we want increased productivity and participation, we need urgently to embark on a ten year plan to close that gap."

In other words, Australia admits it hasn't prepared well for today's digital jobs. Or those of the past 20 years, ever since the Internet took off. To get ready for some vaguely imagined future, we're now urged to train today's teachers, who are clueless about programming, to train their students to be coding teachers, who will train their students to code. Asimov might not be wrong, after all. Getting programming languages into high school apparently just needs 75 or 80 years, not 50.

Maybe it's a good idea to teach code in schools, maybe not. It certainly helped me, more than 40 years later. But the policy-makers, I suspect, don't understand what coding is all about, except that it has something to with computers, and that at least some of the people who write code make good money.

Safe or risky?

A June 2015 series of articles in Bloomberg Business was titled "The world belongs to people who code." How does that work? Like this, in my humble opinion: code controls computers and the people who use them. If you use pre-written code, supplied with a computer or packaged up as a DVD or downloaded from the web, or bought from an IT company, you're not in charge. You'll do what the software writers have allowed you to do and nothing else. In many cases you'll pay big money for the privilege of being limited this way, and you'll be closely restricted by end-user license agreements.

If you write your own code, on the other hand, you're the boss. You control your device and any other device that can run that code. Coding liberates. Does the business community really understand that? The more code you know and can write, the less shackled you need to be to existing business software and the work patterns imposed by those programs.

Does Mr. Employer want graduates who know how to take apart and rebuild the information flows in his business? People who can replace expensive software and consultants and third-party support providers with free code and in-house expertise? People who aren't interchangeable parts, and who expect to be paid what they're worth? Maybe, but it will probably mean giving up the familiar mediocrity of Windows.

I doubt we'll get competent coders by mass education, though, any more than we've gotten competent writers by mass education. And if you aren't compelled to hear about coding in school, year after year, why would you voluntarily learn to code, as I did?

Senior thoughts

That's a hot topic, and I can't speak for every coder, but here are seven reasons why an old fella like me does programming:

  • In most cases, I code because no available software will do what I want.
  • My code often does a better job than available software, or does it faster or more simply.
  • The rewards for successful coding are instant. (It works!)
  • Coding is creative, personal expression. It's possible that no one else has ever written anything like the code in some of my programs.
  • Coding is good and productive exercise for an old brain.
  • I like feeling in charge of my computer, rather than having it constantly obey the dictates of someone else's software.
  • ...and another reason, which will take a little explaining.

Ten years ago, if I'd promoted open source software I'd be regarded as a dreamer or a boring evangelist. Why would someone write code, then give it away for anyone else to use, or modify, or redistribute?

In 2015, open source software doesn't need promoting. It's everywhere, doing everyday jobs on digital devices in the home, in your pocket, at the office, in data centres, and on networks of all sizes. Most of its writers are volunteers, or paid programmers, who insist that the software they write gets released on a "free to use, modify and redistribute" license. The most widely used device operating system, Android, is open source and based on another hugely successful open source project, Linux.

Giving is good, and giving back to a community that shares is even better. It's a nice feeling to share code into the public domain. Mine appears in online Linux magazines. How many coders around the world have read the coding tutorials and demonstrations I've published? I have no idea. But if my code gets used, it's because I've made sure it works. That's a great incentive to keep coding.

User profile image.
Bob is a "retired" scientist, still active in zoological research. He audits data for a scientific journal publisher and has published coding tutorials on the Linux Rain blog.

16 Comments

While this is an interesting article, and it's great you code and enjoy doing so. FOSS and Certainly Open Source has nothing to do with getting paid, or how much people are paid. It is really dangerous to suggest during a time of chronic under-spend and mis-management, that spend should be lower than it is in IT.

Also worth thinking about is that when you talk down someone else value of their service, without giving specific examples , and without insight to the reasoning behind their costings, you actually damage the entire economy, and contribute to a bland third-world future, where everyone works hundreds of hours and retires later because perceived value is so low.

My One other caveat, is that this doesn't mention contributing anything. Just writing code for personal use, which in of itself is not Open Source, as the code is not shared, or Open to anyone but the Author.

Your assertion that the author "doesn't mention contributing anything" is incorrect:

"Giving is good, and giving back to a community that shares is even better. It's a nice feeling to share code into the public domain. Mine appears in online Linux magazines. How many coders around the world have read the coding tutorials and demonstrations I've published? I have no idea. But if my code gets used, it's because I've made sure it works. That's a great incentive to keep coding."

I, too, am older (65) but I'm not yet retired, and I write code (AWK and Bash scripts) to manipulate data for analysis (with R). All my code is shared with my younger colleagues, and I consider it my legacy to scientific endeavor.

In reply to by LewisCowles1986

I'm glad you found the article interesting, but you do seem to have missed a couple of my points. I certainly wasn't talking down coding for a living, which is why I imagined well-trained coders as "People who aren't interchangeable parts, and who expect to be paid what they're worth?" when working in enterprise. I know such people, they're well paid and they use open-source code at work.
My own coding is all shell scripts, AWK, web pages and the odd bit of javascript. You can find some of those scripts online in my Linux Rain tutorials and demos, along with my own solutions to coding problems that seem to be widespread (no easy solutions found by googling). Isn't that contributiing?

In reply to by LewisCowles1986

Creating open source software is great if you have another source of income. Second, there can be feasible reasons to keep your creations closed source. Especially if your income depends on it In my experience this is often forgotten by the evangelists...

All true, and you could say much the same for art and craft as money-earners, and nowadays for science - the majority of science graduates have to find income in something other than science. In my experience, though, serious artists, craftspeople and scientists aren't in it for the money, but are driven by an urge to do something really amazing. I see that in open source coding as well.

In reply to by Willem Grooters (not verified)

For me - ex IT pro and ex-teacher, the main benefit of learning to code is the learning of modes of thinking that aren't taught at all well.

Programming teaches algorithmic thinking - thinking through the steps of a process in advance. It's planning within boundaries, and develops the ability to think ahead ; it's goal oriented, it soon disabuses one of any feelings of infallibility!

Debugging teaches careful reasoning too. Analysis, rather than the synthesis of coding. Determining possible causes from observed effects. And that sort of thinking is very transferable; yesterday I had to debug a car that wouldn't start. My doctor debugs my health.

To my mind it doesn't matter what sort of coding: closed source, open source, commercial platform or free. Programming little apps for Android is certainly a way to develop these thinking skills. Using a game-building app is betetr than nothing. And it doesn't matter whether anyone else uses, or even sees, the code.

And yes, it's amazingly creative.

The state of Australian education in regards to IT is appalling. I am 45, have coded since age 10 and have children in primary and secondary school. They do not at present have a single IT related subject, nor is there even an elective choice until year 10 for IT related studies. By then the majority of career choices are made and few if any will turn to IT so late into their education. If we do not teach our young, we continue to turn our country into an employment back water, free of innovation and creativity, where only local tourism jobs will exist to cater to the worlds wealthy visiting our quaint little country from places that do innovate.

Our government and education systems are destroying our children's future. Foss is the only exposure there is to my children and I for one am happy that I can show them a world of open, intelligent innovation in code, and a collaborative, thriving ecosystem of intelligence, something they'll never see when ejected from the sheeple creating MS farms we call schools.

The raspberry pi foundation, the maker movement and FOSS is the future for our children in IT. It doesn't mean no one makes money, that thought only shows a lack of understanding of the model.

What strikes me most odd about what is missed most by the nay sayers is that FOSS is ultimately a power to the people device. It's yours, not theirs and in this day and age there is so little left that is truly ours.

I remember back in the days of the Commodore 64 how there was a big push in education for coding. Bottom line: coding is not for most people. The goal has never been for everyone to code anymore than it has been for everyone to be able to engineer the building of a bridge.

If one doesn't code for a living but still writes some code then that is more like someone who is able to do work around their house without having to always call someone in to fix things.

That is a good thing but not something many people want to do unless they don't have the money to pay someone or they just enjoy the independence that comes from being able to fix one's own problems.

Most people aren't limited by the software they use. In most cases they aren't even aware of all the things the software can do.

Those of us who like technology too often forget that for many people technology is simply and end to a means. They want a black box not an acrylic one where they can see and manipulate all the inner workings.

We forget that even when we are writing some code that we are still using software we ourselves didn't write. I may be able to write an AWK script but I could never write AWK itself. We are all abstracted from the inner workings but just at different conceptual distances.

Most people today can use spreadsheets. We forget that at one time only accounting people really used spreadsheets. At one time most people couldn't type at all now most people can use a keyboard though of course at different degrees of speed and skill.

Technology diffuses through societies and changes the skill set of people regardless of what the state may or may not do in education. In most case the state is not a very good
predictor of what people will need in the future. The state usually serves the status quo.

I'm sure companies would love to see a large increase in STEM people. It will drive down their cost of labor. In America, law schools turn out twice as many law graduates as there are jobs. This is because law schools have convinced people that law school is somehow a "way of thinking" that is applicable in many fields (which is just an assertion of conventional wisdom with no research to back it up but does serve the law schools well). I see in one of the quotes someone mentions "algorithmic" thinking. I would direct people to check out the book "The Formula: How Algorithms Solve all our Problems ... and Create More" by Luke Dormehl.

Coding is a young person's game like engineering. Of course one can always move into systems integration etc. or management but that is not coding.

Another book I would recommend is "Soul of a New Machine" by Tracy Kidder, an old book about DEC's creating of the Eagle minicomputer. It provides insight into what advances in technology and the products created demand as far as labor and who does what. The human dynamics haven't changed.

The issues for technology with human beings is not them being able to control their own technology (no one has that except in small doses) but rather how technology shapes the lives of people without them being aware of it, how it alters the relationships of people to each other and to the institutions of their societies. That would be a course worth introducing into education.

Try replacing tech in your comment with 'music' or 'art' or 'mathematics' or 'science' or 'woodwork':

Music is not for everyone. The goal has never been for everyone to play music anymore than it has been for everyone to be able to compose a symphony.

Art is not for everyone. The goal has never been for everyone to create art anymore than it has been for everyone to be able to paint their own landscapes.

Mathematics is not for everyone. The goal has never been for everyone to do mathematics anymore than it has been for everyone to be able to prove a theorem.

Science is not for everyone. The goal has never been for everyone to do experiments anymore than it has been for everyone to be able to reverse-engineer a virus.

Woodwork is not for everyone. The goal has never been for everyone to do carpentry anymore than it has been for everyone to be able to make their own high-quality furniture.

And so on. Not much left in the curriculum, is there?

In reply to by Eli Cummings

"Soul of a New Machine" is indeed a good book about the effort that goes into building a system when they took up racks of equipment. About developing the operating system and the first boot up. It was built at Data General as what was called 32-bit super-minis at the time. Equivalent to a lot of desktops or a Pi.

Enjoyed the article.It is amazing there are the succeeding generations that know hardware and software, yes those are the ones you ask questions to. There are lots that know how to use but not how it works, and don't wish to, because it is too hard.

In reply to by Eli Cummings

I know there is an issue in our society when my children come to me of their own free will asking me to direct them on how they can learn technology and I quote "Because there's no way we can learn this at school". Coding might not be for everyone, but exposure to IT is inevitable. Even more so in some cases than mathematics, science, art and home economics. All of these things are presented in the curriculum, except IT. No one said IT and programming should be forced upon our children, but exposure to IT from a behind the scenes perspective (how software is created, not soley how to use software), and the ability to select it as a study and career path is absolutely paramount in the technological age. At the moment the kids aren't even being taught how to use the software, let alone how it was created.

Not teaching IT in schools right now is equivalent to taking welding and sheet metal out of the curriculim in the industrial age.

We're being left behind by our governments and our schools. FOSS fills those gaps for those that understand it's availability. It can also and should be filling these gaps in our schools. If only the teachers and decision makers would open their minds to IT and open source they'd realise they can have the best educational tools at a very minimal cost. Without the likes of Microsoft and Apple that limit the ecosystem to their own brands and do so at exhobritant cost.

Open source is taking over the world and is pervasive in nearly everything we use daily, even industry openely chooses open source ahead of closed tools and development these days. It's about time Australia started nuturing and fostering our position as creators and innovators and place our youth squarely back into a creative, technology based future.

How do we get an Open Source curriculum into the schools, that is ewhat needs to be happening right now and should be the basis of any 10 year plans to write this present wrong.

I couldn't agree more with everything you've said, but there are some serious barriers to break through. Here are three I've found in Australia:

1) IT policies within schools, government agencies and enterprises are often set without constructive help from IT departments. Within those departments there's usually understanding of and support for FOSS (and sometimes there's behind-the-scenes use of FOSS). But the managers and accounts people who make IT policy decisions don't listen to their IT people, and treat them like blue-collar mechanics. Exclusive multi-year contracts get signed with Microsoft or with IT consultancies that push Microsoft products and services, because that's more 'business-like'.

2) Curriculum planners and teachers think, write and talk at abstraction levels way above those needed to teach effectively. If you say 'This software does exactly the same job as this other software and doesn't cost anything', that's just too simple an idea. You'd need to wrap it in the impenetrable jargon that used to be called 'educationese'.

(And if you point out that half the high-school student body is streets ahead of the teaching staff in tech awareness and use, and that a quarter of the students have *already* dabbled with code in building websites or hacking for fun, you'll see worried faces and hear 'We have a responsibility not to turn out hackers [sic]'.)

3) There's a widespread belief that coding is strictly utilitarian. It's seen as just a means to some boring end like producing a new game that will earn millions for a game company. Coding is a niche skill in this view. Of course, we've now had sixty years of computers and other digital devices quietly taking on jobs that couldn't have been imagined when I was born, but why let facts get in the way of a prejudice?

In reply to by HomerJ (not verified)

Societal institutions are inherently conservative. They are meant to maintain stability and order in a society not be agents of change. Human beings in general do not like change. They will give up much for stability.

Despite the lip service given to innovation and creativity, the status quo will do all it can to make sure the powers it has remain in its hands.

It has mystified me for many decades that there is a lack of understanding by individuals of their relationship to the society in which they live. Most people believe the myths that the political philosophy of democracy puts forward and intelligent people often project their intelligence onto a much larger portion of their society than is warranted.

The average person in a society has only an extremely limited and superficial understanding of the world around them. It rarely goes beyond what is news on their favorite website or what they see on their evening news. The average and even the not so average person may have a deep understanding some very narrow subject area but they often fail to realize that the complexities they encounter and the tradeoffs they understand in that area are applicable to every other area of human endeavor as well.

Our most recent evolutionary adaptation has been that we are an animal with a brain that emphasizes technique and humans specialization. It has been the driving force of our most recent history and with the invention of fossil fuel powered machinery, that force went to a whole new level.

We may think of ourselves as individuals as free and in control of our lives but that is not really true. We are not in control of the context that surrounds our lives. That context dwarfs the individual like a beach dwarfs a grain of sand.

We are compartmentalized. We are subjects not kings. The only power people have in a developed society is that which law allows. Law is the code of a society and little if any of it was written by us but there are those who know how to hack it.

Our subjective consciousness makes it as difficult for us to realize that we are part of a very large machine in the same way that our subjective consciousness doesn't present us with the fact that we are on a spinning ball orbiting a sun in a universe of unknown age and size.

History is replete with examples of how shabby our dreams look when they have materialized and we never seem to get the world we think we are creating.

One could institute coding in education from kindergarten on up but there would still be many issues to deal with. Where do we get the people who are going to teach coding ? Those with coding skill aren't going to do it, the pay is not that good. What coding will we teach ? What language ? Anyone who has followed computing for any length of time is quite aware of how rapidly things change and how fast past skills become obsolete or at best become part of a "maintenance" category. Do we think teaching sequential execution, looping and branching will somehow inspire kids to become freedom loving coders ?

Just because I know algebra doesn't mean I'm going to be using it in my daily life or work doing algebra. Most adults who have graduated from high school have had algebra and geometry but unless they are working field where they use it, most of it has been forgotten and rarely if ever drawn upon to solve problems in their daily lives.

Those who want to code will code regardless of what the educational institution serves up to them. Most of those who code will not be that great. Coding will serve the status quo.

My point is don't bother hoping that introducing more IT into schools will somehow change things. It won't. Change doesn't come from within institutions it comes from outside them.

I just want to comment on the empowering issue of knowledge : I could not agree more. As a sysadmin knowing a bit of programming, I am delighted of running a Linux box at home and not a proprietary alternative, as I have full control on the OS and tools.

This topic can be broadened to any complex topic we depend on : medicine, law, etc. We are surrounded by complex systems we depend on. When we need to relate to such a system, we do this through a professional : a human being : and here trouble CAN arise : the more knowledge we have of the insides of the complex topic, the freer we are ! (think of a bad doctor ...)

Downside : all this is pretty time consuming, and I do not have any good solution here ...

Back to IT : IT is getting more and more pervasive these days, more and more complex, and is becoming one of the strategic topics one has to master - as much as possible - or else ...

Interesting post and discussion!

IT is being taught in some of our community colleges In the U.S. To earn a nursing degree in 2009 a pre-requisite course required by even those of us who had tech degrees and prior computer science credits to create a simple, well functioning website using HTML. This course was required prior to getting accepted to nursing school. (I'm in a graduate level IT program now. And am over 50.)

You are quite right to see and point out parallels in medicine! Diagnostic and therapeutic algorithms guide our thinking; the real life application is not so simple. Debugging, educating, tinkering with "best practices"...yes, similar processes. Multi-leveled from the molecular to the systemic challenges and breaking barriers for improved function.

Which now has me thinking about the future complexities in AI when human-like habits and behaviors have a deeper historical context than in the current human-computer interactional environments. Similar public health and policy challenges will arise within AI. Only who can say now what these might look like. What the most complex problems to solve might be like.

We need many more mature folks coding and more diversity in technology to provide new best practices based on experiential learning for cross-disciplinary remedies to tomorrow's tech challenges.

Experience brings the wisdom to understand and foresee a need for the big questions and to consider potential consequences of free will and choice in an advanced technological society.

By bringing innovative free thinkers and folks who've learned a thing or two about moderation and the beauty and necessity of change together, effective and parallel risk mitigation and development strategies are grown.

Thank you for such an insightful article Bob, it was a joy reading and overall we are definitely on the same page in regards to the opportunities our current societally systems around the world have missed. I live in Sweden and have no problem relate to many of the issue you bring to light, they are too obvious here to.

"Ten years ago, if I'd promoted open source software I'd be regarded as a dreamer or a boring evangelist."

We have for sure come far over the last 10 years and I feel comfortable predicting that the point-of-no-return for the Open Source-movement is safe, if not already passed. At least until something even better is thought out.

Still, it is important to remember that the understanding, respect and trust for open source is still only understood by a fraction of the world population. Yes, the movement is growing stronger at an accelerated pace and country after country are now adopting official positive positions towards it. Just that is another great sign things are moving in the right direction.

My own prediction is that in 10 years, when we look back to today, the development will have dwarfed the progress already made. The famous hockey stick graph will have happened as we by then also have learned code is the fruit of the open and borderless collaboration that is so central to why open source works.

At least for me the signs for that is everywhere already.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.