Below are some of the things I discovered while learning to code:
Being an island is a waste.
Understandably people like to experience the feeling and credit of single-handedly solving an issue all by themselves but never asking for help or being unwilling to accept advice from others is not a good practice. Having a good network of people willing to show you how to do something can save you hours of trying to reinvent the wheel. It’s worth utilizing them.
It is supposed to be hard.
Feeling lost and uncomfortable are the hard feelings that come with learning something. It’s easy to interpret these feelings as something being wrong, like thinking that you may not be smart enough to understand what you’re trying to learn. This is probably not the case. There is nothing to be done about these feelings. Just sit with them and know that they are normal.
Practice over talent.
Everyone starts out being bad at it. “It” can be coding, performing music, math, cooking, building a shed, anything. Steve Wozniak, Mozart, Frank Geary, Thomas Keller; all had to practice. Our society fetishizes innate talent but everyone who is better than you at something is so because they practiced. Don’t be fooled into thinking you don’t have the mind/gift/temperament for something because the person next to you can do it effortlessly. You have to practice to be good at something. You have to practice a lot to master something.
Take your time.
Often people will see a large problem in front of them and throw their hands up claiming the solution is beyond them. Taking some time to understand how things work is 90% of the solution.
Fail fast.
Failing results in two things. Firstly, it allows you to adjust your workflow. You can identify your misunderstanding about the system quickly and change it. Secondly, eventually, it reduces your fear of failing which is powerful. Letting go of the fear of failing allows you to attempt anything. Fear of failure has almost no value.
Keep your house clean.
What I mean by this is don’t let small issues turn into big ones, nip things in the bud. This pertains to your code as well as interpersonal dynamics while working with others. People shy from this for many reasons; it seems like a bad ROI, it’s awkward to bring up upset feelings with others, etc. However, problems rarely solve themselves and almost always get worse if they are neglected.
Be nice, be patient, be kind.
This is the most important one. Your most valuable currency is how you affect other people. Being right doesn’t win you as many points as being reasonable and flexible. If you are generally new and terrible at what you do, your kindness and likability can carry you far. If you are awesome at what you do but in general you act like an asshole then you better be really fricken awesome at what you do because people will only be tolerating your presence because of your skill. So remember, be nice, be patient, be kind.