26 ms·
Same Stop: Life after 26 years as a programmer for Apple
- underdeserver 3y agoGlypha looks like a lot of fun. A low-fi clone of Killer Queen - or is Killer Queen a hi-fi clone of Glypha? Either way, very nice!
- pmarreck 3y agoGlypha was a clone of sorts of the old arcade game Joust
- lasche 3y agoI got into programming because I wanted to have my personal home page good sweet old days..
- glonq 3y agoI just realized that I've worked in the software biz for 30 years now, on top of 10 as a student/hobbyist. Halfway thru my career, I quickly pivoted from I love programming and want to do this forever to I'm getting sick of this; my engergies are better spent as an architect/manager. But at 50, I'm feeling burned out about doing anything for 40+ hours per week anymore. I'm embarking on an adventure with cancer right now, and if I survive it then I'll do my best to find a way to wind down so that I work half-time or zero. I'd rather be somewhere warm and bleak, nailing houses together for Habitat for Humanity.
- tambourine_man 3y ago> What am I trying to say? I have a programming addiction? (Maybe.) I think all of us do, to some degree. You have to to endure hours on end staring at a glowing screen and banging your head against a mechanical keyboard.
- ummonk 3y agoNot necessarily. At least for those of us from Asian cultures, it's not that unusual to sacrifice and do something you hate or at least are ambivalent towards because it's a well paying stable career.
- tambourine_man 3y agoI love programming. More each day and I’ve done it for decades. But I think everyone who enjoys the process of squeezing their thoughts through the rigors of a machine is at least a little bit funny in the head. I love it, but it’s bonkers.
- nawgz 3y agoI don’t really follow you. This roughly implies everyone is addicted to their jobs…
- arealaccount 3y agoOr more like the paycheck is an enabler for an unhealthy escape
- nawgz 3y agoSeems like an extremely unrealistic representation of people's motivations to work, to me.
- johannes1234321 3y agoThere is a group who focusses on the paycheck. In my experience they often aren't the better ones. For many there however is also some intrinsic motivation in doing something "worthwhile" or "challenging" For me money is a necessity, but not the goal. I could do jobs I care less about for more money (which of course makes my boss happy, that I don't change)
- tambourine_man 3y agoMost people are. Even stuff you might not like, such as pressure, can be addictive. I know I’ve felt “withdraw” symptoms on extended holidays after intense work sprints. And I consider myself a lazy bastard.
- nawgz 3y agoHaha, I don't think you should try to generalize your emotions - "withdrawal" symptoms on vacation could easily just be your stressed out body finally resting, or one of many other emotions. None of what you have said tracks for me. I can shut off work in a minute and I feel glorious when I do it; it's purely a practical thing. I will stop the minute I can, which I seem to be about 30% of the way to
- 3y ago
- scarface74 3y agoI’ve been programming professionally for over 25 years. I have not written a line of code for “fun” since I graduated from college.
- tambourine_man 3y agoBut did you have fun while being payed to write those lines? I hope so.
- scarface74 3y agoIt’s not fun or not fun. It’s a necessity like going to the bathroom. It’s the easiest method I have to support my addiction to food and shelter.
- kharak 3y agoNot OP, but not really. I do not hate it, but enjoyment is not something I get out of coding. It has gotten better over the years, as I have become a better programmer. Liking what you are good at is natural, after all. Still, I failed to find a career where what I enjoy is tied to what I am getting paid for. I am pretty sure that is the case for most people around the world. Life can be good regardless (and is for me), but actually enjoying what you are doing professionally, that is a cheat code for living well.
- pmarreck 3y agoThis makes me sad. Do you mean you coded for fun before graduating and not since, or ever? Like you never coded a little game or a shell function to make your commandline usage easier or anything like that just for your own use, for fun? Honestly it’s a double edged sword to like coding because then you get opinions about languages. I could never be a mercenary in anything though. If I didn’t like coding I’d be a destitute individual.
- scarface74 3y agoWhy would I? I spent from 1996 (when I graduated) -2012 as a part time fitness instructor, active runner and a weightlifter. I spent from 1996-2002 and 2006-2012 hanging out with friends and dating (I was married from 2002-2006. From 2012-2022 I spent my time with family (got remarried in 2012). By the end of 2022, my wife and I had gotten rid of everything that wouldn’t fit into three suitcases and decided to be “hybrid digital nomads” where we stay in our “vacation home” from October - early February and we fly around to different cities in the US for the other 7 months. I’ve also taken back up running. There is so much more to life than pecking on a computer during my free time. Software development is a means to an end - nothing more.
- nadermx 3y agoWhat is retirement, if not doing things you enjoy. Coding is unique in its ability that you can even do it as an old man.
- qup 3y agoNot unique, but it is a nice perk. Poker is a great retirement game for many, and I suspect most programmers would both enjoy it greatly and excel at it.
- asimjalis 3y agoI can totally relate to this. I find myself forcing my attention away from programming to do other work. Programming is like an infinite game.
- tail_exchange 3y agoOOC, what do you program so much? I usually don't program after work, not because I don't want to, but because I don't have anything to build.
- flatline 3y agoIn my younger years my obsession with programming was complex. It was partly an escape, partly a reveling in the godlike powers bestowed upon me by the machine. I think both aspects were unhealthy, and were effective at keeping me from dealing with the more complex realities of developing and maintaining a balanced lifestyle, especially in my social life. I still enjoy writing code, but I could never imagine a return to this extreme focus unless something was out of place elsewhere.
- shubhamjain 3y ago> The respite from programming though lasted maybe about four months after retiring. I started a small project , in part to learn Python, in part to play with e-ink displays. I was back programming (back abusing git) but of course the pressure was off. It both was and wasn’t like the day job I had left behind. This is one reasons I got disillusioned with FIRE and the concept of early retirement. Programming was my first love. There might be phases where I just get sick of technology, but most of them have proven to be temporary. It's the best, the most versatile medium of my creative energy. I don't plan to stop doing it ever. What I actually dislike is the corporatisation of programming—JIRA Tasks, PRD, Stand-up meetings, Stakeholder meetings. I don't want early retirement. I want to work in a small team with a good product vision and a strong shipping culture. But it has proven to rare in my professional experience. For me, alternative is to keep taking breaks. Few months, once in a while, to work and experiment on my own ideas. This allows me to keep my creative spirit alive and (possibly) to make money that gives me the freedom to explore them more.
- rqtwteye 3y ago“ I want to work in a small team with a good product vision and a . strong shipping culture.” That’s really hard to find. Especially if you still want to work regular hours
- pinewurst 3y agoSpeaking as someone planning to "retire" very soon, I don't like that word at all. I'm hardly planning to move to Florida for wife swapping and pickleball with the other oldsters. I'll be doing whatever suits my fancy, including software, albeit sans Jira and keeping GoogSoft suits happy with the proper newspeak.
- jjxw 3y ago100% agree. Does anyone know of a word that means "retirement" without the "not working" connotation? I'm in the same camp as someone who is aspiring to "retire early", but it will be more of a "work on whatever I want to" kind of retirement and not "move to Florida" type of retirement.
- justsomehnguy 3y ago> I’m not sure if that is a good thing. I am back to coding late into the night, and back at it after coffee and an English muffin the following morning (thankfully though I quit the cigarettes decades ago). *sigh* It's 5AM and I'm out of coffee and cigarettes. At least I found a stupid bug tonight.
- ed25519FUUU 3y agoI think the author of this blog would have told you to go to bed 5 hours ago and look with fresh eyes in the morning. You’d probably spot the bug instantly.
- pmarreck 3y agotip- late night coding is good for creativity early morning coding fresh after sleep is good for bug-hunting
- binkHN 3y agoYou found something you enjoyed and turned it into a career. There is no reason why you wouldn't continue to enjoy it, especially with deadlines and all the other stuff that comes with work removed.
- cheschire 3y agoI once had a PM who told me coding was just a stepping stone to them in their career. I couldn’t understand, I thought they must not have been a “natural” like me. Fast forward a few years, after taking on more mentorship roles, then staff responsibilities, then slipping into project oversight roles… She was so right. Coding was a great stepping stone. Several years ago my father got promoted to some leadership role. In our conversation about it, he told me he had asked to get back closer tech, but his boss declined and said tech specialists are a dime a dozen. Technical leadership is very expensive to find though, and once you find one you don’t let them go back to the production line. I still occasionally answer an SO question or make a few commits on personal pet projects, but lately I’m just as likely to go fishing instead or make edits to OpenStreetMap. Programming really is a special kind of career. I can’t imagine making it the only one I ever tried though.
- irrational 3y ago> Technical leadership is very expensive to find though, and once you find one you don’t let them go back to the production line. I have a friend at our company who is a gifted programmer. He was moved into a management position. He discovered that he hated working in a leadership position. He tried to get them to move him back to an individual contributor position. They refused. He said, move me back or I quit. It took them more than a year to transition him back to an individual contributor role. That was a few years ago and he has been happily plugging along ever since. He says that even after he transitioned back, they kept coming to him to get his opinion on issues, the only way he got them to stop was to completely refuse to respond.
- doppel 3y agoI feel it's completely acceptable to wish to stay in an IC position, but to refuse outright to give advise or share the experience (it's hard to tell from your short paragraph) seems... odd? It's acceptable to want to stay in a specific role, but I am not certain I feel it's acceptable to eschew an increasing responsibility or mentoring role as you gain experience. That way lies the "genius programmer that works alone and writes code no one else wunderstands".
- irrational 3y ago> in the same way we expect that a retired doctor probably stops performing surgeries and begins to spend more time on the golf course. My father is a retired doctor. I’ve never known him to play golf, but he works 60 hours a week in the emergency room of the clinic on the local Indian reservation. He claims only working 60 hours a week is retirement for a doctor.
- qup 3y agoMay he enjoy his retirement. Send him some thanks, from the rest of us.
- deepzn 3y agoI really enjoyed reading other posts from your blogs as well - https://www.engineersneedart.com/blog/interview/interview.html https://www.engineersneedart.com/blog/interview/interview.ht... I have bookmarked many tech blogs, but find it hard to get the time to read or catch up with them. There are so many interesting stories out there. I hope to collect as many cool stories throughout my life and career.
- aeturnum 3y agoFor me, at least, programming is simply the most profitable articulation of an underlying personality trait that involves productivity, play, mischief, sardonicism and critique all together. This is what people mean when they point out that "hacking" isn't about software. The tantalizing just-out-of-reach articulation of a compelling concept. Satiating.
- awongh 3y agoHow is sardonicism involved in programming? It is a trait many in tech have, I'm not sure if you're saying that it's positively involved in doing programming....
- moffkalast 3y agoIt's a very effective coping mechanism for dealing with constant problems would be my guess. Here's what GPT 4 has to say on the matter, I think it's pretty hilarious: "Programmers have such a sunny job, full of rainbows and unicorns, that they've taken to leaving little love notes in the form of sardonic comments within their code. It's their way of whispering sweet nothings to the universe about the sheer joy of tracking down that one pesky, elusive bug at 3 AM, or the pure elation they feel when the system crashes for the hundredth time for no apparent reason. They do it with such grace, wearing a smile that's as bright as their computer screens in a dark room. Indeed, who wouldn't want a slice of that pie?"
- aeturnum 3y agoI think there are lots of opportunities to be sardonic in programs! Either literally in comments or figuratively in programmatic structures you use, or at a higher level of project design. Any time the system is in a bad state, appearing like it's heading towards a crash, but you've prepared a clause to catch and diffuse the situation it feels a little sardonic to me.
- turtleyacht 3y agoIt may describe a baseline cynicism about the problem or situation. It's a healthy skepticism, a low-priority thread on the mental backburner. Sometime later, something triggers it or an idea related to it. You can instantly jump back to it. You think "Hmm, I wonder if I can try X on it..." Where X is a technique, method, or process you may have done before, but in a different context.
- cyberferret 3y agoI can totally relate. I started programming at around 18, writing games and utilities for DOS and other OSs at the time. I am 56 now and still actively writing code for my own SaaS. I expect that when I eventually retire, I will end up writing code for Arduino devices and other things because it is what I truly love to do, and I never want to stop learning something new.
- VirusNewbie 3y agoThis was great to read. This is always how I imagined my career would go, but I don’t hear about it enough. I enjoy my job, and also look forward to having more free time to contribute to various OSS and hobby projects i’ve done over the years.
- Clubber 3y ago>Are there younger engineers, new to the career, for whom programming is not merely a job but something they can imagine doing in their spare time? I'm sure there are, but I don't know any. I have the passion (obsession as my mother called it). I've been fascinated with computers since before 3rd grade when my public elementary school installed a computer lab with TRS-80s. They soon invited me to help teach the "adult" computer class (as a 3rd grader) they offered in the evening to the local community. It was then discovering the world of BBS, then running my own, then coding it to my taste. In college came the internet and the rest is history. I have the theory that it was the timeframe when microcomputers just started to come and grow their legs is what birthed such passion in so many people. I'm not sure how much of it still exists to the current youth generations, but it sure existed in mine. PS: I do miss those cigarettes.
- ylee 3y agoI am self-taught with computers in the sense that I read every computer book I could find before my first computer at the age of 10, a Commodore VIC-20; everything else came from that. Elementary-school classes on Logo, AP Computer Science in high school, and one one-credit Java class in college are the extent of my formal education in computer science. I've never worked as and have never wanted to be a professional programmer. I worked through Columbia doing user support for the university's Unix systems group. I got a job on Wall Street like many classmates, but for which the hiring person (an equity analyst covering software companies) was specifically looking for a CS major; I was able to demonstrate that I had the equivalent background thereof. I have been successful with computers because I enjoy working with them. I enjoy computers because it's a hobby, albeit one that has affected my entire working life. I suspect that I would not enjoy computers as much were it actually my job. Since it isn't, I have the freedom of being able to (for example) write Elisp[1] to improve VM, the Emacs-based email client I've used for almost three decades. While I may contribute my code back to the VM project someday, meanwhile I report to no one and have no deadlines other than my own. That's freedom. [1] I well remember the epiphany the day in Logo class I realized what recursion is. I still feel like giggling when I find an Elisp task for which recursion is an effective solution.
- funOtter 3y agoThis guy seems interesting .. I go to subscribe via RSS - no feed? :(
- haunter 3y agoThere is https://www.engineersneedart.com/rss.xml https://www.engineersneedart.com/rss.xml
- ofrzeta 3y agoHe's a hackernews member, too. You can be pretty sure if he posts something it will show up here, for instance some time ago https://www.engineersneedart.com/systemsix/systemsix.html https://www.engineersneedart.com/systemsix/systemsix.html
- keyle 3y agoA fantastic read, that gives me hope for the next 20 years. Also congrats for releasing a game in C/SDL in the days of _insert engine here_. A game that appears to have sold some copies. Once you become good at talking to the computer (coding), it's a very hard habit to lose I feel. I too have never stopped tinkering outside the office clock. I have plenty of little projects that tickle my fancy, but above all keep me interested. Computers are fascinating and always at the ready for a play: Player 1, $~: _
- toadi 3y agoI started coding because I loved games. Thing was there was no unreal or other frameworks to help out. I was no Carmack writing my own 3d engine. I'm just not good enough in math for all that. But once I retire I will go back at writing games.
- badcarbine 3y agoHow do we know this whole story isn't AI generated?
- pmarreck 3y agoBecause Glypha was a badass shareware game back in the day. Can’t nobody do that
- ed25519FUUU 3y agoAs for myself, I already know I won’t be programming in retirement. Not because I don’t love programming. I do! But because life is a journey and I know the next phase is teaching and mentoring. I don’t know what it will look like exactly, but I know I won’t be in the driver’s seat.
- kzrdude 3y agoI've been thinking along these lines, do you have a path in mind for how to get into teaching? What kind of teaching?
- ed25519FUUU 3y agoProbably a community college class.
- hgs3 3y ago> But there is something becoming more familiar to me as I go back to the wild west of C programming (where very little happens behind the scenes I might point out - no garbage collection here!). I share this sentiment. I pursued computer science because of the romanticized notation of tracking every bit and byte and talking directly to the hardware. I know I'm not alone given the popularity of old-school fantasy consoles and consumer microcontrollers, like Arduino. It saddens me to say but if I were starting over today I might not enter the field professionally. Most modern development is gluing components together and wrangling packages. It's so far removed from the machine and the distance is only growing.
- Aperocky 3y agoimo a self contained component are the same as bit and byte. To me, the draw of programming being that it is both a logical puzzle and a constructive endeavor, brings me a lot of joy to be able to see my stuff work. Whether that's manipulating memory bytes or using a package someone else wrote to do something I want, there's little difference in terms of satisfaction.
- xupybd 3y agoThe most unfulfilling days for me are when my dependencies seem to fall over. I have a project that only builds in one version of Visual Studio on my machine. I know it's bad, I know I should get to the bottom of it before it becomes a real problem, but it's soul crushing work.
- nasmorn 3y agoInterestingly as frustrating as this sometimes is I tend to become obsessed with not letting the computer win. So it feels much less like work than some kind of mythical quest with a very shallow plot.
- bombolo 3y ago> The most unfulfilling days for me are when my dependencies seem to fall over. I tend to pick only stuff that is packaged in a distribution, if at all possible. They usually do a decent job at gatekeeping the countless libraries created by people that have no idea on how to make a library.
- tus666 3y agoHe aint 35.
- rubicon33 3y ago> I am not sure though if this is still the case for software engineers. Are there younger engineers, new to the career, for whom programming is not merely a job but something they can imagine doing in their spare time? I think I met a few as I was winding down my career. I do feel though that back around 1988 or so when I started getting serious into programming that all fellow programmers I met were also doing it with a kind of passion. How is it you can love a machine? As someone who went into software development because it was my passion and my hobby, its always disappointing how often that isn't the case for so many people in this industry. It's draining actually; The lack of enthusiasm and genuine interest is replaced by a clock-in and clock-out mentality. Bootcamps have just become farms for people who need a job, but not those who really want this job. I want to work with more people who LOVE software and find the development of machines and the code that runs on them as fascinating as I do. Unfortunately, its less and less these days.
- protonbob 3y agoWhile I certainly clock in and clock out for my day job which is mostly writing crud apps, I still am passionate about programming. I'm just also more passionate about things like family.
- tayo42 3y agoPassion for working is different then coding or hacking on stuff or w/e you call it. Personally, I like learning how things work and doing things at my own pace. Expecting passion for integrating SaaS apis and working with legacy code is not the tech that got me interested, I want to clock out of that ASAP.
- nine_zeros 3y agoMy passion was sucked away by leetcode interviews, BS management processes, writing more JIRA tickets than code and ineffective management mistakenly thinking PIPs will somehow produce better output and improve team morale. The reality is that this industry operates with a factory worker mentality. It is no surprise to me that young people don't care about programming. It just isn't valued.
- conductr 3y ago
- xupybd 3y agoI hope I get to retire with enough energy to have hobbies. Many family members didn't make it to an age that they could enjoy retirement. The certainly didn't have the financial sense to make much of it.
- b20000 3y agoso this guy never had to deal with leetcode BS
- ilrwbwrkhv 3y agoThank you for your 26 years of service. Career programmers like you who still love programming at the end of it are a treasure. Programming is wonderful. It is an art in itself. Even though Slack and Leetcode and all the rest ruin it, there is nothing else which sparks joy and a sense of wonder like it does for some of us. I wish in our industry we had more wider appreciation and events where we could share stories like you and felicitate you.
- raz32dust 3y agoWait what did Slack do?
- hackernewds 3y agoAssuming they also included Leetcode, I think they're venting about the general "tech culture" which surrounds most programming jobs now
- esafak 3y agoCause distraction.
- hugatest 3y agoIn the olden days it was IRC. Already then it was about controlling yourself. Whether you would get distracted or not. If you want to get into the zone, it's up to you how to do that. If you have an IRC or Slack window on the side to let you get distracted is your call.
- esafak 3y agoWere you using IRC as your corporate messaging solution, because that's what slack is? İf people send you a message they expect a timely if not instant response. Their work depends on you.
- qup 3y agoMandated black hole for attention.
- nologic01 3y agoHacking should be recognized as an arts and crafts category. It is a bit more abstract than making music or painting or messing with materials (wood, stone, metal etc), but it pushes the same pleasure buttons. Its the simple joy of building and sharing stuff. In a professional context programming mutates and becomes what organized society and economies want it to be. Another cog in the machine. Coding for money is no more or less happy than cooking, making music or applying any other intrinsically pleasurable dexterity for money. What is intrinsically fun and something you would do "for free" becomes draining, stressful and devoid of purpose. The "purpose" in organized work is dictated by large scale patterns of supply, demand, monetisation games and organizational structures. In a sense what we are missing are meta-tinkerers who would (for free and for fun) hack society and its economy to be a more meaningful place, one that does not make us to need to "retire from".
- osigurdson 3y agoI think being a coder is a bit like being a musician - you never retire.
- lastangryman 3y agoI find it surprising (in a good way) the author could be a programmer for 26 years at Apple. A lot of corporate places I've worked at are always pushing you to progress in to leadership positions; if you aren't moving upwards then you are "managed out" which I always find really sad, the idea that simply being good at your job is now no longer enough. Good on Apple if they don't follow this type of thinking.
- brabel 3y agoAn experienced programmer may not be able to write a lot of code faster than an intermediate programmer, but will know to NOT write code or waste time on things they know (from experience) are not required, or desirable... and focus on those things that really matter. This is worth so much for a company. Developers in the middle of their careers are dangerous: they can achieve a lot, but they can easily veer off on a tangent and spend months on some interesting challenge instead of on what the business needs. If every developer moved "up" to management after a few years, only mediocre programmers would be actually writing code (which is partly true). I've become chief engineer recently, but I had already been leading other developers for a while... but I keep writing lots of code, despite frequent interruptions to assist others... I can see how others often go in undesired directions if not guided back to focus on what is important. I am very glad my company has recognized that I can do that but knows me well enough to understand my strong point is coding, not managing. I am sure Apple and many other companies are also aware that a very experienced developer still writing code with others is worth a lot more than in some miserable (for them) management position.
- SOLAR_FIELDS 3y agoOne of my mantras that I picked up as I moved into a more senior level is “the fastest and easiest to maintain code is the code you don’t have to write at all”. Knowing when and what to write is as much a skill as writing the code in the first place. Also, Apple, presumably being a very siloed organization, probably benefits more from tribal knowledge of the elders more than your typical organization.
- 3y ago
- gauravkumar552 3y agoThis feels oddly satisfying to read this
- diligence_ 3y ago[dead]
- ArcMex 3y ago>Are there younger engineers, new to the career, for whom programming is not merely a job but something they can imagine doing in their spare time? Yes, absolutely!
- newswasboring 3y agoI've reached a age where I have to answer "define young". Early thirties is weird. All the people I respect and learn from are still older than me, but not old old.
- qup 3y agoI'm older than you and I actually considered that the author was talking about me! I thought "yeah, I'm an addict, we're still out there". It didn't occur to me that I was old until your comment. Thanks!
- ZaoLahma 3y agoThe "define young"-range seems to be a sliding window centered around your current age. Perhaps at some point there will be very few older than you and perhaps then the sliding window will be offset accordingly, but at least for me (almost, almost 40) I'm still well within the "define young" range from my own point of view.
- vjk800 3y agoHey, 30s is the new 20s, and so on. I'm in the same boat and I definitely still feel young. I mean, I'm fundamentally unchanged from when I was 16, and still like the same stuff like video games, computers, and so on. I have also always looked kinda young, which probably allowed me to propagate my youth until very recently. The biggest change I've noticed is not anything internal to me but how other people act around me; they talk to me like I'm an adult (which can be either good or bad depending on the situation), and the cashiers at the stores have stopped asking for an ID when I buy liquor (before 30 they still did!). Also, people don't give unsolicited advice as much as they used to; I suppose they think I know what I'm doing or don't care. This is definitely bad, because my modus operandi for life has always been to try weird stuff my own way and count on other people to stop me if I'm doing something completely stupid.
- pluijzer 3y agoAfter many years I'm still pasionate about programming, still do it in my spare time and enjoy my work. But, it really does need to be in a language and platform I enjoy. I also notice that if you have a job with a more niche language all your collegues will be passionate about the work too. This is why I personally do not care much about language comparisons. It might be that the language of my choice is only marginally better and in some case worse as a more mainstream language. But there are cultures around languages and you need to fit with that culture to get the most joy out of your work.
- pfannkuchen 3y agoNiche languages filter for nerds, and nerds are more fun to work with? (if you are good at what you do, else you will incur the nerds’ wrath).
- pluijzer 3y agoThat can very well be ;) I think those that choose to go into programming purely because it can earn well (I have nothing against this by the way) will choose to invest in one of the more popular languages because there are more job opportunities in it. Also there would be any, let's say, Common Lisp bootcamps so it is more likely that the people that know it have picked it up because of some passion. When focusing on nice languages it is very easy to get hired for positions that need it because there is less competition. Though, contrary to what I would have expected usually it pays a little bit less. The highest paying jobs I had so far were in Java.
- badpun 3y agoI agree. Strongest and most passionate devs I've seen by far in my career so far were almost all Scala developers.
- kstenerud 3y agoIn 2 days time I'll mark my 27th year as a professional programmer (and just over 40 years since I started programming). I've worked in small companies, big companies, and mega-corporations. I've been a programmer, manager, team lead and CTO. And in doing so I discovered that I don't like managing people, I don't like meetings, and I don't like paperwork. I like long periods of focus. So I'm a software dev/architect again, working in esoteric and interesting spaces, and will continue to do so until I "retire" (meaning that I switch to full time on my open source projects).
- sph 3y agoYou have twice my professional age, and I have come to the same realisation. I want to earn enough money from my business ideas to spend the rest of my time on hacking on niche languages, distributed/anonymous networks, etc. and as I grow older, to use computer and programming just to maintain a modern off-the-grid life (so working on my smart grid, automating my cabin-in-the-woods life) Computers and the Internet have gone from being a lifestyle, to just a tool.
- Wensio 3y agoAny advice for aspiriing programmers? I work full-time and go to school part-time so finding time / motiviation to practice and learn is incredibly difficult most days.
- victor9000 3y agoI took the same path and came to the same realization, yet my current architect role is still nothing but meetings. Ugh.
- badpun 3y ago"Architect" in most places is basically "code politician".
- devnullbrain 3y agoCode is easy, people are hard.
- 3y ago
- DantesKite 3y agoI like that it seems like he optimized the game for the Steam Deck.
- totorovirus 3y agoWhat I've seen in the past two years, a lot of people who have seemingly no fit to a life of a programmer have joined software industry. In my experience the best devs were the people who self-taught programming for pure joy of building a software, making a glimpse of imaging to something real through writing code. The others who were on this job because the compensation was hefty - they were likely to opt out to a manager. I am not saying that hobby-devs are better people or co-worker. Every people has their role in a team. Nevertheless these people who habitually code are the ones who remain as devs after all.
- Charlie_Black 3y agoThe best engineers I know all started coding for fun too. Not to build "real-life" usable software, but to solve algorithmic puzzles.
- stavros 3y agoMy fun is building real-life usable software and seeing people getting value out of them, so I guess YMMV. I'm very lucky that I really like doing this, as it makes work as fun as my hobby, and my personal portfolio has a bunch of finished (if generally small) products in it.
- scotty79 3y agoI'm getting my kicks from finding out why things don't work and making them work.
- godshatter 3y agoI enjoy this too, but predicting who is going to like what exactly is still a mystery to me. Programs I built that I think are the most beautiful and useful thing around get ignored or just tolerated and some silly bash script or Word macro I wrote in five minutes as a one-off for someone has been passed around multiple times and is still in use 20 years later. Where I get my fun is that I live to increase my understanding of something. This code should be doing "this", but it's doing "that" instead. Is there something I'm missing in my basic understanding of this particular topic? When I follow it through and get that "Ahh, I get it!" moment, it's like a drug for me. All is suddenly right with the world again. It's why I gravitate to lower level languages and languages that give me more control. The rest is building scaffolding and applying standard recipes and carefully laying things out as I go. I still enjoy it, but I don't get the happiness that I get from getting one of those "aha!" moments. Or being told my stupid Word macro saved someone hours of work in some random meeting somewhere, I guess.
- iamflimflam1 3y agoI would recommend everyone who retires from programming to get into the maker world. 3D printed, embedded programming - it’s great fun and just feels different from the day to day programming grind.
- DanielHB 3y agodon't do it as a profession, embedded programming grind is worse than conventional cloud/web programming grind
- supriyo-biswas 3y agoWould you say the same thing considering oncall responsibilities in conventional cloud/web programming?
- DanielHB 3y agoI work in an IoT company and we have embedded and cloud devs, embedded is a huge pain in the ass because we can't OTA update our devices willy nilly (regulations and client's demands) and supporting older hardware creates a rats nest of backwards compatibility problems In the cloud I can press deploy to update the servers, fixing a software problem in an embedded of a fleet with thousands of individual devices is a huge undertaking and can take months. Fixing a hardware problems usually means workarounds in software. Heck a lot of that complexity leaks into the cloud code to fix bad design decisions made years before. Lots of "if deviceHardwareRevision <= X && deviceSoftwareVersion <= Y do Z" in the cloud code We don't have huge amounts of traffic in our cloud so it is usually pretty reliable even though we don't even enforce a lot of best practices and patching a problem is relatively easy
- ChuckNorris89 3y agoCan't concur. As an embedded dev turned to web, the grind of the web dev was way stressier than the tasks as an embedded dev.
- hugatest 3y ago
- deleted 3y ago[deleted]
- wiz21c 3y agoNot a very useful comment, but this guy talks almost like me. We must be twin somewhere. I got the same programming addiction, got the same look at it... Strange and comforting...
- dolmen 3y ago25 years of professional programming, but not at Apple. Far away from being able to retire (4 kids, latest fresh from last year) :(
- hugatest 3y agoYeah, same here. In a sense I'm looking forward to retirement. And in a sense I dread it, since once that day has come it would mean that I'm old and the last third of my life has firmly started already a few years ago and nothing will turn this back.
- thesquib 3y agoGlypha! I used to play that as a kid, I'm excited to check it out again.
- ChrisMarshallNY 3y agoI've been working with Apple since 1986. I very much have enjoyed their ecosystem, and probably like them, for many of the same reasons that a lot of geeks hate them. It's worked out OK, for me. My first exposure to Apple personnel, were the MacHack conferences, of the late 1980s. Back then, Apple was still pretty "scruffy." Some of the T-shirts that showed up at MacHack are now silk-shirts at Apple. Over the years, because of the companies that I've worked at, we have had pretty close relationships with Apple, and I have enjoyed interacting with many of their staff. I actually had a fairly decent window into their culture. A few years ago, I finally left my last company (after almost 27 years), and started looking for work. During that time, I was contacted by Apple, and did a couple of interviews. They were probably the only company that I would have relocated for, in my fifties. It didn't work out. As it turned out, and, quite surprisingly, I didn't mind that it fell through. The interviews made me aware that the culture was nothing like what I expected, and, I suspect, taking the job would have probably been a very bad move for me. I'm sure that the money would have been great, but I don't think I would have found the environment to my liking. I'm one of those folks that isn't particularly interested in bucketloads of money. I really enjoy writing software as a craft. I'm quite aware that many folks, hereabouts, despise people like me, and that's sad. I feel as if a bit of the "soul" of software has been leached out. But, at the same time, some very cool stuff has been accomplished (often, motivated by all that money), and I look forward to the future.
- bazmattaz 3y agoSounds like you have had an fascinating career. I dunno, but maybe the world need two types of engineers; ones motivated by good code and ones motivated by money. I wonder though if you can develop a superb product and company with just money alone. In a way you probably need evangelists rather than just hired guns. In my experience as a product manager, the evangelists are much more creative than the hired guns. You can throw lots of money toward the development of a product but that doesn’t mean you’ll get innovative solutions from your team. You need a mix of believers as well as hired guns.
- ChrisMarshallNY 3y agoI’ve always been a fan of heterogeneous teams. They are a challenge to manage, but deliver great results.
- hacky11 3y ago[dead]
- jrochkind1 3y agoThis is by John Calhoun, whose most well-known creation may be the game _Glider_, originally written in his pre-Apple period he mentions in OP. http://macscene.net/home/features/news-archives/item/interview-john-calhoun-on-the-origins-of-glider-part-1 http://macscene.net/home/features/news-archives/item/intervi...
- kshay 3y agoGlider was the Flappy Bird of its day!
- amadazia 3y agoFind a goal to put your talents to use. Retirement is a social fiction to encourage lack of engagement. Your democracy needs you.
- EGreg 3y agoHey everyone. I have just completed a release of an iOS app, being a web developer. Let me tell you… the Apple developer ecosystem is sooooooo convoluted! Is it just me or does anyone else feel that way? Don’t get me wrong. The company is innovative and a trailblazer. It has done so much in terms of hardware-software integration. And I am not even talking about anything before MacOS X or iOS. I mean … Objective C. XCode. The hodgepodge of a million different things smashed together. I have seen many people say it is elegant… I have seen many ecosystems. Apple’s one is, well, kludge upon kludge. First there was [foo bar] but then you got also foo.bar and foo.setBar. You null, NULL but also nil, you had YES and NO but also got true and false later. You could swizzle but also you could have C++ features alongside Objective C for a while, for the ultimate in language law degrees. You got #include #import but also @import because hey, @ gave you random superpowers. You had protocol but later got NS versions of everything (like NSCopying) and then ARC bolted on and auto draining pools that worked some of the time. Swift was much nicer and tried to go back to simplicity. It even helpfully renamed all your methods. But then it had things like exclamation points that you were never supposed to use, and a weird try/catch syntax that could crash your app anyway. And when Swift came out you also got YourApp-swift.h generated magically by XCode to bridge to Objective C, because of course you did. After all, you have to rely on XCode for so many things. Assets go in a special Package format, you see. They used to live on a Resource Fork but the filesystem got changed. Apple’s class system is also a hodgepodge. You have NS from the good old days, you have Foundation framework, but then you also have a ton of others which duplicate some of the functionality. But that’s just the start. You’ve got nib, make that xib, make that storyboards, and they are all different. You’ve got constraints of 10 different types but they don’t work as you’d expect with all the various tools. (Man I miss Visual Basic, that was 20-25 years ago!). The buttons are tiny and functionality like dragging an IBOutlet are hard to discover when clicking does nothing. As a teenager I was on the Apple Human Interface Developers mailing list, and their Guidelines (anyone remember those?) said “no hidden modes”. Well, that is so quaint now, for the last 20 years the new Apple has violated all their HI Guidelines. Oh, and did I mention, you only had a couple page transitions, one of which was a curled page turn, and one was sliding up from the bottom — but sliding down from the top is just not a thing! Write it yourself! If you can. But that’s not all. Not by a long shot. You have to work with CocoaPods as a package manager along with other ones, and put up with arcane error messages with each new OS version as things break because things that used to be OK are now not. And if that error comes from any of the hundreds of random build settings — good luck, buddy. Here is a video from an expert in the trenches … who is glad to discover someone else has been cataloguing all these build settings for years: https://www.youtube.com/watch?v=xJLBTIWE-yQ&t=57s https://www.youtube.com/watch?v=xJLBTIWE-yQ&t=57s No wonder Apple is trying to move towards an all-Swift future. Did I mention Apple FORGOT TO RENEW THE CERTIFICATE ON ITS OWN MAC APP STORE — not once but twice? I imagine it is better actually inside Apple. But hey, I worked inside Bloomberg and I can tell you, that codebase is … idiosyncratic to put it mildly. I guess it is like that inside many companies, but when you build a platform for developers to use, you need to make it clean and cut down on the number of concepts that have to be used, or at least make the concepts all consistent, like BSD. On the bright side, Apple did usher in the Mac, the iPod, iPhone, Apple TV, many innovations. It did absorb NeXT, try to bridge with Darwin, change CPU architectures a bunch of times, make Grand Central Dispatch, create secure enclaves, and more. So we can give them a pass I guess as a company. But boy does their development ecosystem feel a lot of kludges that accumulated over the years!
- cutler 3y agoInteresting that the OP reverted to C after playing with JS and Python. Maybe having to do everything manually at the lowest level maximises focus, assuming you have the time and patience.
- Cthulhu_ 3y agoIt's less magic, I think; I'm working in React right now and it's its own paradigm, separate yet from just JS or C or whatever.
- sethev 3y agoOh, wow! This is the creator of Glypha (https://boredzo.org/glypha/ https://boredzo.org/glypha/). I spent countless hours playing that game in the mid-ish 90's. Like so many games back then, you could tweak things with ResEdit. Nobody would believe my high score because they knew i could modify it.
- asveikau 3y agoOh, I recognize that name too, which he hasn't put front and centrer in the blog post. I remember playing Glider.
- ubermonkey 3y agoI have a friend who's been a programmer at Apple for 30+ years now. He's still very enthusiastic, though I'm sure he could retire several times over by now. Great programmers are the ones who have side projects they're doing for the fun of it.
- jimt1234 3y agoI started programming as a hobby around 1983, on my Commodore 64, in 6th grade. All through high school, I never even considered programming as a career. I didn't think anyone could actually get paid for programming. We were all just hobbyists back then. No one talked about money.
- WalterBright 3y ago> How is it you can love a machine? That's not it for me. For me is I can create things. I always wanted to create machines, but even simple machines required enormous amounts of time in a machine shop, and once I left college I no longer had any machine tools available. But with programming, I could create all kinds of machines, limited only by my imagination, at no cost.
- drakonka 3y agoI don't think I'll ever stop coding, even after I retire. I originally learned programming in order to bring the random ideas, worlds, etc in my head to life. Even though I've now been doing it professionally for over a decade, the ideas never seem to run out.
- JohnFen 3y agoI can't imagine not programming after I retire. My day job as a dev seriously infringes on my real programming tasks, and when I retire I will rejoice that I can finally get to spend more time on actually meaningful work.
- msarnoff 3y agoI worked closely with the author (John Calhoun, @JKCalhoun) at Apple in my first job out of college. On my first day, I remember being introduced to him. I looked on his bookshelf and saw a printed and bound copy of the Glider source code. I asked him if it was the same Glider I remembered playing as a little kid in the early 90s on our friends' Mac. And it was. It was a real "holy crap" moment for me, not only did I get to meet the author of one of the very first computer games I ever played, but I got to work with him! We'd hang out in each other's offices (the "open floor plan" trend hadn't quite taken hold, we actually had private/semi-private offices back then) and talk about old computers and stuff. I was starting to get into hardware hacking as a hobby. He gave me a Tektronix oscilloscope and an Apple IIe (both still work, they're sitting on my shelves and I'm looking at them right now!) which was amazingly generous of him. He wanted to give me a big box full of helium-neon lasers and optics and power supplies, but had to decline due to my lack of space. Hope you're doing well, John!
- dr_kiszonka 3y agoThanks for the write-up! I met one senior engineer like this and it was a fantastic experience.
- pmarreck 3y agoOH MY GOD, GLYPHA!
- digitalianz 3y ago[dead]
- Diesel555 3y ago> I kept also-busy with woodworking projects Why do programmers tend to enjoy woodworking? They have interesting parallels.
- MetallicCloud 3y agoI don't know why, but after being a professional programmer for around 20 years, I have replaced all my hobby programming with woodworking. I love it. There's something about having a tangible object you can touch when you're done that makes it satisfying for me.
- wglb 3y agoThis is pretty cool, in my book. I was first paid for programming 57 years ago, and have continued to program. I even was programming while I was CSO (but didn't tell anyone). To this day, I feel vaguely uncomfortable if I haven't programmed for a while. Flow is a bit less due to other responsibilities, but I do enjoy even a little programming. A while back, I tallied all the languages that I had programmed in and it was like 36 (if I can count the machine languages produced by compilers I worked on). There are a few more, like Snobol and Prolog, that were part of coursework. These days, almost all of what I do is in Common Lisp. Your System 6 looks quite cool. And no, I don't plan to actually retire--I'll always be programming.
- syngrog66 3y agoOne of the biggest changes for me, after decades of programming, is I've learned to be more of a stickler for best practices -- at least on projects I lead or ones I do solo. I'm more cognizant of the fleeting nature of time, that big one-way arrow-O-doom. So I don't "suffer foolish things" as much as I was willing to when younger. I prioritize better. Or try to. And I'm more efficient during sessions at keyboard / in terminal/shell. Effectiveness is king. I do things in a different order, too. More likely to order my sequence of tasks/milestones so I achieve the most de-risking upfront. Test my assumptions. Flush out those "dark spots" on my mental map of the problem or solution space. Age sucks. Experience rocks.
- tomcam 3y ago60+, caretaker for several family members, programmer for 35 years. Still love it, tho I am self-employed. Energy level is exceptionally low due to severe sleep issues. Can still pull all-nighters with no problem. But if I have to mow the back 10… I cry age and exhaustion.