Stuart Spence Blog

Computer scientist and educator. Creator of ChessCraft. Senior computer scientist at Environment Canada.

Wed 29 June 2022

Public and Private Sector IT

Posted by Stuart Spence in Blog   

I often see these questions online:

"What are the differences between private and public sector IT?"

"What makes you stay in government IT?"

"Aren't government IT workers underpaid?"

This page is my list of the best things about public sector IT.

Disclaimer: The views expressed here are my own, and don’t represent the opinions of my team or my employer.


This list is generic across government, but every team is different and government is huge. So context may help: I'm a computer scientist at Environment Canada. We run daily science simulations on our Linux supercomputer to predict the weather. I'm self-motivated, got a promotion, and won some awards. I could get a higher paying job in the private sector but for the moment, I'm not looking.

I think I have a rare perspective here as I have worked in government, a startup, a small tech company, and a large tech company. I also read tech trends and reports about the IT industry. I've helped with hiring in the private sector and public sector, and I've researched salaries a little bit.

For simplicity, when I write "private" I also mean "for-profit". I'm excluding lots of other types of organizations, like non-profits, mostly because I have no experience with them.

Finally, I'm mostly talking about permanent (indeterminate) government employees; not contractors or executives.

The Best Things About Public Sector IT

Starting with the best:

  1. Work-life balance. Low pressure. How many hours a week do you work in private? What is your true pay per hour?
  2. Purpose. Feel good about your hard work, instead of making someone else rich.
  3. Freedom. If you care about your solo work project, it's hard for anyone to stop you. Also, work anywhere in Canada doing any IT job with the same employer.
  4. Software archeology. You think you know software? Just wait until you see how government tortures it.
  5. Scale. Work on huge projects - mine involves a supercomputer. Also, there's colleagues of any type to connect with.
  6. Emergent behaviours. The incentive systems of the public sector create a friendlier and more relaxed work environment than the private sector.
  7. Stir up trouble. The penalties for "caring too much" and stirring up trouble are lower in the public sector.
  8. Pay and pension. Low skilled IT are overpaid, and I'm told (but not totally convinced) that the pension is excellent.

#1 Work Life Balance

People commonly say that private sector IT pays more than public sector IT. This is mostly true but also misleading. While private pays more per year, it does not always pay more per hour. Lots of private IT workers do not honestly assess how many hours they put into their job.

I work precisely 37.5 hours a week, rarely maybe 40 hours. While my employment contract technically says I must do overtime I've never felt serious pressure to do any in four years. Whereas the companies I worked for did all kinds of overtime shenanigans:

"Here are coupons for free pizza for anyone who works extra this week."

"No overtime? You're just not a team player." At the time I was the only person managing tickets, morale, and training.

"I know this month is tough, but we're all in this together" says the sole recipient of all profit.

One time a very stressed boss physically blocked the exit, insisting I stay, to recover from a disaster I warned about for months. For the record, I escaped.

#2 Purpose

In a for-profit, when you work hard you're doing it to make someone rich. If you're lucky or smart that includes you. Instead, when I choose to work hard I'm helping Canadians. I like helping scientists help Canadians.

The rumors are true: government IT can be years behind the best IT trends. A different type of IT person might be frustrated by this. But when I provide git training, deploy modern open observability solutions, and introduce SRE concepts to our teams I feel extremely valuable and appreciated. I know that without me these changes would arrive even later, or be missed entirely.

#3 Freedom

"Giving a shit is the currency of freedom."

There is so much IT work to do in government and never enough people. In my experience, this means that if you take initiative you can choose your projects. Most of my time is now spent on projects I started, or tasks I was not initially hired to do. If you're passionate about some IT project, and it makes a little bit of sense, everyone is just happy that you're working hard on something. Passion buys your freedom.

I've also worked on projects that are completely outside the mandate of my group. I helped with a government hackathon and a science festival. In government, if there's a noble cause it's harder for anyone to justify stopping you.

Finally, as of 2022 there are about 320,000 public servants in the government of Canada. That's perhaps 20,000 different IT positions across the country I can consider without changing my employer, benefits, or pension.

