I struggled through a coding bootcamp, polished up a mediocre final project and got hired at a start up that was gambling on low salary bootcampers to find a unicorn. I lazily coasted through a corporate buy-out that left me over-valued because of my "domain knowledge". After 4 years of learning very little, I'm owning my dev journey and working to get better and share with others.
4 years ago I graduated from a 6 month coding bootcamp called Galvanize. I was closer to the bottom of my class, and always took up offers for after class workshops to help struggling students understand concepts the rest of the class seemed to get immediately. I worked hard and made some awesome friendships, and managed to make it through the whole thing with a lot of help from my peers. Before we "graduated" (unaccredited af) we created capstone projects to present to our cohort and a handful of prospective employers who partnered with Galvanize. My project was an overly ambitious app called "Desk" that had a calculator, notepad, contacts list, etc. It was really just a cobbled together group of "hello world" tutorials and libraries that I slapped some CSS on. (Here's the splash page if you're curious.) The site had a busted FB login page, I couldn't get my DB set up properly, and I didn't really understand a lot of the frameworks I was working with. I also massively underestimated the effort it would take to build what I really wanted.
By the time the presentation day had come, I had removed all backend logic, (the "login" page was all for show), and when you closed your browser, the session would lose any and all data. It was 95% CSS with loads of dead node.js code. So naturally I did my presentation as if nothing were wrong, carefully traversing the minefield of bugs and things that didn't work. I was insanely nervous, but it went alright, and it looked more put together than it really was (like a lot of engineers you'll meet out there). If you want to watch and cringe knowing what's really going on, here ya go...
After the presentations, everyone in our class met with a few companies and recruiters that came out to maybe hire juniors. I was unbelievably fortunate to get scheduled for an interview at a small local company. Five or six of my Galvanize friends landed interviews as well, and I happened to be scheduled as the last one. When each one finished their interview, we all would swarm in to hear the horrors of what we might be in for at the mercy of the dreaded whiteboard. Everyone shared what their experiences were, and they all seemed to be focused on similar topics with matrixes and arrays and hoop-jumping circus acts. So I found as many coding challenges as I could that seemed to be in that wheelhouse, and prayed to the gods that I studied the right stuff.
When my number was up, I met with some really nice senior engineers that did their best to put me at ease and make it as painless as possible. They gave me a problem on the whiteboard that thankfully was matrix related, and had to do with finding a duplicate or something like that. I got it super wrong. Even after studying pretty much that exact problem I totally biffed it. But what I did do was explain my thought process and vocalized what my logic was to get me in this completely wrong rabbit hole (ex: I rephrased the question and wrote it on the board, broke it down into small pieces and wrote those goals down, and then talked about what I might do to solve each small little piece) In having that conversation, the interviewers were able to probe my thinking and give me pointers. Those exchanges helped to ease the stress of the experience. A conversation is always much easier than a performance.
After my brain fart was erased from the whiteboard and it was all over, they thanked me and said they'd be in touch. A very stressful week later I found out that they had offered me a junior dev role that I grabbed onto like a life preserver. I really, truly felt like I had gamed the system. Like I lied to them about who I was, and what I could do. Even outside of my capstone project being misleading and maybe even dishonest, I thought myself a fraud of massive proportions.
I should know all this stuff right? I don't think I can explain what problems Node solves, I can't even remember the syntax to a "for" loop without googling it. Most of the code I've written that works was copy-pasted... Who am I kidding?
Every day for the first 2 years at my job I felt like I was putting on the same front I did when I presented my capstone. I tried to avoid topics I didn't understand. I tried to get assigned work that didn't highlight my shortcomings. Most days I was incredibly paranoid that my ignorance would come to light and I would be scoffed at and shown the exit. But it never happened.
I just kept following the status quo set by my coworkers, and those feelings slowly started to be less pervasive. I became familiar with our companies systems and painfully outdated tech stack enough to hack around and make things work, but I wasn't much of a better developer than I was when I started. I was just learning what other people did to hide their lack of knowledge and understanding.
I learned that jargon was better than terminology, a blog post title could give you ammunition to belittle the decisions of others, being a senior engineer meant being able to deflect work by spouting abstract complaints about architecture choices, and that being a developer meant writing unsustainable code and claiming that if "they" wanted it done right, they should've given us more time. It wasn't a healthy environment to learn in, but I inevitably absorbed some of those toxic ideas.
We were eventually acquired by a large corporation that promised to bring change, but it never came. Promises of better leadership and opportunities were unfulfilled, and work went on like it always had.
Now four years later, I feel like I've barely moved the needle at all. I let stagnation get to me and poison my work ethic. But I'm done with that. I need to take control of my own journey, and that's what I'm going to do.
We are so incredibly lucky to be where we are today as developers. We stand on the shoulders of millions of brilliant people that have made engineering and the web what it is today. And we have a community of people that want to help and share and grow together. We live in an amazing time.
I'm really excited to be starting a new chapter in my development journey that is focused on self improvement, learning, and positive creativity. I'm looking forward to sharing with and learning from all of you along the way.
To anyone starting out who might be struggling, I want you to know that every single successful engineer you look up to has felt the same fears and doubts you feel now. It takes a lot to push through, but you can. Never ever quit because you think you're not good enough. You are.