I was listening to the APT Podcast and in the last special episode they talked about "Nuggets of Wisdom". If you don't know this podcast, please give it a try. It's amazing and it's been on my podcast list to listen weekly since they started (and that was quite a while ago).
The specific episode that I'm talking about is for premium users, but it's quite worth the subscription. I renewed mine yesterday and it was worth the money every time I pay it.
I wanted to contribute to this and give my own take of the things that they discuss plus some of my own. The talk in the podcast centers about development and I am a developer for all intents and purposes, but I also wanted to give my perspective as a project manager as well, so you'll get hopefully a 2 in 1.
I will do my best to flag when the opinions are from the hosts of the podcast or my own, but there are a lot that I agree so if you don't see something explicitly flagged as their opinion it's not that I'm taking their ideas for my own, it's just that I missed the specific instance of attribution, so apologies if that happens.
Hope this helps you and let's go.
"Nuggets"
Different sizes of nuggets but no one told you that you need to eat them all at once 😃.
Please do 2 things at the same time
I wrote an article a while ago about "Do 2 things at the same time by doing 1 right" so I won't repeat myself, but the gist of it is: don't try to multitask, that's impossible despite what all the self-help gurus and "AI experts" out there tell you. It's better to be a bit thoughtful about your tasks and bundle tasks together so that tasks that cross multiple areas and solve more than 1 problem at a time would be your priority. This way you would be doing 2 things at the same time by doing something that easily can be applied to multiple places.
Stupid example, but trying to bring the point home. If you have a dinner party you do a list of all that you need for it. You also do a list for all the things that you need for daily life. When you go shopping you buy things from both lists, not only the one that is urgent like the dinner party happening tonight. You would be crossing at the same time things from both lists.
I know that this is a given but I see a lot of people doing this in their lives, where they focus on the most urgent tasks and ignore the overall picture, so ending up "going shopping twice" because they didn't check all the tasks.
Copy and Paste Things
This was something that John mentioned and I tend to agree. I can't tell you how many times people (myself included) make mistakes because they wrote things instead of copy and pasting things, even if they are small. We are all a bit dyslexic especially when it comes to numbers and flipping a number could be as disastrous in code as well as in a presentation or an Excel spreadsheet.
I go as far as saying that we should have keyboard shortcuts that are always the same that we can change over time when things get updated. For example, your address is boring to type but using "addr" for example with a good keyboard expansion tool would write your whole address. Then in the case that you change it you can keep the muscle memory and still use the same shortcut but with a new result.
No one cares about your code
This was from Marco and I agree, but not only for code. No one cares how you generated a report or how you managed to organize yourself to do things. People care about the end result only.
If you have an archaic way of doing things that you can deliver quality and works for you, then use it. The time that it could take to change could never justify the time spent implementing a new solution just because its more modern.
You need to balance doing a good job and creating or using great tools to do your job but also be aware that people only care about the end result, not how you got there.
Move slow and don't break things
Still related to the previous one, but one thing that I don't agree at all is the facebook mentality of moving fast and breaking things. Even for huge companies this could be disastrous, let alone for small projects and single people development teams.
Having a decent strategy from the start is important since you can't afford the luxury of spending time refactoring things when things get busy. If you have your clients waiting for you to deliver features because you're refactoring old code because you didn't think about things, or shifting servers around because you just moved fast, that's a problem for you.
I'm not saying that you should deploy a google level infrastructure for your app in the remote possibility that your app goes viral, but it's important to have a decent structure in the beginning knowing that if things grow you can at least quickly swap parts or add more capacity to accommodate for success.
It's a tricky balance but it relates as well to the Marco advice about "long term maintenance". This also applies to your projects, like managing the team. If you're 2 it's fine that you can use a single excel file, but be aware that if the team grows and more tasks start coming you should be able to quickly move away to a tool that allows more people to work.
Try the hard thing
Casey hit the nail on the head with this one. We need to try the hard thing and figure out how to do it. Everyone can do easy things, but not a lot of people can do the hard thing. Nothing to add here, his point is great.
Step back and think
In an age of LLMs it's easy to just throw prompts at claude and expect your problems to be fixed. Also, it's tempting and it's even a practice recommended by Claude's developer. I'm including some quotes because they were posted in X and don't want you to use that horrible website, but here's the original in case you want to read it.
I run 5 Claudes in parallel in my terminal. I number my tabs 1-5, and use system notifications to know when a Claude needs input
I also run 5-10 Claudes on https://claude.ai/code, in parallel with my local Claudes. As I code in my terminal, I will often hand off local sessions to web (using &), or manually kick off sessions in Chrome, and sometimes I will --teleport back and forth.
This is not the way to go.
You're splitting your attention so much that you end up allowing claude to run without having the time to think or check the results.
Stop and think is the most efficient thing that you can do, even if you start working a lot later in the process. My experience is that the time spent thinking is not wasted, quite the contrary.
Having everything organized in your head, and ideally in your task manager, would allow you to work on things (see above with "Please do 2 things at the same time") in parallel where you know the end result. The same (or especially) if you have a team. Think and organize things before discussing or distributing tasks to the team. The end result is better.
There's a reason why a coach exists and "move to the end line and score" is not the advice.
Minimize dependencies
Marco makes a great point here, but again, this is not only for software development. If your workflow depends on 50 tools, then you have a problem. What if one of them goes away or shifts strategy?
I read recently that Allbirds, a shoe company, just shifted to be an AI compute provider. Yes, you read that correctly.
Again, this is a fine line as we all need tools to do our job, but how many tools? It's worth doing an inventory once in a while to see what tools are we using and what would happen if one of them goes away.
Learn Continuously
I wrote about this a while ago because I believe that "With AI You need to know more not less".
Spending time learning each day, even for a little bit, brings you forward. LLMs are amazing and are taking over the world but your mind should be cultivated and new ideas don't come with prompting claude for "give me 5 ideas to make money".
Learning is the difference between seeing a good opportunity or not. Learning can generate new ideas or even allow you to understand that something could be a bad idea.
Knowledge is the best way for you to analyze risk and not shoot yourself in the foot constantly.
Investing in AI and putting all your workflows in a technology that is still finding itself, for example, can be super dangerous. But not putting some effort in understanding how things work can be dangerous as well.
Don't be an asshole
Do I really need to explain this one?
Store stuff for later
I like to write all the ideas that come to mind regardless of how stupid they are. I put them all in a list to revisit once in a while. Some of them can become things that I apply to help clients for example, others for articles to write and others are still there waiting for things to change, and things will change.
You never know when something that came to you a while ago while you were in the shower thinking can be your next big opportunity. Or something that is big now that can become achievable down the line.
I know it's a bit abstract, but just write stuff down. You never know and it's also funny to revisit things that you thought were good ideas at the time. Win-win.
Final Thoughts
Again, can't recommend enough the podcast. Please go there and join, because they are doing an amazing job.
I hope this helps you and I'll update the article once in a while if I see something that should be here.
Photo by Cherry Laithang on Unsplash
No comments yet
Be the first to share your thoughts on this article!