Happy New Year, LVEC readers and fans!
I apologize for the lull in posts, but it’s certainly been for a good reason: I will be returning to my homeland, Massachusetts, at the end of January to be closer to my family and friends. It’s been a rough time being away from them for 7 years while I lived in Portland, Oregon, and the unexpected loss of my mother on my birthday in 2014 compounded that roughness. I’m excited to be back with my family and friends, and eager to see what the next chapter in my life will bring!
2015 brought a lot of huge changes in my life. I like to reflect on my activities and accomplishments on a regular basis, and the new year offers a unique opportunity to look at a broader range of time. It’s good practice to count our gratitudes, successes and failures in the short term, but often even more thrilling to examine them as part of the bigger picture.
In terms of web development, there are a lot of tools out there to “gameify” the learning process. We are equipped with tools to able to better quantify our progress now than even a few years ago. But what about the progress that isn’t directly tied into learning or proving your aptitude in a new skill via a short quiz (i.e., Treehouse‘s challenges, or Free Code Camp’s Waypoints/Bonfires/Ziplines?) These accomplishments are still major, and personally, the best way for me to recognize them is to write about them.
As this was my first year breaking into the web development industry, I fortunately didn’t have a lot of leeway to call anything a failure, per say. Virtually everything I did was a success! Not because I did it perfectly, or because I made money from it, but rather because I didn’t know how to do it before. I learned a lot from the experience, and have some tidbits to pass along to individuals who are kick-starting 2016 with a determination to learn to code.
Here are a few lessons I picked up during 2015, the whirlwind year where I made my hobby into a full-time career.
Develop A Learning Routine
This is the greatest benefit of starting to learn to code, and working intensely at it over a short period of time: you will learn so much, and do so much, that your accomplishments will pile on fast… and with very little room for actual failure.
If you enjoy web development, then you’ll without a doubt work with languages and frameworks that you love… and others that you hate.
I recently finished a very good book called Manage Your Day-To-Day: Build Your Routine, Find Your Focus, and Sharpen Your Creative Mind (also available for free to Amazon Prime members!). I really wish I had read it earlier in my learning, as it covered in the first half of the book the importance of establishing a routine for your education and work as early on as possible.
What does routine look like when learning web development? From what I gathered, it looks something like:
- Doing something toward your education every day, even (and especially) when you don’t want to
- Creating a place for yourself to feel excited and motivated
- Minimizing distractions, and knowing how to bounce back quickly from the distractions you will inevitably face (family, friends, work)
(and perhaps most importantly…) - Setting boundaries and effectively communicating your goals to those around you
The last one in that list can be especially difficult for some depending on your environment, but I didn’t find it particularly difficult. I was firm, and explicitly informed those around me that I would be dedicating my time and energy to this endeavor. They would have to come second for the foreseeable future, because I was putting myself, my education, and my career first.
Once those expectations were in place, it was easy for me to make the other three happen. I live on my own, and although that is about to change at the end of this month when I move back to MA, I have a supportive family unit that is ready to help me make my dreams come true.
If you don’t have this supportive network immediately around you, don’t fret! Supportive communities can manifest themselves in other ways, and I’ve detailed some of the communities I’ve found later in this post. Additionally, supportive networks and communities are not always related directly to what you are doing.
Also, keep in mind that the individuals in these supportive networks and communities may not know how to code themselves — my family certainly doesn’t! Personally, the Wellesley alumnae community has had my back in my endeavors from the start, and I haven’t even met most of the individuals cheering me on! (At the very least, I am always here to lend an understanding ear and any advice I may have to offer. 🙂
Build (And Maintain) Momentum
Although I had been working at HTML and CSS for a while — a couple of years off and on via Treehouse — it wasn’t until June 2015 that I really decided to buckle down and do the dirty, hard work. Earning nearly 12,000 points on Treehouse within just a couple of months boosted my confidence greatly, and provided me with some skills that at the very least sat in the back of my mind for later retrieval when necessary.
There have been periods where I put down my coding for longer than I would have liked. I got burnt out, I went down a road that I didn’t entirely feel comfortable with yet (hello JavaScript frameworks and Ruby on Rails) and had to turn around and go back. But when you really, really love doing something… you will always find your way back to it. Most importantly, after dropping and returning to coding several times, I eventually started to recognize the patterns and warning signs that I wasn’t going to last long.
Coding is hard. It’s as hard, if not harder, than losing weight for some people. You are going to question yourself at every turn, you are going to feel inadequate, and you’re going to fight off some really terrible imposter syndrome.
This is where momentum, and its value, comes in.
When I’m working every day, keeping on my coding and learning routine, I am still accomplishing my goals. I know it’s okay to take a day off here and there, but the only person I’ll be hurting if I allow myself to lose focus on a project is myself. Working on intense, larger projects doesn’t really even allow for it, and even the best of commenting practices often won’t save you.
You know the advice floating around that says to “sleep on it” if you’re running into issues with your code, or solving a problem? Yeah, that only really works if you’re a) sleeping or otherwise in some kind of flow state, and b) going to come back to your work. Walking away from problems is probably the #1 reason why newbie coders don’t succeed at completing projects, and I’m definitely guilty of it myself.
So, develop your routine, commit to it, and when you’re stuck… there are ways to work around it!
Know How to Get Un-Stuck
Okay, first things first: when you get stuck, it means you’re on the verge of growth. It doesn’t mean you’re dense, or unable to learn.
Think about it. You’re learning a new skill, and your brain doesn’t yet have the knowledge to solve a particular problem. Perhaps you need to throw your learning hat on top of your problem-solving hat (you can wear two hats while coding… trust me), and go find your answers. They’re out there — you just need to find them.
I find that adding some very good comments on what exactly I’m having issues with helps me if I need to put my code down for a while and think on it. Also, whiteboarding a solution on paper. Often, I imagine stepping outside myself, reassuring myself that I know how to solve this issue… but maybe just need to go shopping for some new tools.
Walking away from problems is probably the #1 reason why newbie coders don’t succeed at completing projects, and I’m definitely guilty of it myself.
Where do I look for answers? Google searches, Stack Overflow, coding blog posts, and live chat are just a few places to start! If you use Free Code Camp, or even if you don’t, you should join their Gitter chat and join the community of members who are in the exact same boat you’re in. There is a complete list of chat rooms here.
Facebook is home to some excellent communities of newbie coders, as well. Friend and all-around awesome coding resource Laurence Bradford of Learn To Code With Me recently created the Facebook group Newbie Coder Warehouse for we self-teaching and bootcamp sorts alike. The group is super-active, and helping others is an excellent way to reaffirm your own knowledge!
Just don’t throw in the towel and give up. At this point, you have very little to lose, and much… much more to gain.
Participate In a Hackathon
I participated in my first hackathon in 2015: the We Code Women’s Hackathon, hosted by Nike and Puppet Labs, here in Portland, Oregon. I had less than 60 days of intense coding experience under my belt at that point, but pushed myself out of my comfort zone.
Despite not having an $?!ing idea what I was doing, and frequently wondering if anyone would notice if I just kind of… you know, left… I’m glad I didn’t. My team, Lucky 13, came in first place with our project, Ask a Code Queen. I even wrote a bit about the experience here, though I didn’t get too technical with the process. I still talk to my teammates, and they’re some of the coolest chicks I know.
My true point here is that I was terrified, but I survived and came out far better for the experience. I felt like I had nothing to contribute. I was wrong, and you likely will be too. So, make 2016 the year that you put your knowledge to the test, meet some amazing new connections, and break out!
…and don’t forget to have fun!
As soon as web development stops being fun for you, you’re doing something wrong. If you were previously having fun, and now you’re not, ask yourself, “what changed?”.
- Are you just uncomfortable with something new that you branched out onto?
- Not finding the kinds of resources you need?
- Getting frustrated by demands from outside circumstances (work, family, school, etc)?
- Just not liking the way something works?
Back up, and take stock of what you enjoyed the last time you were having fun. Maybe this is what you need to stick with, and it’s just the universe and your brain telling you that you found what you’re comfortable with. But again, don’t let it break you. If you enjoy web development, then you’ll without a doubt work with languages and frameworks that you love… and others that you hate.
Also keep in mind that you may be pushing yourself to learn something that you’ll rarely, if ever, use. If this is the case, drop it and move on. Your sanity and enjoyment is not worth losing for a technology that isn’t going to make a big impact on your life anyway.
In Closing: Code The Hell Out of 2016
Development and design positions are still popping up everywhere, and that isn’t going to change anytime soon. I am looking forward to my first in-house development/design role, and the growth opportunities it will unquestionably afford me. For my own personal enjoyment. For my career and earning power.
Enjoy these awkward beginning steps, because you’re only going to become more adept from here on out. Start projects you have no idea how to complete. Ask questions. Break code, get frustrated, then fix it. Don’t be afraid, and for the love of Octocat, don’t compare yourself to other developers. Look up to them, and learn from them.
I am a new developer with a lot to learn… and the best of the best never stop learning.
Do you have advice for folks starting 2016 with resolutions to learn to code? Reflections of your own on learning coding in 2015? I want to hear about your experiences! You can keep the discussion going in the comments below, on the La Vie en Code Facebook page, or via Twitter @lavie_encode. Happy coding!