A very short point about learning, skill acquisition and mastery.
Having NOT been through the Comp-Sci degree -> Junior Developer -> DevOps Engineer route I have often struggled with the seeming inexhaustible depth of other people’s knowledge around things like networking, object orientation or other ‘hard-won-experience’ type topics.
Sadly my impression was that some people were just “better than me” at being a developer and I would always struggle.
I did however posses just enough good sense, having left a very comfortable position where I had a ridiculous amount of tenure, to realise that this underlying perception wasn’t helping me at all.
I had moments of regret about leaving such a comfortable position where I had ridiculous amounts of tenure, swapping that out for a huge challenge. This became especially problematic when my memory of previous frustrations started to fade. Clearly this way of viewing the world had to change, otherwise I wasn’t going to be enjoying work very much.
Luckily your world and your experiences in it are a reflection of the every-day thoughts you have about yourself and how things are likely to transpire. If you spend time amplifying the negative and stressful aspects of what you are doing it’s going to be quite challenging to enjoy things.
Conversely if you see difficulties as opportunities to grow and you focus on the present moment when thinking about what is going on then at least you’ve got half a chance to approach any given topic with an open and expansive view.
Whether you’re an optimist or pessimist, you’re likely to be correct.
Talking to other, more experienced, developers about their struggles and history you find out that even those with 10-20 years experience feel that they’re always learning and they often experience that uncomfortable situation where they don’t exactly know how to do something. The difference being that they’ve got multiple years or experience and built up intuition about how something ‘might’ have gone wrong or where.
A quick example… Looking at how to define an address for an s3 bucket the variable was written
/s3-iigpoddkhfldfhds which when it was used in the API call to define where to look it resulted in
https:///s3-iigpoddkhfldfhds buried in the debug output. Now, this wouldn’t have even stood out had I been looking at this two years ago but I looked at that and at least thought “hmmmm… that’s a bit odd”.
You argue one of the differences between a beginner and an expert (apart from the ‘skills’ part) as having a larger tool kit of experience which enables them to hone in on a solution to a problem or to dismiss unlikely solutions. The difference is analogous to having a full automotive socket set or just a hammer.
Your own belief’s come to the fore in areas like acquiring new skills, sitting for certification exams or when examining your feelings about whether you’re adding value or not. If you are unable to accept that how you believe about a thing directly influences your results then, as an experiment stop thinking nice things about your partner and focus on all the things that annoy you about them, good luck! Things will quickly go south. Conversely the opposite is absolutely true.
I can’t pinpoint exactly how and when the switch over from feeling under-pressure and stressed to enjoying the challenges happened BUT here are a few of the key realisations I had along the way.
- It’s actually supposed to be hard. In the most fundamental sense, if all these topics were easy then we wouldn’t be in the enviable position of being able to (mostly) work from home and be paid as highly as we are. Recognising that this isn’t a simple set of skills to just harvest from the ground will encourage you to keep going when it doesn’t just magically fall into place.
- You are vastly better at this than you were 6-18 months ago, so keep going. Not only will you improve technically but you’ll improve emotionally. You will have more resilience when it comes to setbacks and be able to recognise that 99% of the time you are able to figure it out.
- I developed a learning plan which focussed on being specific about what I was going to tackle each week. This consists of technical topics outside of what I might be trying to do in my normal job as a way of avoiding burn-out. There’s no pressure there but these are also things I’m interested in learning for their own sake or for some future endeavour.
- I stopped comparing myself (technically) to others. This is a pretty hard thing to do but you need to recognise this isn’t a winning strategy. Yes, be inspired but don’t take it to heart. It’s a journey.
To tie this all back to belief, which is (imho) fundamental… If you look outwards and recognise that it may be a challenge but it’s ultimately all do-able then you’re going to have a far better chance of succeeding than if you let yourself be crushed by un-realistic expectations and negativity. Record your wins, talk to those around you, be intentional about what you’re trying to learn and above all be open and talk yourself though challenges. It will get easier eventually and at least this way you’ll enjoy the journey far more.