9 ms·
Much to the chagrin of many of my fellow career programmers, I’ve always tried to operate slightly against the grain to keep things interesting. I do so not gra
by reikonomusha 6y ago
Much to the chagrin of many of my fellow career programmers, I’ve always tried to operate slightly against the grain to keep things interesting. I do so not gratuitously, but because I know I’m in this profession for the marathon, and so I need to compromise instantaneous velocity to maintain {energy, sanity, motivation, ...}. I get made fun of and occasionally lambasted for it, but I also frequently outpace my organizationally distant colleagues before they say ‘screw it’ and hope their next job will be more fulfilling.
I’ve been an adamant user of Common Lisp in the workplace, and I strive to carve out an environment for my fellow peers which allows them to reasonably work toward making creatively simple solutions to complex problems. Despite the continual pressure to (re)write in {C++, C#, Java} and now {Rust, Julia, Python}, my choice continues to pay dividends to myself, my colleagues, and most the organizations I’ve worked for. You can get away with it if you both deliver and manage healthy short-term and long-term expectations.
As an engineering manager, I would hold little computer science challenges every Monday morning. 45 mins to think about the problem and code a solution, and 15 minutes of “lecturing” by either myself or somebody who solved the problem. It took a lot of work each Sunday night to concoct a good problem.
Engineers invariably fell into two camps. The first were folks who didn’t want to participate because “this isn’t my job nor what I’m paid to do”, and the second were folks who reveled in the challenges, as if they were a paradise-like escape from the more mundane aspects of day-to-day coding. It would stir up conversation for the week and occasionally inspire participants to imbue the skills they learned into day-to-day coding. One of my proudest achievements was a coding challenge on combinators, which opened a big window of fresh air to individuals who didn’t understand closures or high-order functions. Lo and behold, they adopted the practice of using them to simplify some production Python.
It wasn’t compulsory so if people wanted to log into JIRA and toil away first thing Monday morning, they could. But if you felt stimulation from learning new things that may or may not actually tangibly help you, the exercises contributed a positive environment, a positive collegial interaction, and a positive following work week.
- quickthrower2 6y agoWe do "book clubs" and we are doing a Hackathon soon where I work. I think these things do keep you motivated. I am not ready to use lisp! But I do like to have a side project going at work. Often I merely get to think about the side project an maybe do a tiny bit of research, but it's motivating. It usually of the form "what would disrupt our app" or "why don't we just X". By side project I mean for work, not me competing!
- ci5er 6y agoHow does the "Book Club" thing work? By briefly observing it at my pre-Covid work-place, it seemed that (somehow) a book was chosen, people would buy and read it within about 30 days, and then sit around the lunch table and discuss their impressions or feelings or something. I read about 5 fiction and 2 non-fiction books per week, so the reading is not the challenge for me. The challenge for me is that I feel that I will be judged if I have a non-consensus opinion about (for example) what everyone else thinks. On tech-stuff, I hold my own (Because I'm always right! Ha!), but with some of these more touchy-feely books, I'm not sure I won't be excoriated (and I don't enjoy that, and don't feel like fighting battles I don't care much about), I just don't share. And I'm not the only one in the group that does exactly what I just said. We want to have a convivial group and grow, but, isn't a Happy Hour slightly more inclusive (esp. with Hors d'oeuvres and Ginger-ale or whatever?)
- Bodell 6y ago"Touchy-feely" doesn't really explain to me what potion you hold that would be criticized. What is it you usually read? Why would your comments on the emotional content on a book ostracize you?
- ci5er 6y agoI guess it depends on workplace culture? I have worked and/or consulted at places where I would not have been (in general) afraid to be bold. Books like "Think" by Simon Blackburn don't bother me to comment on. They are pretty light treatments of the underlying topics, but (as philosophy), they are framed as rational discourses. (Whether they are or not is a different topic). Topics about things like emotional intelligence (EQ) or persuasion or even nudging or race-relations in the 20th century can trigger a fairly rapid group response (primarily amongst the younger co-workers), and then you get to feeling piled upon (and even cancelled) pretty quickly. It's a new world, and I'm pretty old, and as a sit-at-my-workstation-and-code engineer, I'm guessing that I may have allowed myself to get behind the curve on normative (allowable?) social opinions.
- kilbuz 6y agoThis is wonderful, thank you for sharing it. Were there any obvious differences between the two camps in terms of performance, career satisfaction, tenure at the company, etc?
- reikonomusha 6y agoThe sample size is about N=18 for the anecdote so it’s hardly definitive. The ones who didn’t engage typically left after 12 months, maybe 24 tops. It’s not a perfect indicator. Some people in the morning are stellar performers but also want to sit and enjoy a cup of coffee and read the news instead of grinding out computer-realizations of discrete path integrals or whatever other Monday morning shenanigans.
- jimbob45 6y agoI like where your head is at but, at least for our company, our workload is such that we’d be doing those puzzles in OT. Also if there was free time to be put to puzzles, I’d rather remove my mind from programming entirely to refresh when I return.
- quickthrower2 6y agoPuzzles?! The concept of valuing learning and practice is pretty well accepted in any other craft.
- reikonomusha 6y agoMaybe so. It depends on the business, as well as the management culture. If the business demands 100% attention 9–5 (or more) and is at risk of failing otherwise, or if management is gung-ho about “getting their money’s worth” out of programmers, then it can’t happen. Where I worked, it was understood this was an avenue to higher productivity, and it paid itself off many times, not the least of which was the contribution to higher retention.
- ssivark 6y agoIf you get around to setting up a blog or a github repo with these examples, I’m sure a lot of us would find it interesting :-)
- Cancan82 6y agoAgreed.
- reikonomusha 6y agoSome of them were posted here but it wasn’t regularly updated. http://watrophy.com/ http://watrophy.com/
- throwaway_2047 6y agoThe servers seems to be not found. Look forward to your puzzles! Edit: Works now. Perhaps was my own issues
- ta1234567890 6y agoThe main thing I see in your experience (and also from other comments here), is that having a community is important, and having something fun or exciting to do at work, with that community, goes a long way to keep ourselves motivated. An analogy to this is most people have chores to do at home, and if that's all they did at home and always by themselves, they'd probably burn out pretty soon. But if they could play video games with a couple friends, or have some people over for lunch once or twice a week, then the chores would be a lot easier to bear.
- arvinsim 6y agoI would love to have these coding challenges. But if I have to commit a Sunday evening just for it, I really don't think it's worth it.
- Aeolun 6y agoNothing preventing you from coming up with a good problem on Friday afternoon instead :)
- smcameron 6y agoI used to run a "recreational computer programming" meetup once a month, (back when I lived in a large city with a nice hackerspace attended by people who weren't laser-focused on some sort of "startup mania") which was quite rewarding. I tried to steer away from the sort of "computer science" aspects and more towards the "art project" aspects, as this suited my own interests more, and I think the audience as well (a more computer-science-centric approach was tried before with poorer results, ymmv). Once this COVID nightmare is past, or managed, I may try to start something like this again, for now, it seems impossible, or at best pointless, as the best part of it was meeting with people.
- toomanybeersies 6y agoI have a hard enough time getting my colleagues to use linters, let alone solve computer science problems on a Monday morning.