avatarPen Magnet

Summary

The text recounts a programmer's two-decade career journey, reflecting on the evolution of office culture, productivity measurements, and the impact of the Agile methodology in the software industry.

Abstract

The narrative begins with the author's early days in programming, where long hours in the office were equated with potential promotions and pay raises. The author, lacking a computer degree, felt compelled to prove their worth by mastering programming languages, often utilizing the office environment and resources after hours. Over time, the author transitioned from a service company to a product company, experiencing varying degrees of flexibility, productivity pressures, and management styles. The introduction of Agile methodology brought about a shift in how productivity was measured and managed, often leading to increased working hours and a competitive environment among developers. The author highlights the challenges faced in maintaining work-life balance, the importance of flextime, and the negative effects of excessive meetings and bureaucracy. Despite the industry's claims of being developer-friendly, the author suggests that the reality often falls short, with the rewards of innovation disproportionately benefiting management rather than the developers themselves.

Opinions

  • The author initially believed that spending more time in the office would lead to better career advancement opportunities.
  • Office time was seen as a key performance indicator, and developers were often expected to bill long hours to satisfy clients and management.
  • The author's lack of a formal computer degree led to feelings of inadequacy and a drive to self-educate in programming languages to gain respect and opportunities.
  • The transition to a product company brought a sense of ownership and flexibility, which the author found more conducive to productivity and job satisfaction.
  • The introduction of Agile practices was perceived as a means to measure and control developer productivity, which sometimes had a divisive effect on teams.
  • The author criticizes the Agile methodology for contributing to a culture of presenteeism and unnecessary bureaucracy, detracting from actual coding work.
  • The author expresses frustration with the industry's inability to reward continuous learning and provide a truly flexible work environment.
  • The author reflects on the dichotomy between the industry's purported developer-friendly culture and the reality of managerialism and quarterly reports taking precedence over innovation and work-life balance.

In 2022, Programmers Are Still Getting Paid for Office Time

Photo by Veri Ivanova on Unsplash

When I began my career as a programmer 2 decades ago, our team was often split on the issue of developer office time.

Many of us newbie coders spent 12+ hours in the office on a regular basis.

Most of us did it because:

More time spent in the office meant better chances at pay raise + promotion.

  • It was a servicing company that billed the client by the hour
  • Yet, not all of us billed 8+ hrs/day. But our managers wanted us badly to reach that stage. To reach there, we had to deliver one sturdy project. After that, the client will have no qualms paying $15/hour for 12+ hrs/day/person. The manager could take a tropical island vacation.
  • Spending more time was a developer KPA in the annual performance review. More time spent in the office meant better chances at pay raise + promotion. If there was no work to do, an unmarried coder could always do some Excel to assist the manager to leave after 4 hrs. The manager — who always had a crumbling marriage despite 6x-10x our monthly salary, a fully paid mobile subscription, and a company car.

I had no affinity for promotion or the pay raise because the bucket wasn’t huge enough, to begin with. But I had my own reasons to stay late.

  • I had no computer degree. As a result, I always got shitty jobs assigned to me. Report formatting, spec proofreading, design review, test case review — everything romantic except the barebones that fed us: Coding. I loathed this situation. I had to prove my worth as a programmer.
  • I couldn’t think of an inorganic way of rising. Or maybe they were different times. To prove my salt, I had to learn a programming language that would enable me to write a non-crashing, all-test-case-passing function for a real-world business application. I wanted to learn C++. In those days people paid $500+ to learn HTML in 6 months, 4 hours a week. I found it shameful, considering that I had better resources at my disposal within the company.
  • The office had everything: Online access, C++ IDEs with license, and a lot of unsupervised time after 8 hours.
  • The best part was no distractions: After a couple of online love affairs by chatty employees on MSN and Yahoo messengers, most non-tech sites were blocked. The things I still remember browsing were: MSDN library, Dr. Dobb’s Journal, IEEE, some other Tech tabloids advised by newsletters. Some sneaky developers managed to discover a yet-unblocked non-tech site through a web proxy. I still miss those days.

With all those 12+ hrs/day office stays, I learned fairly good C++, Java, ASP, etc.

The annual performance reviews revealed that out of our 16-strong team, 8 were regular over-timers. We mostly dined in the office. 5 out of these late-stayers got promoted/got the highest slice in the pay hike.

Out of the 8 regular devs, only 2 got promoted. The rest 6 received meager or no pay-hike. Those 8 attacked us verbally on the lunch tables for having set the wrong example.

A colleague mocked me publicly: “You didn’t get it even past breaking your fragile back against that rugged seat.” And everyone (including myself) had a hearty laugh.

“Toxic culture” wasn’t a word everyone knew at that time, but the internet would ensure that 996 would popularize it someday.

The 200X product company culture:

After 7 years working for the same body shopper, I was finally getting on the curve of time vs output graph (linear so far) bending downwards.

The off-hours meetings (my experience dictated it) at the client’s will across timezones were killing my urge to deliver. Shifting projects weren’t helping. On one side, they were killing my productivity. On another side, they were messing up my CV for future prospects.

To gain confidence, I desperately needed flextime + concrete work on a singular product. Payscale had to be average, if not more. Only a product company could give me both.

I successfully joined a Fortune 500. Initially, things were pretty ideal. Our 10 strong team had a no-nonsense attitude in delivering features and fixing bugs. We had very flexible release cycles. No methodology was followed, and that was the secret of our success.

