Public School Habits Among Young Software Engineers
Transitioning from school to office life represents a significant cultural shift. I carried forward many of my old habits from the Ontario K-12 public education system into the workplace; I have seen similar behaviors from young graduates who joined the workplace after me. In the context of software engineering, some school habits are helpful, some are actively harmful, and some are simply weird. Transitioning from a student to an engineer requires developing some new skills and revisiting some old mindsets. Old habits die hard, but I have observed them fading over time as part of the acclimation to office life.
Public school taught that punctuality is super-important. Where I’m from, lateness was rigorously defined, rigorously measured, and rigorously reported. If you were late for class, the teacher would grumble something about irresponsibility, your lateness would be noted on the day’s attendance sheet, and your number of late appearances would eventually appear on your report card. Given this system, it’s no surprise that I grew up with the idea of punctuality as a critical virtue and flakiness as a fatal character flaw. When I started office work, I carried this obsession with me, treating all appointment times as absolute; a 2:00 meeting meant leaving my desk at 1:57. In the world of office work, minor delays are common and widely tolerated. When lateness happens, overruns of previous meetings, highway traffic, and coffee runs are almost universally accepted as excuses. I’m still more punctual than most people, but I eventually stopped treating arriving on the right minute to be something critically important.
Public school created a “not present means not working” mindset. At school, you are expected to be at your desk by default. Any absence from your desk needed a valid justification (restroom break, handing in work, sharpening a pencil etc). When graduates take presenteeism culture to the workplace, they often make a point of spending most of their time at their desks and rarely leaving, lest they be accused of not working. Schools push presenteeism because it’s good for orderliness, but presenteeism is not compatible with the highly non-linear nature of knowledge work. At the office, nobody is tracking your time usage and nobody cares. I personally found presenteeism one of the hardest ideas to shake off; it even affected my habits when COVID-19 made my job fully remote and not a single other person knew how I was spending my time. As I got more comfortable over time at my present and past jobs, I would often evolve into a wanderer who spent a lot of time away from the desk, thinking things through without the distraction of the computer putting more inputs in my brain.
Public school created an expectation of unambiguous requirements. School assignments tend to have clear and detailed requirements; this is a necessity because of the need to grade assignments rigorously and fairly. If you need clarity on requirements, you can ask your teacher and you’ll usually get a helpful answer. In the workplace, customers or managers will sometimes give you vague requests and that’s all you’ll ever get to work with. The ability to work with uncertainty and ambiguity is an essential skill that school does not teach very well. In the workplace, the job of creating clarity often falls upon you rather than upon others.
Public school instilled a warped idea of power and authority. Everyone has had at least a handful of awful teachers who had no business being put in a position of authority over fellow humans. Students sometimes went out of their way to give bad teachers a bad time, but most of the time we just accepted the power structure and toughed it out. The social structure of school can give the impression that hierarchies are absolute, that power is arbitrary, and that political authority is derived from the threat of punishment. One of my first surprises at the workplace was at how respected the engineering managers were (and not the forced kind of respect that bad teachers get) and how clearly they deserved their positions. All of my seven managers so far legitimized their leadership with their experience and competence, not by pointing to their job titles or by threatening dissenters with punishment. Another surprise was seeing how much disconnect there was between a person’s position on a corporate hierarchy and how much power they actually wielded in practice. I know lots of senior-band individual contributors who exert huge influence on the team’s direction (more than some managers do) despite nominally being on the bottom rung of the corporate hierarchy.
Public school taught us that bosses command and subordinates obey. The relationship between a schoolteacher and a student is a one-sided I-command-you-obey relationship. Students can be forgiven for assuming that their relationships with their future managers would be similar. When I started software work, I was surprised at the extent to which the relationship between a manager and a direct report is a two-way street. The direct report is obligated to solve problems, fulfill the manager’s vision, and take a load off the manager’s mind. On the flip side, the manager is obligated to create clarity, unblock reports who are unable to unblock themselves, and vouch for the team’s interests when dealing with stakeholders outside the team. I was surprised to see how often engineers (particularly senior ones) respectfully disagreed with and pushed back against their managers; in school, such behavior towards a teacher would be labelled as whining. Public-school-me dreamed of being “the boss” so that I wouldn’t have to answer to anyone, whereas adult-me now realizes that “the boss” has the horrible job of answering to everyone.
Public school got us accustomed to cultures of low trust. School is a quintessential low-trust social environment. The constant supervision, the doctor’s note requirements, the sign-out sheets, the hall passes, the convoluted “code of conduct” documents, and the threats of punishment all give students the impression that they are not trusted. The implicit idea underlying the whole regime is that students are treacherous little monsters and that only a thorough system of rules and processes can keep them in line. Among children, this sentiment is at least partially justifiable, but I had always assumed the adult workplace would be similar. At my first software job, I was struck by how I was left alone for hours at a time, how I could come and go as I pleased, how I had admin permissions on my computer, and how I was entitled to take any office supplies I needed from the supply cabinets. The low-trust culture of school made me dream of stretching the rules, whereas the high-trust culture of the office made me determined not to break the trust my employer had placed in me.
Public school made us overvalue heroic performances. School is full of short and high-stakes moments like written tests and group presentations. It is often possible to compensate for a semester of laziness by making an all-out effort at the last minute and performing impressively at a critical moment. In contrast, software work is structured more like a marathon than like a sprint, with far fewer high-stakes moments. In the workplace, the ability to maintain consistent good habits over an extended period becomes more important, whereas the ability to “go clutch” becomes less important.
Public school convinced us that most work is throwaway. At school, most work is transient and quickly forgotten. If you submit shoddy work, you’ll get a bad grade and that will be the end of the matter. In contrast, software companies are built upon large projects and the pain of past decisions is acutely felt by everyone. The “real world” doesn’t have much tolerance for shoddy work and therefore your shoddy work will be sent back to you for improvements. In the workplace, it’s more efficient to do everything thoroughly on the first attempt than it is to constantly have to iterate and patch things up.
Public school made us averse to collaboration. Most of the time, most children’s natural instinct is to share their expertise and help others out. However, school wants everyone to submit fully individual work for fully individual grading; the fake offense of “excessive collaboration” was thus born. The structure of the educational rat race can prime people to view their peers as competitors rather than as colleagues. In the workplace, excessive collaboration is no longer forbidden, but poor teamwork is an almost universal problem. Software engineers are often not in the mood for code reviews or debugging sessions because they advance other people’s development work but not their own. Companies are looking for ways to un-program people’s old habits and make them less selfish, individualistic, and short-sighted. For instance, at Microsoft, “contributions to the success of others” are counted in performance reviews alongside your own contributions, making it clear that collaboration is good rather than bad.
Public school made us overvalue verbosity. In open-response written assignments and test questions, there is a strong positive correlation between how long your written answer is and how many marks it will get. Young grads therefore have a tendency to write long, detailed, and meticulously-crafted emails. Long emails are problematic for several reasons: they take more time to write, they put unnecessary load on the recipients’ minds, and they are more likely to be misinterpreted or nitpicked. In the office world, there is a notable correlation between how senior someone is and how terse and concise their writing is.
Public school taught us that quietness is an essential professional skill. Teachers’ favorite students are the ones who can sit down and shut up without needing much nagging or shushing. I was one of those rare low-energy personality types for whom sitting down and shutting up came naturally. When I noticed that teachers got exasperated at my peers but not at me, I concluded I was doing something great. However, the office doesn’t share the school system’s preoccupation with discipline and silence, so my trait didn’t turn out to be important at all. At school, I was the quiet, disciplined, well-behaved, and mature kid, whereas at the office I was merely the quiet kid. Whereas quietness was an asset at school, it is a two-sided trait at the office. Quiet people don’t annoy people by trying to dominate meetings or make themselves the center of attention, so they tend to be well-liked. On the flip side, quiet people tend to be slow to develop relationships and slow to express their ideas.
Public school created a culture of impressing people. School is first about impressing teachers and later about impressing admissions committees. Graduates enter the workplace with an enthusiastic desire to impress everyone with their knowledge, skills, and competence. There is a mindset shift necessary between school and the workforce; your job is not to impress your managers but to solve business problems for them. When you’re at a sync meeting and your manager asks you for your status update, the implicit request is “Is your work on track and is there anything blocking you?” and not “Please razzle-dazzle me with everything you’ve done since the previous sync meeting.”
Public school taught us that breadth is better than depth. School favors people who are good at many things rather than really good at one thing. The common system of grade averages favors people who are strong across a broad set of subjects rather than people who are brilliant in some areas but mediocre in others. Likewise, having lots of extracurriculars looks a lot more impressive than having just one. However, once we’re at the college and career phase, we begin to specialize, playing to our strengths while leaving our weaknesses behind. In the workplace, the magnitude of your greatest strength is much more important than the magnitude of your greatest weakness, whereas at school they would be weighted the same. Generalists at school can grow up to become unremarkable workers while people with lopsided talents can end up excelling at their niche.
Public school made us overvalue intelligence and undervalue wisdom. In school, kids are sorted with other kids of the same age. Success in school correlates strongly with fluid intelligence, with intelligent kids learning things more easily and applying them more competently. Kids can be forgiven for thinking that intelligence is the most important trait there is. However, the workforce is a mixed group with people of different ages, past histories, and levels of tenure. An engineer’s productivity and competence is much more strongly correlated with their level of experience rather than their raw brainpower. It doesn’t matter how brilliant you are; if you have only one month of tenure at your software job, your peer with two years of experience with the codebase will be more productive than you. Since everyone in a school classroom has a similar level of experience and wisdom, school made us underestimate how powerful differences in these assets can be.