tl;dr;
Care less, Buy a dog, Go to the forest and shout at trees
As a developer it is very easy to become swept up in problem solving, imposter syndrome, comparing ourselves to those around us, office drama, overwhelming deadlines, obviously Covid-19 and how that has affected our lives and so much more.
I think for some people that are developers and this is a generalisation that some may not feel, we are viewed as people that have an extremely easy lifestyle and we just play table tennis 95% of the day, watch YouTube 4% of the day and make buttons on screens the remaining 1% of the day then we get to finish early and go grab some sushi with our other dev friends.
This doesn't usually leave us much room to complain about some deadline that we are scared we might not meet or that one runtime bug that you just can't squash or that crushing feeling that you have no clue what you are doing 99% of the time and you feel like you spend all your time copy pasting the code of smarter people from Stack Overflow and when you reach a point where that doesn't work and you have to dust off the cobwebs and flex your own brain it can't seem to get past 1st gear.
I think as we are usually painted as highly intelligent people that can solve complex problems like putting a button on a screen and making it clicky click, people often assume we have all the answers in our big beefy brains and will never have that feeling of inadequacy but throughout my career I can remember vividly all of these times whereas I struggle to remember my "rockstar" moments where I absolutely crushed some issue or made something that saved a colleague a bunch of time.
Then I remember that this is extremely common for most people regardless of their career path.
Do you remember that time you ripped your shorts in High School in front of the whole class, I guarantee you do but I guarantee that hardly anyone else in that class does. This is because as creatures we always store these traumatic events in our mind and other people don't have the space to remember your traumatic events because they have their own crap going on up there.
So the next time you say something that you think is "stupid" in a meeting full of people that you assume are better than you or commit some code that you think is the worst code ever or get asked a question that you don't know the answer to just remember that although it may be painful now after the moment has passed there is a high chance that no one but yourself will look back on that moment. The important thing in that moment is that you use it as an experience to learn something.
Remember when you were a kid and you were learning to walk, remember how many times you fell over (probably not because you were an infant but you get my drift) that traumatic experience is what allowed you to learn to walk, so if the same very basic logic is applied to your professional development and every time you make a mistake, do something outside your comfort zone, take a risk that doesn't pay off or just do something that 5 minutes later you are like "Why did I commit that, oh no people will think I am a moron and I am sure to get caught out as a fraud" (yes I've been there) then please try and ask yourself these questions:
If I did this again, knowing what I know now, what would I do differently?
Did the world end because of what I did?
Did I do what I did because I thought it was the right thing to do at that time?
Did the world end because of what I did?
Is probably the most important question I ask myself whenever I make a mistake.
It is very easy to get yourself all worked up because you committed something like the following
if(thisBoolShouldBeFalse)
{
DoSomethingThatShouldHappenWhenBoolIsTrue();
}
else
{
DoSomethingThatShouldHappenWhenBoolIsFalse();
}
Now unless the code above is the main logic behind some kind of nuclear device then the world probably didn't end because you committed that and it made it through PR and then out to users for a day until it was highlighted.
Hey we all make mistakes and sometimes as "Developers", "Engineers", "Evangelists" or even "JavaScript Ninjas" we don't always like to show our flaws because often our imposter syndrome is so crushing that we feel even one tiny mistake will push us off our elitist pedestal that we have placed our self on, the best developers that I have worked with are the ones who will make a mistake and then find it and be like "Haha look at this crap that I wrote here is what I did to fix this..."
If you adopt the above approach then I feel like a lot of weight will be lifted from your shoulders because honestly the majority of us developers even though we may be scary on Stack Overflow are really nice people at heart and we just want to see those around us succeed.
It is ok to feel overwhelmed.
It is ok to feel scared, I feel scared when people talk about stuff at a very technical level because my mind works best at "beep boop I make computer go now" and large architecture diagrams, "lets talk about algorithms", "what design practice did you use for X?", acronyms for acronyms sake and Big O scare me a lot and I used to pretend that I knew all this stuff until I asked one day "What does that mean?" and the dev answered "I don't know either haha"
It is ok to know what you know and also what you don't know but it is also ok to not know what you don't know, our environment as computer wielding ninjas is always changing and it's ok to not be super up to date with stuff that's why the internet exists we live in a time where any information you could ever want is literally available in a TikTok video, as a meme or as a blog post so cramming books into your brain might not work for you, that doesn't make you worse that the other dev that devours O'Reilly like they are California Rolls (circle of life it all begins and ends with sushi)
The main thing to remember is that computers are just rocks that we tricked into thinking and if at the end of the day the world is still spinning your code can't have been as bad as you thought it was.
Find your people that you can talk to, I often use https://devrant.com to rant about code and other stuff that happens that were I to talk to a non developer about they might just not get it, sometimes you just need to shout about stuff and get someone that is like "I know right".
Ok, nice Ted Talk get to the good bits.
As I live in Scotland, a mostly beautiful country, and because I am very much not a city boy (I grew up in mostly farm lands where there are very little computer based jobs, check it out here if you are interested https://goo.gl/maps/m1FQbhnY3KBu4W1e7 & https://en.wikipedia.org/wiki/Dumfries), I like to escape to the country, now that has been difficult given the current restrictions so I have had to do some digging around what is available where I live now, this in itself is a joy and I have a list of places to go to now.
I usually just go to Google Maps, turn on satellite view and try and find anything green or beachy that I can drive to under the current restrictions.
I have been able to find some pretty sweet forests that are usually fairly deserted and as I got a lockdown puppy (a black lab named Luna) I like to take her walks through the quiet wooded areas, up some hills or over large moorland.
This gives me the time that I need away from screens and I can truly feel disconnected for a period of time. After the working day is done I make sure to put the lid of my laptop down and try take at least 30 minutes away from people and screens, this gives me the time I need to become centred again. If you can spin around 360 and not see another person then even better it is time for some soul cleansing shouting.
I feel like that's enough clichΓ©s for one blog post but to conclude:
- Find your people that you can have open honest discussions with
- No matter how small or insignificant you feel your problem is it is always best when shared often philosophical ruminations will only eat away at you and like the avalanche that begun with a snowflake it can very easily overwhelm you
- Never apologise for asking what you feel are "dumb" questions, if it is important to you it should be important enough for those around you
- Don't let your mistakes eat away at you, 99% of the time you will be part of a team of developers that are there to catch you if you fall, use them and learn from your mistakes because we all make them
- Imposter syndrome happens to even the most seasoned developers, there will always be stuff that you don't know, you are not an Encyclopaedia of knowledge, you are an unfinished autobiography.
- If it all gets to much shouting at trees can help
- Care less about what other people think because they are probably caring too much about what you think of them to even care about what they think about you.
- Sometimes the oldest clichΓ©s are the most applicable to blog posts. That's why pencils have erasers, a problem shared is a problem halved, sometimes mistakes that you think you've made can be perceived as moments of genius from others viewpoint, fake it till you make it etc
If anyone would like to chat about any of the above or any feelings they have around imposter syndrome etc then either drop a comment below or fire a social media message at me, links should be in my bio because we are all in this together and some of the stuff that you are feeling right now high chance is I will have felt it to or are currently going through it.
The above is anecdotal from my experience as mid level engineer and is in no way targeted so I hope it can be taken in the way it is supposed to be taken, a light-hearted jab at some of my misfortunes and shortcomings to take the edge of an extremely sensitive subject for most and hopefully break down some walls or anxious feelings that some may have to be the catalyst for a discussion point, if we all open ourselves up to the idea of making ourselves look "stupid" then it hopefully breaks the feeling that it is such a bad thing to do.
If you would like to see more random pictures from my adventures I usually post stuff on my Instagram here: http://instagram.com/granthair96
I will also hopefully follow this up with a "Here's the stuff I don't know in 2021" post similar to Dan Abramovs "Things I Donβt Know as of 2018"
https://overreacted.io/things-i-dont-know-as-of-2018/
That article really opened my eyes and made me realise that because I don't know how to convert binary to hex, because I don't fully understand what a strategy pattern is or because I don't understand how routers work and now I'm too scared to ask it doesn't make me less of a developer.
Thanks, I hope this was of help for some π
Top comments (3)
Quick update... I had a lockdown baby and now I don't have the time for feelings haha
Learning to be kind to yourself is an essential life skill. We are all human, we all "fail" at times. Such is life.
Learning to navigate your own emotional landscape is worth it. Mindfulness skills are valuable. Of course, I advocate meditation (see below), but also exercise, adequate rest, good diet and so on.
PS I love Scotland having lived there for seven years - it really is beautful!
codingmindfully.com/ultimate-guide
This is me everytime I see shit code I've written xD
Hey, very good advice here. In the end, we are not machines, we can't know it all. Let's try to accept it and live with that, not easy though.