some people who make programming easier
(who am I missing?)
@b0rk The archivist : you need to use only version 1.02.01 of X because your computer cannot take anything heavyer ? Of course I remember how it used to work I'm going to emulate your outdated OS and outdated X to check. Wait, where are my floppies ? @b0rk the “i’ve read the entire internet” is so relatable as someone with hundreds of tabs @b0rk hah. The Naysayer. No we're not going to do that. No you don’t need that. No we don’t have time for that. Usually overlaps the grumpy oldtimer and the BTDTGTT greyback… @b0rk The person who patiently waits until you come up with a solution to the problem, then shows you a more efficient way to do it without making you feel stupid. The people who ease your embarrassment after you fucked up by sharing their own stories of making mistakes, breaking things and fixing them. The senior dev who has your back when your boss is upping the pressure to finish a difficult task. Nice! Adjacent to the old-timer, the Local Historian (aka The Folklorist): - “Why don’t we do X instead of Y to achieve Z?” - “Aahhhh. Gather round and I will tell the ancient tale of The Time We Tried That and How It All Unexpectedly Turned to Custard…” @b0rk the chronicler. The commit history is occasionally messy but the pull request body answers more questions than anyone would ever ask. It always includes alternatives considered that are either in the commit history or live in another branch. @b0rk maybe the mentor or similar, either “I enjoy doing this, but it’s a good learning experience for <junior> to do it” or “lol I really screwed that up, learn from my fail y’all” @b0rk The red-tape cutter - "You need access to this system or tool? Here's how you get it to happen fast" @b0rk @codinghorror I love this comic and the whole reply thread! Also, “The person who keeps nudging on a bug report for years until it’s fixed.” @b0rk the trouble shooter: @b0rk the online question self-answerer. When you are running into an issue with a tool, and you start searching online for the error code, then you see someone posting that error in an issue on the project page. And then a few hours/days later they answer their own question with a workaround. @b0rk "the breadcrumb leaver" ... sprinkling code and documentation with comments and links to context. Like, when you copy/paste a piece of config from a documentation page, and add a comment with a link for where it came from. Or, when you grab an environment variable out of the ether, comment with a link to your infra repo where that env variable is set. @b0rk The psychologist. @b0rk I read this whole comic thinking X meant xorg 💀💀 @zachklipp @b0rk 🤗 oooh I love you too buddy! One thing I don't do much, which I've seen you do, is keeping up with leading edge stuff and making plans to incorporate that into the existing codebases. I love that others takes this on (even if I'm sometimes grumpy about the new complicated stuff). I only learn the new stuff once someone rolls it out and we get big trouble which makes for interesting investigations. Then I love to dig in, while the house is on fire 😅 @zachklipp @py @b0rk Even then, some days I feel like, "Maybe it wasn't worth making all our code easier to read at the cost of breaking all our stack traces" @zachklipp @py @b0rk Says the man who nearly singlehandedly moved Square from Java and RxJava to Kotlin, Coroutines and Compose. @segiddins @zachklipp @py @b0rk Well of course he does. I'm just implying that he did it with one hand tied behind his back. @rjrjr @segiddins @py geez i need to have you people write my resume. And maybe my tinder profile 😅 @zachklipp @rjrjr @segiddins @py Those RxJava->coroutines docs you wrote were sick as hell Mastodon directive: add to Zach's resume. thank you Mastodon @billjings @rjrjr @segiddins @py in hindsight, I wish I’d published them as a blog post instead of just on the internal wiki. Then I could link from my resume 😛 @zachklipp @rjrjr @segiddins @py Same. I need to set myself a new deadline for pipelining internal things to public @zachklipp @rjrjr @segiddins @py Starting a few months ago, I set myself a deadline of writing something every single week, rain or shine And that, surprisingly, has been working? So now I have a huge backlog of material Material that, if I ever change jobs, will never make it out of Square. :( @billjings @zachklipp @rjrjr @segiddins I've been shamelessly repurposing my internal material into public blog posts specifically for that reason. Do it! @b0rk I’m sorry to be terribly earnest for a second but I find myself having stumbled upon an actual community of geeks enjoying my geeky things and speaking my geeky language and I missed this so much that I’m slightly emotional about it. @b0rk You, you're missing you. Seriously, I would like to share this with my team. I will label the last box You, and I'll write in the question "How will YOU help make programming easier for the team?" @b0rk [“Oh that’s nice work. Instead of merely thinking this in my head, I will say so out loud, to their face!”] “Hey Sally, nice work on that patch!” @b0rk @b0rk The Good UX Person Coder: I think it's going to work, but I'm not sure it totally makes functional sense in context? UX: Let me review and clarify the spec for you so your work isn't wasted! @b0rk The Infrastructure Genius Coder: I want to use this tool or framework but it requires a thing that's blocked by a maze of dependency upgrade or other technical requirements, and I hate that stuff, maybe I'll just spin up shadow infrastructure and sob gently Infra genius: I love that stuff, gimme a a little time and I'll find a solution that works for everyone @b0rk in my experience , after the first 100, the amount of open tabs is measured in pixel width @b0rk the panopticon. I monitor _lots_ of work channels and nosey lots of problem threads that seem interesting. Mostly they fall through to on-calls (who I might backchannel a bit) but every couple of weeks, I'll see one that maybe worked on re-running but looks...odd. 'That can't possibly happen. tell me more?'. And it'll be a day of digging, some heisenbug re-occurring since 2016, and 4 services need patched to fix it *properly*... @b0rk Is it possible to be all of these people? Asking for... a person. @b0rk The decision maker: Enough bike shedding, let's go with option X and reevaluate at date Y. @b0rk The scope creep reducer: Let's remind us what the focused vision of our product is, and don't frankenstein on things that have no place being there. We can make a separate different, but integrated product for that other thing. @b0rk if it’s not been said already… “”” @b0rk The Hacker “I sniffed the traffic and found an undocumented API call…” The Git Surgeon “Oooooh this is bad. Let’s reattach the HEAD shall we?” @b0rk the person(s) who take care of overhead, like tools for generating PRs or ci/cd or just compilation Stuff you need to work in order to code, but not part of writing the code or even the same domain expertise @b0rk “The Veteran” : “why am I not running a goat farm instead of doing this?” The tester who explains EXACTLY WHAT THEY WERE DOING when the thing broke. Instead of saying, "It doesn't work," then when you ask what they were doing when it didn't work, they say, "I hit enter." @b0rk I am in Panel 2, and I don't like it. (Not true. I came to terms with being the Grumpy Old Timer in my 20s.) @b0rk the Not Replier: finds that what you're doing is wrong, but waits for your self "aha!" moment instead of spoiling it @b0rk Something about your friend who laughs in sympathy with your problem, having their own rich experience with that problem. @b0rk that one person who somehow manages to find every relevant StackOverflow question even though you searched it in 4 different ways and found nothing @b0rk the person that goes "oh I have no idea how to do that as well" and then thinks of the solution out loud step by step while talking to you. Reassuring and helpful The Simplifier - if they only need to be able to achieve this capability, we could just do these things. (A bit like the minimalist) The Efficient Googler - the one who knows how to frame a question to Google and then quickly filter through pages to find the correct, relevant answer (but also reads the caveats before proposing them to you) @b0rk As a newbie (who is actively trying to become more like "the loud newbie" by forcing myself to ask more questions), I have a lot of love and appreciation for "the question answerer" and "the grumpy old timer". I sometimes get worried that I'm bothering people by asking them for help, so it's super cool when people seem to genuinely enjoy explaining things to you. @b0rk What about "the fearless question asker"? The one that will ask a dumb question that the team wonders about too but is too embarrassed to ask. @b0rk does anyone actually know how X works, anyway? I understand Weyland is supposed to be easier 😂 @b0rk the user, because without users, what's the point? the specifier. "what is X?" the standardiser. "Wouldn't it be great if some implementations of X were consistent?" the employer. "Let me pay you to build X." and finally, let's not forget who's below: the library developer. The ones who teach you how to document your code. Also the ones who port something to every platform under the sun. @b0rk The Arcanist: "I'm stuck on this problem that seems really weird." "First thing to try is <thing that's obvious to everybody familiar with the details of that specific thing, which is to say maybe three of the people you'll ever meet>." "Thanks, that worked." (These tend to also be grumpy old timers and there's some overlap with the 'I've read the entire internet'.) Also the 'back up three steps': What are you really trying to do here? Would this other approach be a better way to do that? @b0rk The shield-bearer (or maybe “human shield”). In my first coding job, my manager shielded my co-workers and I from all the corporate politics and struggles so we could have a relatively low-stress work environment to focus and learn. That manager’s stress level was often beyond ridiculous, sadly. @b0rk good companion thread to the thread on being glue: https://wandering.shop/@nebulos@comicscamp.club/110970851310042697 The Editor: Takes your Really Good Thing and makes it Somehow Even Better. The Socrates: “Ok… and what happens if you do that?” The Synthesizer: Summarizes two hours of meetings/discussions/readings into three bullet points that explains everything. The Dumb Actor: Unafraid to look dumb by asking an “obvious” question, so the answer is on the record and not assumed. The Contextualizer: Has so much history, can explain every decision made by the team to help understand a why we are where we are. The Edge Caser: Have you thought about X, Y, and Z? The Connector: Knows everyone and willingly puts you in touch with them to solve each others’ problems. @b0rk the Pippi Longstocking "I've never done that before, so I'm sure I'll be able to do it" @b0rk @betsybookworm I love your drawing especially their “shirts”. What about the “copilot”? “I don’t know either, let’s find out together!” The Ignored Genius "Everyone is doing X the wrong way. Here is it how it should be done. Faster, smaller, simpler." Brain explodes. Great stuff, both funny and educative. "The news bearer" "X is old stuff, everyone is moving to Wayland now." @b0rk I think no one's mentioned the CS/algo person who can say "that problem looks like the one called XYZ in the lit and the best/most practical solution so far is this reference" @b0rk uhh I saw this blog and it may be extremely relevant https://noidea.dog/glue. @b0rk The insomniac genius. Had a colleague abt 25 years ago: hey Fred, would you have a look at this, I can't get it to work. Fred would calmly do his actual job (sales) that day, log on that evening at home and the next morning there'd be perfectly functioning code for me. Commented and all. Often passively aggressive comments, but hey, who's complaining? @b0rk |
@b0rk The person who whittles down the huge failing program with the weird error to a five line test case