Discover more from The Curious Engineer
5 Hard Skills That Will Pay Off Forever
Being good at programming isn't the only skill you need to develop if you want to become a great software developer.
Hey Friends 👋,
While being great at programming is obviously desirable as a software engineer it isn't the only skill you need if you want to succeed in this career. I have met a few developers in the past who have been code magicians but are awful to work with.
They let their abilities go to their head and in many cases end up writing bad code that is overly complex and requires a PhD in computer science in order to understand it.
As with all things worth achieving in life, these skills can't be learned over the weekend and need constant effort over a long period of time. The payoff is worth it though.
The Curious Engineer is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.
1. Stay in the Present 🧘♀️
I know what you are thinking. This all sounds a bit spiritual for a software engineering newsletter but I think staying present is especially important for developers.
If you are being honest with yourself (see below), how often are you thinking about work or a programming issue when you should be spending time with your family?
I hate leaving things unfinished or worse broken. If I can't solve a problem it gnaws away at me until I solve it. This is despite knowing that if I was to take a break and get out of my head for 10 minutes my subconscious would likely come up with a solution for me.
Staying present is harder than ever with all the distractions we have with us 24/7. I am 100% guilty of reaching for my phone whenever I am by myself for more than a few minutes. We seem to always need to distract ourselves from boredom or even our families sometimes.
This doesn't just affect you but everyone around you that you care about. When I had a lot going on at work not only was I stressed on a regular basis but my mind was never 100% in the present. I would be constantly forgetting things much to the annoyance of my wife.
Leave your phone in the other room and sit, observe and listen.
2. Empathy 😊
The "rockstar" developers who are a nightmare to work with often lack empathy. Empathy is about putting yourself in someone else shoes and being able to understand and share the feelings of other people.
Those know-it-all engineers who spend their time picking holes in other people's code rather than actually providing constructive feedback could do with learning some empathy.
People aren't born great developers and some people forget that they too were once clueless and needed someone to guide them.
Generally, the stereotypes are false and most developers are happy sharing their knowledge and helping others but companies have at least one developer that fits the "rockstar" developer description.
3. Discipline and Consistency ✅
We are now finishing week 33 of 2023 and I have managed to write this newsletter every single week this year.
I must admit it hasn't been easy. There have been weeks where I haven't wanted to sit down and write for a few hours whether it be due to illness or other commitments taking up my time.
Even though I enjoy writing this newsletter, if I didn't have something on my calendar and now over 600 subscribers (with a few paid) expecting this newsletter I probably would find an excuse not to write it.
If you can actually manage to show up and do the work every day it can pay off in other areas of your life such as fitness and finance.
I may be doing well with this newsletter but there are certainly other areas of my life that I could do with a bit more D & C.
🎬 YouTube - I have been forced to take August off due to illness, family commitments and school holidays. Next year I will make sure I have a few videos in the backlog so it isn't complete silence from me over the holidays.
🏋️♀️ Fitness - I have never liked sports so keeping fit has always been difficult for me. I am trying to build up my strength but end up losing momentum after a few weeks.
I want to release a course before the end of the year so I need to get myself organised for the last 4 months of the year.
4. Time Management ⏰
"We all have the same 24 hours a day" is a common saying but in reality, many people have commitments that use up most of those hours.
At least 8 hours a day is taken up by work. If you have children then a large part of the morning and evenings will be taken up making food, helping with homework, running baths and reading stories.
Billionaires get so much done as they have people to cook and clean, they have their private gym and nannies to look after their children.
Everyone's 24 hours are different but it is possible to carve out some time for yourself to do the things you want to do in life. Whether it be writing a blog post on the train on your morning commute or spending some time in the evening once the children have gone to bed.
I wish I had spent more time in my early 20s doing things that would benefit me now. Once you have children it does put a limit on how you spend your time.
For example, even though I have a couple of hours after the kids go to bed I can't record any YouTube videos as my home office is adjoining my eldest child's bedroom. I can't record during the day when they are home as they make too much noise! At least I can always write this newsletter.
5. Be Honest With Yourself 😇
Many people, men, in particular, bury their heads in the sand rather than confronting how they are feeling.
We are always taught as kids to be honest but most people don't really stop and think about their own lives and whether they are being honest with themselves.
I went through the typical life path of getting good grades at school, going to university and getting a good job. This is what was expected of me.
However, when I look back, even at the age of 12, I was writing software and selling it online. I value the freedom that entrepreneurship brings over a steady paycheque.
There are a lot of stories that we tell ourselves because they have been ingrained in us since we were children.
Money is the root of all evil
I am not good at maths
I don't have time
If you are actually honest with yourself a lot of these stories aren't true and are likely holding you back.
It is surprising how much of our lives are spent seeking the approval of others.
❤️ Picks of the Week
📝 Article - Squeeze the hell out of the system you have. When it seems that your current architecture has reached a limit it can be tempting to come up with something new that scales better. In most systems there is often some low-hanging fruit that you can optimise that will give you a lot more time to make a decision. People (and ORMs) are usually quite bad at writing SQL queries so this is often a good place to start.
📝 Article - Amazon is racing to catch up in generative A.I. with custom AWS chips. Everyone still seems to be obsessed with AI at the moment which has caused the price of graphics cards once again to skyrocket. We saw the same thing happen when cryptocurrencies were at their peak. It seems Amazon has the right idea and is building custom-made chips for training AI models. It's a shame they will likely stay hidden behind AWS.
🛠 Tool - Metatype. We spend a lot of time putting together boilerplate code and programming can sometimes feel like clipping together different Lego blocks. Metatype aims to reduce boilerplate code with Typegraphs. This looks like an interesting project that is worth keeping an eye on.
📝 Article - The Source of Readability. The goal when writing code is to make sure that your future self or anyone else reading your code doesn't want to murder the writer. Developers seem to pat themselves on the back for writing very concise code, condensing everything down to as few characters as possible. Given that, in most programming languages it is just going to get compiled down you aren't helping anyone. Aways favour readability over brevity.
📝 Article - Amazon warns employees who don't go to the office enough. It seems Amazon has started warning employees who don't seem to be going into the office at least 3 days a week. It is an employer market at the moment with high supply and low demand. It will be interesting to see if WFH comes in favour again when demand shifts.
📝 Article - Carrot Problems 🥕. Spending time and effort on something that isn't going to work. People wonder why they don't get the same body as the personal trainer after following the same diet and workout. It is sometimes due to genetics but in a lot of cases, it is because the personal trainer doesn't want to admit they take steroids. Or the business gurus who say you only need to be consistent to succeed but neglect to mention their large trust fund and the money they spend on advertising.
📝 Article - I Created the Nerdiest Game Ever. This game might not be entirely realistic but I still think it is a good way to learn how operating systems work.
💬 Quote of the Week
When I speak to young people on the topic of success, as I often do, I tell them there's a formula for it. You can manipulate your odds of success by how you choose to fill out the variables in the formula. The formula, roughly speaking, is that every skill you acquire doubles your odds of success.
From How to Fail at Almost Everything and Still Win Big (affiliate link) by Scott Adams. Resurfaced with Readwise.