The manager was a drunkard but was very sensible. He didn’t hold 1+ meetings in a week, though he communicated quite clearly in the written/oral form. Even those rare meetings were a formality because every team member was highly transparent in his reporting in the ticketing system. More work got done without raising tickets because everyone felt he/she owned the product. They felt rewarded with the high trust manager put in the whole team.

In the upper-level management parties, though, he was mocked for his inefficient running of the show.

His dashboard looks as drunk as himself!

Our good luck had its days numbered. The 2008 market crash toppled the industry. CXOs demanded heavy reshuffling. We began to be told that we were lucky not to get fired. Our inefficient manager got replaced by a headcount-hungry pro-efficiency beast.

The virus called non-productivity and the vaccine that cured(!) it

The first thing the new manager did was to arrange training for a newly invented vaccine. The word was that it cured a lethal virus that got leaked from the Wallstreet. That virus was developer non-productivity. The vaccine was named Agile.

(I do not know if that virus got mutated, or if it did, what genetic footprint it holds. If you come across it, feel free to leave a comment.)

The new manager (the beast) began to measure productivity via tickets-closed count, and write it on the team dashboard every day. Initially, we didn’t think much of it. After all, a company had every right to measure its staff’s work.

But slowly, we as a team began to fall apart. A few more productive programmers (some of them originally hired by the beast) began to have coffee + lunch with him, while the rest of us unproductive bunch clung to our seats to regain our lost productivity.

The last manager had hired us and spoiled us beyond the limit of repair! We had to be watched. Some of his accomplices began to spy on us during our recess minutes.

Against the team’s wishes, the office got shifted to a newer location where our (actually, our manager’s) work could be visible to the super bosses. I couldn’t shift my house due to the rental contract and had to resort to 4 hours of the daily commute. My requests for an office laptop were turned down. It’s a privilege, not a right!

When I began to miss the office by an hour (11–8 instead of 9–6), I began to get memos. The manager threatened me with job termination. I had no option but to obey him. But my productivity & passion for the product went down. To make up for that, I began spending 2 more hours in the office, spoiling my sleep & family time even more.

When I stopped seeing any hope of changing the circumstances, I started to look outside. I got a full-time freelance opportunity that allowed me to work from my hometown for 40 hrs/week.

I was happy to overcome, but I sacrificed my love of coding. It was a tech-coordination job, supervising QA automation and bug fixing efforts.

201X product companies:

Some 5 years down the line, I had enough of the darker sides of the freelance world. I also kept getting attracted by the shiny flex-time job advert billboards. Having sharpened my saw, I thought things would be much better now. I returned from freelance to 9–5.

20+ weekly hours of religious congregations in the name of holy Agile

The first company I joined was a mid-sized IT shop relying on a single product. No one spoke of Agile. There were minimal meetings and continuous work. It accomplished much more keeping its developers individualistic, though it didn’t trust them enough to allow work from home. Things were monotonous, but I wasn’t unhappy.

Eventually, though, I saw myself making very little impact. The ship shook a couple of times, and they laid people off. That’s when I decided to quit.

In 2019 end, I joined a big-ticket MNC position. Technically, the work was unfamiliar territory. But I needed a job, and they needed people. It was amicably agreed that I would teach myself on the job.

But Agile fully caught up with me, now. We had 20+ weekly hours of religious congregations in the name of holy Agile. The mental interruptions they caused ensured that the rest 20 were barely spent doing the work.

Spending extra hours was inevitable. But I was no longer the same, fresh-from-college guy ready to learn anything that would get the job done.

A laptop was no longer a luxury, but working from home still was (before COVID). If that wasn’t enough, the entire team was pitted against each other in a merge-request race. The ritual went like this:

  • You submit your fix, it will remain in a parking area called Gerrit
  • You must get 2 votes from the senior-most colleagues without which you cannot merge into the master
  • By the time you got them, if it results in a merge conflict, you go through it again.

Yet, to my mental r(/b)elief, this was a product company. We were allowed to be slow, and make mistakes!

I couldn’t be more wrong. I realized it when after 4 months, my manager shared his dashboard with me. It showed my ticket stats against all my colleagues, who were far ahead of me in the MR count. Those were the same bunch who literally blocked my ticket review, giving +1 to each other in a minute!

For the next three months, I kept working 10 hours a day to familiarize + deliver, walking on the double-edged sword of productivity called Agile.

Then, the chart became a flatline:

COVID struck. The CEO resigned with 6-figure severances.

Developers got fired with an empty check. I was among those 100. I felt lucky.

Conclusion:

Software development is an industry that encourages constant learning, but it has failed to reward it.

In 2021 end, I read about Apple beckoning its employees back to the office. It’s partly true, that innovations cannot happen in isolation. But the importance of collaboration (up to the point of full-time office) is clearly overstated.

Equally unfathomable is the stance of a trillion-dollar, innovative corporation that is unable to come up with a virtual office for its employees.

Software development is an industry that encourages constant learning, but it has failed to reward it. In the name of the developer-owned industry, whatever time + mental recess developers earn through learning gets washed away by scopeless, repeatable, retroactively planned meetings that achieve nothing. Even when they do, the rewards belong to managers, the modern equivalent of the communism-era bourgeois.

I think about rejoining my first service-based low-pay organization as a developer. There, I will be able to finish up my day in 8 hours. If they slam off-hours meetings, I have enough dare to brandish my resignation. In those places, people my age take 2x my developer salary, warming managerial chairs, shouting nothing but quarterly reports. I know they need me, and they don’t bark when they know I can deliver.

At least those body shopper shops don’t claim to be developer-friendly flextime clubs.

Programming
Software Development
Software Engineering
Productivity
Parkinsons Law
Recommended from ReadMedium