I learned to code online but I learned to think like a programmer from people
I’m a web developer at Social Finance Digital Labs in London. I began coding two years ago when I was looking for a post-baby career change. While my baby was napping, I worked my way through classes on Skillcrush, Codecademy, FreeCodeCamp, Udemy and Chris Pine’s Learn to Program.
After three months of learning online, I set my sights on a coding bootcamp called Founders & Coders, which I completed in early 2017. Over the time I’ve been learning and working, I’ve read a lot about how programming is a mindset. I’ve noticed is that this mindset is best absorbed from actual people. Following are some of the most helpful things I’ve learned about coding from people.
The google search engine is a dev tool
The first coding course I did was a web developer ‘blueprint’ at Skillcrush. The three-month course included weekly office hours with a (remote) mentor. Most of us were new to coding and as you might expect, we experienced considerable frustration. Most of us felt we needed more contact time to get unstuck.
Our mentor explained that we needed to be able to find most of the answers for ourselves. She advised us to keep our precious contact time for questions not answered on StackOverflow. These days I paste errors I don’t understand right into google, and most of the time I get an answer immediately.
You can read more about how to search for answers to your coding questions in this FreeCodeCamp blog post.
Do not give up
Next, I joined a community of learners, called Coding for Everyone, with a truly excruciating chat room. Learners met in the chat room to share tips and help each other with their code problems. The reason most of us were there was because we were hoping to be offered a place in Founders & Coders, a free coding bootcamp in east London.
Participation in Coding for Everyone was a prerequisite of the course, as was completing coding problems on Codewars. At one particularly discouraging moment, someone told me to write the words ‘Do not give up’ on my notes, and underline it. It was weirdly and unexpectedly helpful. I still do it.
You can read more about the importance of persistence in coding in this Code.org blog post.
Develop a growth mindset
I attended a bootcamp at Founders & Coders in late 2016, and it was a great experience. Something I learned about myself during the course was that I had a tendency to stop listening when the material became confusing. As you can imagine this was quite often. I noticed that I would turn to the person next to me and say ‘What are we doing?’
After a while, I realised that I needed to change my unconscious assumption that I couldn’t understand. My peers were unfailingly generous in catching me up, but I decided I didn’t want to be that person anymore.
The attitude that needs to get to every level of your consciousness is that technology is not magic. You don’t understand it yet, but you will. It’s fine that you feel confused, but it’s not okay to stop listening.
Assume no knowledge but infinite intelligence
This slogan comes from Codebar (thanks Codebar!) and it’s the attitude of the ideal coding mentor.
The first piece of paid coding work that I did was funded by Outlandish, a tech coop based in north London. I worked with another developer to build an app for youth homeless charity Centrepoint. After months of learning, it was exciting but intimidating to write code that someone might use, and that someone would pay for.
Our work was periodically reviewed by a developer from Outlandish, and it was one of the best learning experiences I have had. Our mentor was generous, thoughtful and exacting in his feedback.
He treated us as intelligent and capable people with great capacity to learn. He gave us detailed examples of how different patterns would play out, allowing us to choose our approach. We started to grasp the purpose of some of the patterns he was teaching us. Further, his respect motivated us to work harder and take more risks.
Read more about the relationship between knowledge and intelligence in this brief but sound reflection from A List Apart.
Learning to code is an adventure, and it’s fantastic that most of it can be done online. I hope that access to free and low-cost education will improve opportunities for groups presently hovering on the margins of tech.
If you’re on that path, I encourage you to get out there. Go to meetups and hackathons, attend a course or conference if you can. Try to work with others. They will develop your ability to persevere and your belief in your ability to learn.