The Trials and Tribulations of Tech and Self-Worth
Why community is the best tool for being a Software Engineer.
I started this year not knowing how to write HTML:
By the middle of January I thought I was a wizard for being able to write this:
<p style = 'backround-color rgb(201, 76, 76)'>The backround of this text will be red</p>
Being able to affect the DOM, in any way, was absolutely wild to me. Twelve months later I can have conversations regarding design patterns and architecture; I've been building my own full-stack applications, on my own and in collaboration with other developers, and I can actually do Leetcode problems. All things I never thought I was capable of. How did I get from there, to here?
</>100Devs
This program has been the crux of my entire year. I discovered 100Devs in early January. Something about a completely free Bootcamp streamed live on Twitch seemed very suspicious, but also intriguing. I started tuning in and was taken aback by the community. The man heading up the show, Leon Noel stresses the important parts of education. Aspects often left unaddressed or understated. One of the big lessons was how important just showing up is. If you're behind, if you're stressed, even if you feel like you can't write a line of code today. Show up to class. Be present even if you can't be active.
The technicals are all skills that every other Bootcamp and bootcamp-like experience covers.
HTML5
CSS3
Vanilla JS
Node.js: A server-side runtime
Express: A backend framework
React: A frontend javascript framework
MongoDb: a non-relational database.
These are not the things that make 100Devs a unique and powerful experience. It's the people. I was welcomed into a community and given a support network unlike any other I've experienced. Why is this such a crucial thing to have? In short, it's because it helps you through the hard parts of learning how to code:
What didn't work for me:๐
Self-doubt
Envy really does steal your joy, and your car keys.
Programming is hard. I don't think many would dispute that. What makes it even more difficult is comparing yourself to others. I've found myself guilty of this many times over the last year: The sixth-month developer, the peers a step ahead of me in the curriculum, and even the twelve-year-old Roblox developer making a thousand dollars a week. (Let's be honest, we're all jealous of this kid.)
This envy tainted my wins and magnified my losses. I thought about quitting countless times. The only thing that kept me going was finding out that I wasn't alone.
Brad Traversy has 2,000,000 subscribers and 189,833,458 views on Youtube, yet he experiences the same doubt that you and I have; the same lows we both will continue to feel. What I realized was the only thing separating me in the present, and my future self being a software engineer was persistence. It doesn't matter where anyone else is at. The question should be: Where am I at? How far have I come? What can I do today, tomorrow, and a week from now?
Being laughed out of an Interview:
A lesson in asking the right questions.
Early on in my journey, I got a reference from a friend in UI/UX design. It was for a insurance startup. I failed to ask the right follow-up questions regarding the role, all I had been told was that they use Bootstrap on the front-end. When I got to the interview, the description I was told was completely different than what I was interviewing for. It was brutal. I found out after the call ended that several of my interviewers were mocking me for my lack of technical knowledge, and my future in this field. Their conduct was unprofessional, absolutely, but I could have saved myself by asking a few questions beforehand:
What is the scope of this role?
What is your ideal candidate?
- What kind of experience are you looking for in a candidate?
What kind of interview is this going to be? A technical? A behavioral?
This interview cast a shadow on my next few months, being a huge catalyst for a period of burnout. I don't regret taking the interview, but I do regret how I approached it.
Seeing it as a sprint, not a journey.
You can't rush an Elephant across a lake.
Is a saying my grandpa always loved. He was a retired sailor aboard submarines in the Cold War; a man born and raised in the swamps of rural Louisiana. He was a helluva hard ass, but he had a wisdom to him that glinted through his thick cajun accent. I wonder what he would think of me in the present, learning programming.
From the beginning of this year, I had the mindset of keeping up with everyone I saw online. Pushing myself to do something outside of my domain of expertise. I pushed, and I pushed, and I pushed. Then the aforementioned interview happened, and all the debt I had taken on from pushing myself like I had weighed on me like a ton of bricks; or just one elephant. That's when It clicked for me. My grandpa's old country wisdom could be translated into something like this:
There is no quick path to a career in software development. There are faster and slower routes, but each one is arduous. Each one deserves respect, the same respect I needed to extend to myself.
This journey will take time, and that's ok*.* As long as I can get up tomorrow and still work towards my end goal.
What Worked for me This Year: ๐
Community:
The backbone I never knew I needed
I wasn't a math kid growing up. I got C's in every science class I ever took as a kid. When I was a younger man, I never thought it would be possible to develop a skill set as I have over the past year. Self-doubt and burnout had always consumed me whenever I made an effort to move outside of my comfort zone. A question that lingered with me all year is," What is the difference between then, and now?"
What allowed me to succeed in a manner I never have before? It was community. I had made friends on the same journey as me; met mentors I could go to for advice. I was given a support system so that when my self-confidence waned, they were there to catch me. It doesn't have to be 100Devs, but having people that believed in me made the difference.
Reaching out: ๐ซด
People like helping those that help themselves
I've found myself at numerous roadblocks throughout this year; technical, emotional, and spiritual. What surprised me was how many people would lend me their time to help, if I just asked. Everyone from peers to senior developers, to badass podcast hosts. Having the confidence to send that Twitter DM, reach out for that coffee chat, or start a conversation at a local tech meetup has truly altered my journey in such an inexplicably good way.
Some of these people I'm blessed to call good friends now. If you're reading this, I owe you guys so much. Thank you for being there for me.
Persistence:
One step at a time
Every journey can be broken up, at a granular level, into a series of steps. Some of the steps can be bigger than others, but what's important is that you're moving forward. This is a lesson that was engrained in me when I backpacked on the Appalachian Trail as a nineteen-year-old punk. Surprisingly, it's also served me well on my path through 100Devs.
Even on my worst days, I attempted to touch code once a day. Whether that was reading docs, trying a coding challenge, or even listening to a youtube video. The feeling of momentum was critical to me. If I took one step forward, that means I wasn't slipping backward. I wasn't letting previous effort go-to waste.
You get to the summit one step at a time, and there are so many people waiting to congratulate you on arriving. Me among them.