This blog has gotten dusty since I have been too busy finishing up my time at General Assembly. I already miss going on the train to SF, drinking a variety of teas, and attempting to figure out how to use a new framework with my classmates (*nostalgic sigh*).
In true listicle fashion, here are things I’ve learned in the past few months, both technically and emotionally:
- Learning to code web applications is *so* much more than just mastering the syntax and writing algorithms. It’s also about the framework / other tech you’re using and understanding its documentation; it’s about data structures and the underlying computer science that helps you determine how things work; it’s about breaking down your problem into questions that you can Google/StackOverflow. And much more than that, to be honest. It’s a never-ending, but exciting rabbit hole to fall into.
- Growth mindset, y’all. As an ex-Khan Academy employee who preached the growth mindset in classrooms (and even created a lesson plan for teachers on the topic), I felt a deep empathy for my middle-school math students when I was going through this course. I kept having to tell myself: Learning is hard, and if it’s not, you’re probably not doing it right. My biggest stumbling block was with the implementation of the Model-View-Controller concept. I realized that I had to be intensely resourceful and do additional homework to really understand it. It’s silly that even as an adult it’s easy to be discouraged by basic struggles in learning a new concept. However, being raised in an environment where I was programmed (pun intended) to think that natural intelligence was more valuable than effort, I have to regularly remind myself that learning is supposed to be difficult.
- Specificity is key. I constantly think about a talk that one of my former coworkers (Laura Savino) gave about the importance of specificity in both programming and life. Once you narrow down your problem to its most detailed form, it becomes more manageable to tackle (both emotionally and mentally).
- Code with people and find communities that support you. I’ve found that especially with coding, learning with others is so beneficial. Even as an introvert, simply talking my problem out loud with others can move me forward. I also realized that when two different people are learning the same new technology, they find out totally different things about it and both of you learn twice as much. As a new programmer, getting involved in a community with both experienced and junior level developers can open your eyes to new technology and/or different ways to do X (note: not the drug). Just because there is an endless amount of information online about programming, it doesn’t necessarily help you in the same way that talking to actual humans can.
- Pseudocode. Draft. Refactor. Repeat. (Isn’t it cute that this is a recursive function?) This is true with any art, and just as true with coding. Cowboy coding works for a little while, but it sucks in the long run. It’s better to know what direction you’re going, systematically finding a way to get there, and then polishing it up in the end.
Next blog post to come…Probably something about MAPS! Be excited.