I started my coding journey when I co-founded an ecommerce/manufacturing company six years ago. We needed a "tech guy", and I was the closest thing we had to it at the time. Far from an expert, I built our first site on Wordpress and struggled to even get things to work.
Over time, I built up a little knowledge, bit by bit. I started wrapping my head around HTML/CSS, using Treehouse to learn the basics. When we moved our site to Shopify, I learned more through customizing our theme. It wasn't great. In fact, it was full of hacks and poorly written garbage (be nice to your former self!). It was another 3 years of slogging through the muck on my own before I would get any real code training from a human being.
I was fortunate enough to be able to go to General Assembly's full-stack boot camp. My mind was blown open when I realized everything I was missing working by myself. Having other people's eyes on my work, if only for 3 months, propelled my knowledge forward by leaps and bounds.
Since that intensive course, I've been back on my own. The struggle is real. Here are some of the things that I've found to be the most difficult as a dev team of one:
This is true for everyone, but especially when you're working on your own. Working on a team, you're exposed to new ideas with a much greater frequency. You'll hear terms you don't know, you'll get suggestions about a better way to do something, and you'll generally have more guidance.
Working by yourself? You're going to be flying blind most of the time. If you want to get feedback on something, you'll have to seek it out. You're going to have to devote a lot more time to research to just get to a baseline awareness of concepts.
No really, how? I can't tell you. I can
git add .
git commit -m "whats the point of this part"
but I couldn't tell you why it matters for me, other than I need to do it to deploy to Heroku. Obviously on a team, it's crucial. Working by yourself? Well, I'm sure there are benefits, but I sure could not explain them to you.
It's one of the many reasons any future dev hire will hate me, but it is what it is. I don't know how to use git.
It's a constant challenge to keep your code clean, especially when no one is there to hold you accountable to it. You know deep down that your future self will thank you for tidying up, but you also have to get it done. If someone else is going to be looking at it, you want to make it so they can understand it. On your own? It's a whole new level of discipline required!
Every developer is going to hit a wall at some point. Your code isn't working, and you just can't figure it out. If you're working on a team, you can tap someone on the shoulder and ask them to take a look. By yourself? Google. Google again. Ask a question on Stack Overflow and pray for a response. Send a tweet. Google again. Walk away. Come back. Pull your hair out. Then find that missing bracket. Rinse and repeat.
It doesn't help that my office is in a windowless basement, but that feeling of isolation comes mostly from knowing that no one else in my company really knows what I'm doing, how I'm struggling, or how to help. It's real.
Team accountability goes a long way in keeping you motivated. It's something you just can't rely on when you're coding by yourself. It's up to you to make sure you get things done and ship those features.
If there was an easy fix, I wouldn't even be writing this. I can tell you what I'm working on in hopes that it will help: find your tribe. I'm lucky to live in a place like Denver where the developer community is strong. I'm making it a point to get out to events and meet people when I can (though that comes with it's own set of motivation problems). I'm also trying to get more involved in online communities like this one. The weekly #DevDiscuss twitter chat has been great to help me feel less alone!
Are you a solo developer? What are your struggles, and how do you fight through them?