13 ms·
As a kid, I aspired to be a programmer. As an adult, I succeeded, and I stuck around for a good long while. There are a lot of reasons to like working tech, obv
by hackyhacky 6y ago
As a kid, I aspired to be a programmer. As an adult, I succeeded, and I stuck around for a good long while. There are a lot of reasons to like working tech, obviously: the salary, the flexible working environment, the prestige, the opportunity to build products that real people use, the chance to play with new technology, and of course working with occasionally brilliant colleagues.
I tried to convince myself that these advantages made it worthwhile to sit alone in a dark room for >10 hours a day, but in the end I couldn't. I was spending more time wrestling with package managers, version conflicts, obtuse configuration files, pointless deadlines, egotistical colleagues, and almost zero time solving interesting problems on products that I care about. You might argue that I should have just found a better job, and I did, several times, but I found that no matter how much enthusiasm I had for a job at the beginning, eventually it got bogged down in software engineering detritus. I didn't much care for my colleagues: no offense to those present, but I just don't really like tech people, despite the fact that I obviously am one of them.
Through a series of coincidences, I found myself with an opportunity to teach programming at the university level. It was a lot of fun: I can talk about problems that interest with me with people who want to hear it. I operate with very little supervision. I still get to learn new technology, but fortunately I can ignore the rough edges and focus on the benefits. Meetings are minimal. The salary is adequate for my lifestyle. Best of all, I get to interact with real, live human beings. (Although at the moment, of course, we're doing everything via Zoom.) Fundamentally, the problems I'm solving are not technology problems, but human problems. At this stage in my life, this is more interesting.
I never imagined I'd end up a teacher, partly because I was a terrible student. Over the years, I had gone back and forth between industry and academia but now I think I'm in academia to stay: there's nothing I miss about slinging bits for a living.
Ironically, I'm helping my students enter a career that I left, but I let them make their own life decisions.
- yahyaheee 6y agoThis sounds a lot like toxic work culture, but unfortunately there’s a lot of that in tech
- asdfman123 6y agoTo me, it sounds like their problem is they aren't introverted enough for the job (which is totally fine, but just an observation). All jobs will have x% of nonsense and y% of what you actually really enjoy doing, and I think as long as y >= 10% then you'll do okay. Honestly, I like sitting by myself and grappling with tech problems. It's nice that I'm allowed to sit inside my own head and think all day. Maybe it's because I'm young enough that the problems I'm facing still seem somewhat novel. But perhaps it's true that OP is more extroverted and doesn't enjoy that nearly as much. Good on them for finding a better career fit. If I had to interact with people all day, I would die.
- hackyhacky 6y agoYou may be right. When I was younger, I was a lot more willing to focus on purely technical problems. I'm still an introvert, but let's say that I'm "extrovert-curious."
- grillvogel 6y ago>If I had to interact with people all day, I would die. I have some bad news for you. As you become a more senior developer you will spend most of your time interacting with people, and a lot less time just "sitting and thinking".
- perl4ever 6y agoI don't think it's just a pattern that's imposed on people arbitrarily, but that most people find as they get older they want and need to do more of that sort of thing.
- asdfman123 6y agoI'm happy to talk tech with people all day, and if it's over Slack it's great. I just don't like meetings and superficial interactions.
- _davebennett 6y agoI relate so much to this!
- mr_gibbins 6y agoThat's where I'm headed. I was lucky enough to land a part-time teaching gig (US equivalent: adjunct?) at a local University through my own academic studies there, almost completely by accident (they were short-staffed and kept asking until I said yes). I love it. I am planning to make the jump from my rather depressing current tech role as soon as I'm done with my doctorate. I can apply for (and hopefully receive) research funding, or join in on others projects. Or I can teach as much as I like, or both. I can help people. The pay cut is substantial - around 40%, personally - but it's the best job in the world.
- karatestomp 6y ago> I was spending more time wrestling with package managers, version conflicts, obtuse configuration files, pointless deadlines, egotistical colleagues, and almost zero time solving interesting problems on products that I care about. That squares with my experience of software development. It's like being a furniture maker but spending 80% of your time fixing your goddamn hammer because it keeps breaking and no better hammers exist, or consulting glue-drying tables because they keep changing your glue on you every hour or two and for no good reason every single glue performs differently while accomplishing the same thing. ... and then most of the remaining 20% is meetings and communication, which would be fine if you had more time to do the thing you're actually trying to do.
- ratww 6y agoAnd when you're doing woodworking and has to do some repetitive task you make a jig or a template for your router. This is something that you're supposed to know on the first day after you finish apprenticeship. In the modern tech industry you need authorization from your product owner/manager and engineering manager just to build a new tool or abstraction to automate or speed up your own job, because god forbid you do anything that's not in JIRA.
- olyjohn 6y agoI have to manage infrastructure, but I'm not allowed to manage user accounts or permissions. I have to send a ticket to IT, and then wait 3 days for a response... Or I get no response from them, and find out 5 days later that they did the job and closed the ticket with no notification. All because their manager requires tickets for every little change... But they don't put any information in the tickets about what they did, so there's no point whatsoever to the ticket.
- naringas 6y agoat the other extreme, everybody does whatever the day requires and JIRA is just an annoying after thought that for some reason (the agile coach tells us to?) we have to keep up to date and yet is always outdated.
- awelkie 6y agoI'm a PhD drop-out, and I'm reticent to give it another shot. Is it easy to find teaching jobs at the university level without a PhD?
- jseliger 6y agoIf you have a masters and are willing to be a relatively low-paid adjunct, my impression is "yes," particularly in CS, where relatively few people want to be adjuncts. I don't think it's easy to find jobs that pay at middle-class levels in many larger cities.
- hackyhacky 6y agoAgain, just my two cents, but in looking for full-time, contract-based, permanent, non-tenure-track teaching positions in the northeast of the US, I found no shortage of schools eager to make offers to someone with the right background. Here, "right background" means previous teaching experience, good evaluations, and extensive work in industry, as well as a killer demo lecture.
- hackyhacky 6y agoIn my experience, in the job market right now in the US, universities are positively salivating at the chance to hire experienced tech people into teaching roles. This is because lots of students want to study CS, and not a lot of people want to teach it (being that qualified people usually either go into industry, or go into research). The salary may not be great, if you have experience and good student evaluations, you are in a strong negotiating position. Some caveats: getting a university teaching job is a lot easier than getting a university research/teaching job. Previous teaching experience is a big plus, as is previous industry experience. PhD is nice, but not required (I don't have one).
- ScottFree 6y agoUS or Europe? If Europe, would any of them hire a filthy American? ;)
- milquetoastaf 6y agoCan you elaborate more on how you got into the teaching position? This is a path that intrigues me as well but I also had mediocre grades and I never even tried to go to grad school. However I have been quite successful in my career (worked for the NYT and currently for a FAANG) but like you I am getting burnt out by the daily realities of the industry.
- hackyhacky 6y agoIt was by chance. First, I started teaching English as a foreign language in Europe: that provided a useful background in pedagogy, although has nothing to do with computers. Second, I was offered an adjunct position at a university where I was a student, which gave me a taste of teaching CS. You'll probably need at least a Master's degree if you want to teach, but a strong industry background might be enough. You might try approaching a local university (don't discriminate, even community colleges need teachers) about teaching one class a semester. If you like it, you can try a better school or go for a full-time position.
- Zelphyr 6y ago> Fundamentally, the problems I'm solving are not technology problems, but human problems. This is what we’ve lost in our industry in the last 25 years, and to the worlds detriment.
- indigochill 6y agoThere's a scene early in "Halt and Catch Fire" (IMO the best tech-focused fiction show, basically a Mad Men take on the early breakthroughs in computing from personal computers through to the internet) where Joe the salesman tells Gordon the engineer, "Computers aren't the thing. They're the thing that gets us to the thing." That's been my motto since I heard it there.
- asiachick 6y agoI looked into teaching programing once. What I found has horribly designed classes teaching in poor ways and I could tell the likelihood of me being able to re-write some of the curriculum was close to zero and I'd have to deal with tons of school politics. Have you somehow avoided this stuff?
- hackyhacky 6y agoThat doesn't correspond to my experience at all. Where did you find that situation? I imagine it might be different in secondary school education, but at the university level, I find that no one really cares what I do, as long as the students don't complain. I always redesign the curriculum to suit my tastes and interests, and I've never gotten any pushback from admin. Basically, the department assigns me classes to teach, and after that I'm on my own. Once a semester a senior faculty member observes my lecture, mostly to make sure that I haven't shown up drunk. The only politics I'm exposed to is on the hiring committee.
- bythckr 6y agoWhat advice do you give your students in handling work-life balance?
- hackyhacky 6y agoThey don't ask. If they did ask, I'd say that tech employers are designed intentionally to subsume as much of your life as they can. If you want to have your own life, you need to stake a claim. More controversially, I'd say that any labor relationship is necessarily exploitative, and doing any work beyond the minimum means that you are giving more than you're getting and thus being abused. But that's not advice for having a prosperous career. :)
- wackget 6y ago> wrestling with package managers, version conflicts, obtuse configuration files The top answer also mentions this. Yours is currently second-top. I hope developers get the message. I'm SO tired of trying to navigate around the mountains of pure garbage every time I want to work on a new project. I long for the days when adding new functionality to your project was as easy as including a single external file, and when code repositories didn't automatically come with ten different utterly useless metadata files.
- hawski 6y agoIn a way I think it's the current trend of rejecting GUIs. It certainly helps with automation, but I'm afraid we've thrown the baby out with the bathwater. Does anyone remember Borland's VCL, Rox desktop or Acme from Plan 9? All vastly different, but all enabling great workflows. I would like to dive in GUI programming more, but I'm too picky regarding technologies. Closest to my ideal is Tcl/Tk and Lazarus it seems. I say it as a guy spending most of his time in terminals for 15 years, mostly by choice.
- hackyhacky 6y agoI think it's a little unfair to blame developers. I see the problem that our tooling is diverse and assembled from parts. You can pick a compiler from column A, a version control from column B, and GUI framework from column C, a message queue from column D, etc. And somehow, it's is possible to make them all work together. We love having that flexibility and choice. But we pay a price in the added complexity of making all the pieces play together. A sibling comment mentions Turbo Pascal, as a contrast to today's programming environment. Yeah, Turbo Pascal was great, but it was also an all-in-one kit: you couldn't even use your own linker, you had to use the built-in TP linker. In a sense, it was a walled-garden Apple-style development environment. But it worked, it was easy, and it was fast. The closest we have to that today is Visual Studio. I'd argue that the (mostly) all-in-one nature of Visual Studio and C# relieves a lot of the headaches of the more traditional open source toolset, at the expensive of less flexibility. This is not an argument in favor or against the Microsoft world, just an observation.
- dsaavy 6y agoWrapping my head around modules, packages, and libraries while learning Python a while back was the biggest roadblock and most discouraging part. Trying to figure out why certain things wouldn't be installed was a slog. At the same time, this struggle definitely taught me much more than I would've learned otherwise. One topic it pushed me into unwillingly was containers which was definitely a benefit in the long run.
- bengale 6y ago> I didn't much care for my colleagues: no offense to those present, but I just don't really like tech people, despite the fact that I obviously am one of them. I can totally relate to this.
- jameshush 6y agoThanks for sharing this. What you described in your past is EXACTLY how I feel now, and how I have felt over the last couple of years. Especially the line "I should have just found a better job, and I did, several times" is EXACTLY how I feel too. You've even nailed exactly how I feel with "I was spending more time wrestling with package managers, version conflicts, obtuse configuration files, pointless deadlines". I really enjoyed teaching guitar and talking to people when I was younger so I've slowly been creating educational content on LinkedIn and YouTube for software engineers. The main thing preventing me from taking a jump is my immigration status (I'm not American and I'm working on my green card right now). I'm glad this is working out for you!
- _bxg1 6y agoA couple years ago I nearly got the opportunity to teach at a Bootcamp (one of the non-scammy ones). I got turned down very late in the process mainly on lack of experience, but I really felt strongly that I would enjoy it, and be good at it. One of my strongest skills is articulating concepts, and there's something enticing about forever remaining adjacent to that part of the journey where code is really exciting, before it becomes a drudgery. Anyway. I hadn't really thought about it in a while, but maybe I'll try for that again in the future. I don't hate bit-slinging quite yet ;)
- Thorentis 6y ago> I just don't really like tech people, despite the fact that I obviously am one of them. Wow, this resonates with me. I have never liked my colleagues at any job, and I hate talking about tech with people outside of things related to work. I find tech people difficult to get along with and the conversations don't interest me. I say this knowing I could very well fit the same description but here's the thing: I find that often tech people replace an entire personality with video games / following the latest tech releases / anything related to their job. Almost all "water cooler chat" at tech companies is what game they played on the weekend, what the latest steam sale is, what the latest tv show is, what new programming language they're learning. Like, please. Can we talk about something else?
- arkanciscan 6y agoI can handle the shop-talk, but what bothers me about tech-guys (I've never had problems with female co-workers) is that they have their self-worth tangled up with their being the most-correct. They just can't handle being disagreed with.
- badpun 6y ago> I find that often tech people replace an entire personality with video games / following the latest tech releases / anything related to their job. Almost all "water cooler chat" at tech companies is what game they played on the weekend, what the latest steam sale is, what the latest tv show is, what new programming language they're learning. Like, please. Can we talk about something else? Interesting. I've worked at plenty of companies and I rarely met people like that. Maybe it's an American quirk (I've mostly worked in Europe) or perhaps it's specific to tech companies? I've mostly worked in non-tech (government, banking, telcos, with some simple web startups) and people there are fairly well-rounded. It may be that big tech is selecting for the biggest brainiacs in their hiring process, and being a brainiac correlates with having a one-dimensional personality? I've certainly meet a couple of people like that when interviewing at some of tech's household names.
- dusted 6y ago> entire personality with video games / following the latest tech releases / anything related to their job. Sounds like me if you throw in anime :) But, what's wrong with that? Other people do the same thing but with sports or music or raising kids or "hanging out with friends" or whatever else they fancy, but one is no more a "real personality" than the other, though, people with other interests always seem to have no real personality and be all about that lame thing they like, don't they? :)
- swat535 6y agoHonestly, I don't know if there is such a thing as the perfect job. I suspect the daily grind becomes apparent regardless the career choice. I can imagine how doing the same thing for 20+ becomes dull and uninteresting, especially if you have arbitrary deadlines, superiors to report and so on. The way that I personally cope with this is, accepting the fact that my job is a job and at the end of the day, the only thing that really fulfils my life are good health, exercising and spending time with loved ones. Whilst I try to enjoy my job as much as I can, it's just a means to an end. I think a trap that some of us fall into is letting our careers define who we are and once that happens, it becomes very easy to lose the sense of self.
- zerubeus 6y agoI second the package managers hell It just makes my life miserable when working with NodeJS or any JavaScript library, or the number of Framework libraries out there that makes every choice an endless debate.