I started off as a print designer. All my first projects that I took on were print, my college courses were all visual design, and I only had a high school understanding of programming (which really meant that I had none at all).
I wasn't originally looking for a full-time job with web development, but just wanted to be able to use the design skills I had built up. Sure, I was picking up a couple of freelance print projects and working part-time at a restaurant—but I knew that I needed to move forward.
I could not find full-time work. No matter where I went, the city I was in had nothing for me. I knew finding work as graphic designer would be hard, but this was stressful.
My only advantage was that I loved learning about the web and how things worked. I was terrible at it though. Everything I touched I barely understood and I broke things constantly. I struggled building through my first portfolio site. I didn't have any mentors to help and didn't really know what stackoverflow was. I wouldn't have been able to say that I was a web developer then and looking back now I can't imagine finding work like that.
I kept at it though. A year passed and I had moved cross-country and was still working at another restaurant. This time, however, my portfolio site was actually working! I had made some progress, but in all honesty it wasn't that great yet. Then I got lucky. I found work for a search engine optimization company. They didn't mind how little I knew, all they cared about was ranking well in Google and needed someone to manage mountains of WordPress sites. It was part-time, but I could finally give up washing dishes (salvation at last)!
They didn't need me to do too many things that were difficult, but I got to see WordPress and the intricacies of php. I also got to see just how much money running even a mildly successful site could get you. I mean here I was barely knowing how WordPress works, attempting to run a website that was pulling in $10—15,000 a day. Holy crap! I didn't realize at the time just how much work went into getting those figures before I came on-board, but they must have trusted me enough to not screw it up.
I didn't think I stood a chance at getting any interviews. I thought they would see my portfolio site, see that the code was messy and move on. I was wrong and went through 3 sets of interviews for a university job as a marketing and multimedia designer. And somehow I ended up with the job. My first full-time job and included both design and code! I couldn't have been happier.
Did I consider myself a web developer then, after getting validation from this huge job upgrade? No, I felt like I just got lucky and that they didn't know enough to know that I knew very little.
So here I was at this job picking up where the last guy left off and getting to know my new role. Since I worked for a university now I met with a lot of interesting people. A software engineer there named Randy was one the geekiest people I've ever worked with. And I loved it. He taught me all about the set-up for the website, security, and just tons and tons of different things. He was my first mentor for becoming a web developer. I had been going it alone for so long I never knew how much having a mentor would help. If I could go back in time and give my past self some advice, it would be to find a good mentor sooner.
The first year there I probably bugged the crap out of Randy, I was just a sponge soaking up everything I could learn from him. I learned so much so fast that I started becoming pretty confident. Eventually I started going to Randy for help less and less and became more helpful to him, taking on projects that would normally be going to him. Surely by then I considered myself a web developer? Barely. Even though I knew that I had more skills than a lot of other people who considered their self a web developer I needed to gain a few more fundamental skills.
The one thing that I knew that I needed to fix was relying on my mentor so often. Even though I was going to Randy for help less and less, anytime some new situation came about I had to fight the urge to go and bug Randy about it. I needed to develop problem solving skills.
I realized being a web developer isn't as much about what you know, but more about your approach to solving problems.
I refused to go to Randy for help for a year or something (minus a few occasions) and came out so much stronger for it. I learned how to debug php, dove into chrome dev tools, and just in general how to do good research. I realized that I had been using position: absolute incorrectly for the past 2–3 years, which blew my mind for some reason (an element will place absolutely based off of its parent if the parent is set to position:relative).
So if you asked me when I felt that I had become a web developer, I would tell you that it wasn't when I learned html or css or php, it was when I could figure out my own damn problems.
My advice for somebody wanting to become a web developer would be this;
- Learn as much on your own as you can
- Don't wait until you think you're ready to find a mentor
- Get as many skills as you can from your mentor while still respecting his time
- When you've soaked what you can from your mentor, cut the cord and figure it all out on your own
- Also remember to give back and be a mentor to someone else
Now that I don't bug Randy anymore with my own stupid problems, he doesn't sigh when he sees me coming. In fact we're great friends and when I do come it's usually to talk about anime.