Learning to code can be tough, deciding what to learn while learning to code is tougher. I remember after finishing my bootcamp there were several things I tried to do. I tried learning Python, Java, Go, Rust, AWS, and every new tech that people were talking about on Twitter. I guess I was trying to become that magic unicorn developer that some of these job postings want.
This had a very adverse affect on my interviews. I had things on my resume that were nice flashy keywords but when asked about them I couldn't explain much more than the regurgitated tag line I read at the start of the docs. I couldn't explain what they do, how they work, or why I could choose to use the technologies. I mean I couldn't really say that people were talking about it on Twitter so I used it could I?
The problem here was that I was learning way too many things at the same time and not actually learning a thing. My mind wanders, I get distracted by cool things and sometimes I can't help it. I might be hyper focused on one thing sometimes and then all of a sudden lose interest and focus on something else entirely.
During on specific interview I was told to bring in a project that I worked on and present it and talk about the tech that I had used to build it. Looking at their tech stack I decided to bring a project that I was working on based on a tutorial all about Postgres, GraphQL, and React. I had a decent understanding of React at this point and not a great understanding of either Postgres or GraphQL.
I couldn't answer any questions about the underlying tech. Couldn't explain how to build new queries for more data in Postgres. I mean I just followed what the tutorial told me to do on this cool tech I found out everyone is learning.
I was focused too much on the flashy cool things and not enough on the fundamentals behind why these things are working or why these solutions exist.
Technology is constantly changing and there is always going to be something new to learn. At the beginning however it is always better to focus on the boring stuff, the fundamentals, the things that aren't that exciting. Those skills are what is going to help get you into your first role so you can then, if you decide to or need it for work, learn some cooler tech.
After that disaster of an interview I took a couple weeks to review the fundamentals of JS/React and really just focused on the fundamentals. I tried recreating tutorial projects by myself, doing focused small projects instead of larger ones that might not get done and that eventually led me to my first job as a dev.
Now I find myself diving into and learning about web3 in an effort to switch careers into this space. The entire web3 ecosystem is shiny and new and I find myself at times slipping into old habits of wanting to learn something new every other day. Or really every other hour if we're being honest since this space just moves that rapidly sometimes. I remembered everything from the start of my journey a couple weeks ago and I became determined just to refocus on one aspect of the web3 world. I am already a frontend developer, so I decided to focus on looking at how I can use my frontend skills to interact with blockchain technology while learning the fundamentals of it and teaching it to others.
It's been almost a year since I started actively trying to look into this tech and I keep going back to the fundamentals like I did before. Learning about Solidity basics over and over and teaching them to others is what is really helping me, and as of writing this I'm waiting to see if maybe I might be landing a full time role in the web3 space.
Those shiny objects are everywhere, even among the shiny objects you are trying to focus on there are glints of brighter shininess that might distract you from the bigger picture. The best results usually come from having a general understanding of the shininess but focusing on the less exciting aspects that help you keep everything else exciting.
There was definitely a pun or metaphor there that I failed to get at but hopefully the point still came across!