This is mostly true because software engineers (myself included) suck at promoting the value they actually deliver. The bad choices you didnβt make are part of your value prop.
This is mostly true because software engineers (myself included) suck at promoting the value they actually deliver. The bad choices you didnβt make are part of your value prop.
I donβt watch a ton of TV but just realized the three shows Iβm currently watching are a Bill Lawrence show, a hospital show, and a Bill Lawrence hospital show.
Our nearly 2 year old goes though days like this as well. He likes a wide variety but for some reason heβll wake up on some days and say βanimal crackersβ and would rather go hungry than eat anything else
The code may be the easy part, but it hasnβt lost its importance.
I care less and less about who is producing code and how they are producing it, but the longer Iβve been a developer, the more I care about that code (at certain levels of fidelity), because it has a direct impact on performance, cost, and user experience.
Some people have learned that code was never the hard part and somehow thought that meant code is not an important part. And I donβt think that could be further from the truth.
What an awesome statement to write! I've found that having a strong community can definitely help. And whether it was intentional or not, you've definitely built a strong community around you.
Oh no... lol
I taught myself Rust at one point, but haven't shipped with it and currently don't need to. And for the time being I'd rather not deal with the frustration correctly setting up lifetimes in function declarations (probably a skill issue, but not one I want to currently work on lol).
Currently Iβve mostly been doing JS at work with some Go on personal stuff, but throughout my career Iβve shipped code with Visual Basic, Java, Python, Objective-C, C++, C#, JS/TS, and Go. So jumping between languages is nothing new and I find it fun to see the different tradeoffs and decisions.
But I like the idea of having a core 3 that I can jump between depending on the use case.
This is more hobby and fun for me than anything else. But I do like having a core programming stack of JS/TS for web (and other), Go for web servers, and c++ for desktop. Maybe Iβll throw some more Swift/Java/Kotlin in there as well and eventually expand to more Zig/Rust in areas.
Currently *teaching myself c++ because I have an interest in forking and playing around with some Linux apps to tinker an ideal desktop environment for myself.
*I learned c++ but this was before c++11 so itβs been a while
Important question: was it one of those screams meant to weird out and distract your opponent, a scream saying I donβt know what Iβm doing please help, a roller coaster scream saying this is terrifying but I love it, or a combination?
Itβs a weird feeling because I have so much learned knowledge about the best way to build maintainable systems that it just gets automatically applied when Iβm coding. But when working with LLM I have to take the time to be more explicit in planning. Definitely some pros/cons there.
But in the meantime, Iβm still going to move at a pace that works for me, try to figure out where and how personal adoption makes sense, and continue to observe and learn from those pioneering in the space to learn from their successes and mistakes.
Maybe that will become a me problem where I need to catch up in the way I work (the whole levels of AI adoption thing), but a) I canβt personally justify higher ai tooling costs (especially if prices rise in the future) and b) Iβm still curious and want to grow my skills on the βhowβ things work.
For a side project, understanding how different systems work and what impact they have on the user experience is more important to me than trying to move fast with AI matching some expectations (and completely fair if that is part of someoneβs goal).
Definitely agree itβs the way to go to learn (and would encourage others to try)! But with my work it makes more sense to emphasize WITH AI than BY AI. I donβt think Iβm having AI write any code where I canβt anticipate what the output might be, keeping feature work small, and thoroughly reviewing.
So regardless of how much I do or donβt end up using it, I need to have a full understanding of how to work with and be a valuable resource for the next group of developers so they have the skills to understand system and pragmatically build things as well.
But Iβve found there are differences between using Ai to help build a feature and adopting it at scale in a larger organization, putting the right guardrails and processes in place, and helping more junior devs to continue to learn and grow while theyβre being encouraged to delegate.
Interestingly at work, I rarely code much any more since Iβm mostly architecting systems, helping define the difficult technical aspects of any given feature, and offering guidance to dev teams working on the code. Reading code and coding on my own is what keeps me sharp
As a result Iβm building a side project with a very defined process and rules to make sure Iβm continuing to learn and understand all underlying systems while still accelerating at a pace I find reasonable for myself
I ask as someone who absolutely mourns the way things were, has legitimate concerns, but is also trying to adapt in pragmatic ways for me and for the people I work with. Iβm currently testing flows where Iβm using LLMs as an assistant but being deliberate about not delegating almost any decisions
And does that change on work vs personal or when collaborating with others? I probably have follow up questions to that too lol
As someone who has fully embraced AI (since everyone is at a different part of the journey), what does that process look like for you? When AI completely codes for you, what decisions are you delegating to the LLM to make vs what are you being more intentional about? And how do you draw that line?
This along with Accelerate and Pragmatic Programmer are among my most recommended tech books. Excited to revisit the second edition!
WWHD
Yeah I bounce back and forth between Following and For You quite a bit only because I still see the threaded replies in Following
Working in large corporations and the language is always satisfying a shareholder before satisfying a customer - and more often than not the goals are not aligned.
I hadnβt read either of these articles before, but completely believe them to be true. And am deeply saddened by that fact.
Iβm guilty of spreading the hoax but Iβm not sure Iβm sorry for it!