This was not my experience in private. Generally I was assigned a narrow set of tasks, projects, and duties.

#4 Software Archeology

There is no greater place than government to learn about software archeology and the extremes of software lifecycles. Universities don't teach it. Aside from perhaps bank software, nothing rivals big-old government.

  • what is the behaviour and appearance of software that is repeatedly migrated and patched, for thirty years?
  • what happens when scientists with no formal training in software deliver software that must be maintained?
  • what did your older colleagues do for Y2K?
  • you are told a system requires a compiled program X to work on the new supercomputer. Nobody knows who wrote it, there's no source code, and no documentation. What do you do?
  • what is the difference between a bug and a feature, when dozens of systems built ten years ago use the bug? Must your replacement have that bug?
  • thousands of twenty year old web pages with no version control are lying around. We don't know if anyone still needs them and we must migrate. What do you do?

These problems grow completely out of control at a scale unseen anywhere else. I was technically very good with software before I started in government, so I really didn't expect to find a whole new sub-discipline of computer science and human psychology!

#5 Scale

The size of the government of Canada exceeds even the biggest tech giants.

In my first few months, I signed up to a lot of different groups on the internal government of Canada social platform. I managed to find an open source group and got to attend their open first day in Ottawa. The scale of government means there's lots of colleagues to connect with.

Scale isn't just about people. As of 2022, the supercomputer our teams work on is ranked #70 in the world, with 148,000 CPUs. I've been in conversations with representatives from the biggest tech companies who don't immediately grasp the magnitude of our business problems. As a computer scientist that's amusing and interesting.

#6 Emergent Behaviours

I understand organizations as systems. When systems have different incentives and rules, we get different emergent behaviours based on human psychology.

In private sector and non-union jobs people have a big financial incentive to:

  • lie about their performance
  • take credit for work they didn't do, or not give thanks
  • secretly attack others
  • delay or destroy a good IT system if it replaces them or makes them look bad
  • construct an IT labyrinth to stay employed

For permanent unionized public servants, these incentives still exist, but the stakes are much lower. Hardly anyone loses their permanent IT position in government.

However the incentives are not perfect in the public sector. Having no strong incentives for risk and innovation also takes its toll on any human brain. One must choose which set of incentives you're best suited to work with. To me, the public sector is a good fit. I leave you with this poem:

The privately employed

May say they're annoyed

about public servant perks.

What they fail to note

(and it's fair that they don't)

is that zombification lurks.

Zombies are not happy,

humans need to be scrappy.

Hold on to your fire,

stir the pots and aspire.

Are you a zombie?

#7 Stirring Up Trouble

I've been fired more than once for doing a great job.

Colleagues have always told me that I stir up lots of trouble. In private, this doesn't pair well with Canada's 16.9% yearly attrition rate for IT jobs. It's certainly even worse for startups. I had lots of problems in private, despite always working hard to be professional.

In government, I once identified an IT mandate we weren't following and gradually escalated it several steps above my level. I annoyed a lot of people with that. I was confident I wasn't risking my job, and I knew that government is big enough that promotions would always be available to me, no matter who I annoyed.

#8 Pension

"This is how to make money. It's simple. Just give us control of your money, and don't think about it."

That's when you know it's time to think about it.

I'm told repeatedly that the defined pension plan is a top perk of government employment. I'm a total non-expert here, but I'm skeptical of these promises. The world is going to be different when I retire many years from now. In theory, any act of parliament can change my pension. As a recent example, do you feel that parliament has done a good job protecting Canadian home buyers from predatory prices?

I'd rather own my pension privately as index ETFs, control the conditions of my retirement, and have an estate to donate when I die.

Anyway, I felt I had to mention pension on this list because others feel so strongly about it.


Not everyone is a perfect fit for public sector IT work. Like any job, it's still a job. There's good and bad. I know now that I'm well suited to handle the bad. Maybe you are too.

I hope that was helpful or interesting! Thanks for reading.

See Also