Doubt is not fun. We want to have faith in our direction and doubt is most powerful when we need courage to move forward. When we don’t have the right amount of experience. But skepticism is caution in a different light. An important guard against our inherent risk-taking.
Suspicion is probably at its worst when we’re debugging. 2 a.m. When we’re staring at screens, completely out of ideas… should I do the same? am i eligible? Do other programmers spend that much time looking at problems like this? I should have solved it by now!
Well. Yes. If you don’t go through those feelings, you probably haven’t produced anything interesting and aren’t dedicated enough to push an issue to its conclusion. Yes, falling asleep is the best way to deal with some issues, but sometimes it is not enough. Sometimes it’s not an option and sometimes I can’t sleep until the problem is resolved. Doubt doesn’t die when we kill the bug, you live to fight another day.
I do not want to talk about impostor syndrome, I am not a psychologist and have nothing interesting to say on this topic. I think it’s interesting that the point at which we feel most of it is a long and ugly debugging session. Ultimately, there are many areas where it should be creeping through the day, but it’s universal when talking to developers when we debug.
There are many reasons for this but I think one of the main reasons is that we are deceived when it comes to debugging. We pretend to know how to debug but there is no taught technique. We didn’t learn debugging at bootcamp or university. Maybe inspecting a “step-over” button and a variable. that’s about it. Look at the logs and put your head against the wall.
When we try to fix problems, we still see that process as taking out the trash. We hold our noses and run towards the door. Try not to breathe in the smell. There is no technology. No lessons. no joy. We just need to take a terrible path. No wonder we feel suspicious, we don’t want to be here. We don’t have the tooling to figure it out and we probably aren’t really qualified for it.
Learning debugging techniques and adopting that process will not remove doubts. He is a fixture. But it will make it manageable and reduce the time it takes to rear its ugly head. Resolving issues quickly and effectively provides a level of confidence that only public speaking can counteract.
I wrote a lot about debugging in previous blogs, for example with this series. I’m redoing that work with the hope of easing this particular pain and making debugging more accessible to everyone. Plus, there’s a book coming out, which you can pre-order now…
I am also working on a new course on the same topic to clarify some things which are hard to explain in writing. It will follow the same path as the book. I hope in a small way this will help me with a big pain point as a young programmer.
I have a talk covering debugging techniques in a couple of weeks. last time i gave it the review was amazing,
A solution for Twitter
On a different topic, everyone is going to Mastodon (including me) I’m thinking about improving the situation a bit. The first problem with proceeding with something like this is the lack of material. Many content creators don’t post directly to Twitter. When inspiration strikes we write a buffering tool. It is the number of times it is tweeted/posted that matters more in social networks. Few tools are smart enough to retweet recent posts so people don’t miss them.
Right now the top tools are commercial and they have a lot of problems. No one supports Mastodon. I want to make a free/open source tool like this. Ideally something that is “hacker friendly” and works with Git. For this purpose I tried to work with Twitter API which is nothing less than a disaster. It has many levels and versions. If you do not have a higher access level, you cannot use the version 1.1 API. For version 1.1 we have twitter4j which is simple and excellent. But we can’t use it without the advanced status of the developer account. Looks like everyone responsible for elevating developer accounts was fired. I am also concerned that they will cut down on some of these permissions in the fight against bots.
The problem is that the APIs don’t work well with version 2. Even Twitter hasn’t ported media uploads to version 2, so they expect you to use version one for images and version two for everything else. Documentation is plentiful and unhelpful for anything beyond the most basic use cases. Quite a disappointment. If you have server side social network experience and know what to do with this issue, drop me a line.
leaving the lighter
On a more personal note. I quit Lightrun. I joined the company as the first non-founder and wrote the initial implementation of the server, plugin, and CLI. It’s been a lot of fun but the last few months haven’t been as much fun. Right now I am considering my options. I signed up to write another book I had just started. I am also creating new online courses and working on some OSS projects.
I also have an idea to do something cool in the Java space. I’m looking for it and can make it.
I will be speaking at the ADDO conference, but if you only listen to one of my talks, please join me for my LJC talk. I. as this is one of my better conversations above,