The Changelog: Software Development, Open Source - A portrait of the best worst programmer (News)

Episode Date: September 5, 2023

Dan North tells the tale of Tim, the worst programmer he's worked with (who also is a heck of a programmer), Kevin Lin declares that OpenTelemetry delivers on its promise for open observability, Justi...n Garrison details Terraform vs GitOps vs System Initiative, Inc. writes how Apple beats burnout & Aline Lerner's advice on how (not) to sabotage your salary negotiations before you even start.

Transcript
Discussion (0)
Starting point is 00:00:00 What up nerds, I'm Jared and this is ChangeLog News for the week of Monday, September 4th, 2023. Only it's being delivered a day late because of the Labor Day holiday here in the States. Or maybe I was stuck at Burning Man and Labor Day is just a convenient excuse. Yeah, that's it, Ticket. Okay, let's get into the news. Dan North tells the tale of Tim, the worst programmer he's ever worked with, who also happens to be one heck of a programmer.
Starting point is 00:00:37 Tim scored zero points on the company's productivity metric, and he almost got fired. But, quote, you see, the reason that Tim's productivity score was zero was that he never signed up for any stories. Instead, he would spend his day pairing with different teammates. With less experienced devs, he would patiently let them drive whilst nudging them towards a solution. He would not crowd them or railroad them, but let them take the time to learn whilst carefully crafting moments of insight and learning, often as Socratic questions. What ifs? How elses? With seniors, it was more like co-creating or sparring, bringing different worldviews to bear on a problem to produce
Starting point is 00:01:16 something better than either of us would have thought of on our own. Tim is a heck of a programmer and you always learn something new pairing with him. You see, Tim wasn't delivering software. Tim was delivering a team that was delivering software. The entire team became more effective, more productive, more aligned, more idiomatic, more fun, because Tim was in the team. End quote. Two takeaways from this excellent post. One, measuring developer productivity is hard. And two, be like Tim. Four years in, Kevin Lin declares that OpenTelemetry delivers on its promise for open observability. Quote, it has to date provided a stable standard for the three pillars of observability, metrics, logs, and traces. It has also delivered a collector that can receive, process, and export telemetry in any environment and SDKs to instrument code in all major languages. It has also continued to expand its scope and introduced additional standards around semantic conventions and agent management. Today, OTEL is the second most active project in the CNCF, behind only Kubernetes in popularity. End quote.
Starting point is 00:02:34 We use OTEL to send data from our Phoenix app to Honeycomb, and while it just works, which is awesome, it does strike me as complicated. Perhaps overly complicated? I don't know. Maybe that's inevitable for a spec that serves so many interests in so many ways. Justin Garrison thought now is a good time to take stock of the infrastructure automation tools people should be using. Here's a quote from each of the three contenders he writes about in detail. Terraform.
Starting point is 00:03:03 Terraform is a single-player tool in a multiplayer world. It's great for infrastructure management when teams are small and complexity is under control. But once you try to hide complexity in wrappers, abstractions, and deploy pipelines, it's time to look for other options. GitOps. GitOps works for Kubernetes, but outside of that ecosystem, you end up writing HCL to manage everything else. You turn everything into a Kubernetes problem, and everyone who needs infrastructure needs to be a Kubernetes user. System Initiative. System Initiative has the potential to bring application and infrastructure developers to the same table, speaking the same language and collaborating.
Starting point is 00:03:48 The biggest drawback I see with SI right now is it's not ready. The ecosystem is small, it's not stable for production workloads, and many of the ideas are not fully solidified. It's now time for sponsored news. You've probably heard us discuss warp on multiple occasions. That's because we're fascinated by this super cool rethink of what the terminal should be. Unlike any terminal you've used before, warp is designed for team collaboration. You can save and share your team's terminal docs in a shared warp drive right next to the command line. Everything in warp drive is searchable and
Starting point is 00:04:30 stays in sync so your entire team has what they need for incident response or onboarding new devs. And with Warp AI, you can generate commands from natural language, debug errors, or even accomplish complex tasks without visiting Google or Stack Overflow. Get started today at warp.dev or download the macOS app and let them know ChangeLog News sent you. Inc. published an interesting piece about Apple and how it's upholding its hustle culture while creating a happy workplace. Quote, It's not just that it's willing to splash out on high salaries, lavish offices, or fat benefits packages. What makes a corporate job at Apple so appealing is how cushy its roles are, and there's a brilliantly simple yet highly effective reason why that is.
Starting point is 00:05:19 Despite its fast-paced and demanding hustle culture, that would send many running for the hills. What Apple is doing that employers often overlook is rewarding hard-working employees. Not with more money, a bigger office, or Steve Jobs' favorite employee perk, but the best perk of all that keeps people happy to hustle. Freedom, according to a current employee, and recent Glassdoor reviews seem to attest. End quote. I don't share this story to toot Apple's horn, but because it reinforces something I believe deeply,
Starting point is 00:05:51 that freedom, in its many forms, autonomy, agency, geography, etc., is the most important factor to produce work satisfaction once your financial needs have been taken care of. Seek freedom in your career and afford it to others every time you have the opportunity. Speaking of your financial needs, after coaching hundreds of people through salary negotiation, Aline Lerner published some great advice about two things you must avoid. Both involve how you talk to recruiters at the start of your job search way before there's an offer. Number one, revealing information too early in the game. And number two, negotiating before you're ready. In the linked post, she explains why these two mistakes routinely
Starting point is 00:06:39 sabotage salary negotiation efforts and what you should say to recruiters instead. That is the news for now, but it's time once again for some Changelog++ shoutouts. Awesome! Shoutout to our newest members. Nick H. Jarvis Y. Nicholas H. Dan B. Thomas E. Philip K. Parker S. Bard A. Robert E.
Starting point is 00:07:11 Benjamin. And Michael D. We appreciate you for supporting our work with your hard-earned cash. Give yourself a high five. If Changelog++ is news to you, that's our membership program you can join to ditch the ads, get closer to the metal with bonus content, directly support our work, and get shoutouts like the ones you just heard. Speaking of bonus content, our Steve Yegi episode back in July featured a bonus 10 minutes where Steve shared an epic, unpopular opinion with us. If you're a plus plus member, you already know this, but for the rest of you, we decided to share that bonus with the world
Starting point is 00:07:51 on our YouTube channel. Here's the premise. So, uh, yeah, my unpopular opinion is that Git is awful. It's die, die, die, die. Wow. Why's pretty uncomfortable. Why? Why, why, why? Find the full clip at youtube.com slash changelog. I'll link it up in the companion newsletter as well. All right, have a great week. Share changelog news with your friends who might dig it. And I'll talk to you again real soon.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.