Hacker News new | past | comments | ask | show | jobs | submit login

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.

I 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.

If 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 :-)

Some of them were posted here but it wasn’t regularly updated. http://watrophy.com/

The servers seems to be not found. Look forward to your puzzles! Edit: Works now. Perhaps was my own issues

I 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.

Maybe 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.

Puzzles?! The concept of valuing learning and practice is pretty well accepted in any other craft.

The 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.

We 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!

How 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?)

IME there needs to be a purpose to be worthwhile. Is it for entertainment or professional development? There are lists of books that people make, e.g. Bill gates, the singer Noname, Obama's. This way the effort of selecting a book can be outsourced or the group can democratize it. Pick a theme, nominate books, then vote. Call it what you want, happy hour or book club, but meet online and be ready to have a discussion of your and others' ideas.

Also, the discussion should not be a battle. If the group cannot appreciate considering opinions or thoughts on a piece of literature then it might not be a good group to be a part of. Do you judge people for holding non-consensus opinions? inb4 moral relativism, so it's a function of company culture.

Sounds like you have either experienced a bad book club, or have contributed to a bad book club. Touchy-feely things might feel awkward in the workplace so its probably beneficial to avoid books of that nature and stick to subjects where everyone has a valid opinion.

Yeah - that all makes sense to me.

I'm thinking that maybe small projects: "Hey! Let's build this together" would be more productive. The book club(s) where I have worked have been more cross-functional, which I think is good, but a lot more divisive than group development projects. I'm still trying to get my head around how it is all supposed to work. (I used to be a founder/CTO of a fairly large (in the 90s sense, not the 2010s sense), fintech company and on the board, and you would think I would have figured it all out by now, but the culture, it keeps changing! :-) )

"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?

I 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.

It certainly does feel like people (in the US at least, which is my exposure) are quicker to categorize you than before. It doesn't matter if 95% of your beliefs are similar, if you happen to be in a situation where that other 5% are relevant and express them, it certainly seems like there's a good chance the people around you that are less acquainted with you are going to assume you're part of whatever group generally expressed those opinions, and categorize you as such. That can have repercussions at work, where there are often many people you have a passing acquaintance with, but may individually or together have an impact on your work life.

I think what this really means is that the more moderate you are, the more likely you are to feel stifled. Whether you're a liberal or conservative, the farther you are to one side the easier it is to know when and around who you can speak. Either you're in a stronghold for your respective group, or you wait until you're within the safe-haven of like-minded people in that area. As a moderate, you hold some views of both sides, and all you ever want to do if discussion comes up is explain how there are reasons why you hold these views that are you believe are rational, but to do so risks people categorizing you as "the other" from both sides. You learn to keep you mouth shut at all times, not just in one place or the other.

This seems about right. I do not agree with some people, but I want to hear them and do not want to censor them.

It seems that this favor is not returned.

Do you really read a book every day? That strains belief.

But I don't understand. What do you mean by "touchy feely" book, and why are you afraid you will be ostracised by your opinions?

1) I have for a long time. Now with Kindles, I don't have to load 10 paperbacks into my computer bag every time I go on a global jaunt. A lot of time in airplanes and hotels gives you a lot of time for this (on average - which is why I said "per week", not "per day"). But, most under 250 page non-fiction books can be polished off in less than two hours. A lot of people spend two-hours/day watching some Netflix movie - this is the same thing.

2) I guess the ones that are based on subjective interpretation instead of objective fact (whatever that is today). There is a book called "How we know what isn't so" (https://www.amazon.com/How-Know-What-Isnt-Fallibility-dp-002...), and it talks a fair amount about humans can clash by developing different interpretations of reality that they think are really real. I guess this isn't "touchy-feely"; I guess it is just that the reason I got into engineering is that machines are a lot more predictable and understandable than humans (to me). I did not mean to denigrate anyone's choice of book; I just didn't have a better term at hand (I still don't!)

I've spent a long time trying to speed read and I'm still much slower than where I'd like to be. How are you able to read through 2 pages per minute and still have context on what's going on? Do you have any advice for learning to do that?

While there can be advantages to reading a lot and reading fast, I would also suggest that there is value to reading less (but still consistently) and letting your brain mull things over. Some thoughts really do require time.

Reading two hours gives you 22 hours to "mull"

(Not disagreeing at all, btw)

I suspect a lot of it has to do with the kinds of books one reads.

Many years ago a friend claimed to read a book a day. She was referring to cheap paperback fantasy books, her preferred genre. She could read them very fast because she already knew what was in them. She told me she mostly read the dialogue, which would definitely cut down on the time spent reading.

So perhaps the OP is reading mostly books they're already familiar with -- novels in a genre they like and nonfiction on topics they already mostly know. If so, you might be able to do similar things.

Maybe. I would say that for fiction, this is almost certainly true, but for non-fiction, a lot has been molecular biology, or nonlinear economics. Which are neither native to me. YMMV.

I'm sorry ... I don't!

My father expected me to do so, at the age of 7, so I did. I don't think of it of speed reading - maybe it is. I did lose half my speed when I lived in Japan for a decade (learning to read in Japanese slowed my English input speed,

This 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?

The 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.

I 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.

Nothing preventing you from coming up with a good problem on Friday afternoon instead :)

I have a hard enough time getting my colleagues to use linters, let alone solve computer science problems on a Monday morning.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact