I recently started a new chapter in my career - training to become a software developer. I enrolled in General Assembly London Web Development Immersive course, a three-month program to train complete beginners to professional junior developer standard. Here are some thoughts on week one.
The Learning Environment - Is a large building in Whitechapel. The classrooms accommodate 20 people very comfortably. There is a large shared area and events room. Different classes mix after hours to do homework. All in all, it’s very pleasant and functional. The Teachers - We have three great teachers. Gerry is the experienced course instructor. He’s been with GA since almost the beginning. He knows his stuff. He’s just the right balance of funny and serious to make sure we learn a lot but also enjoy ourselves. Nick is the teaching assistant. He is a recent grad of the very course we are studying. He knows what its like to be in our position and can give us insights into the process. Rob is a training instructor. He has a way of making you slow down and actually consider why you’re doing what you’re doing. Gerry leads the class from the front whilst Nick and Rob make sure no one is falling behind. It works well. Diversity - Our class has 18 students, of which 7 are women. It’s not a 50/50 split, but it’s a more even split than I expected (and that the tech industry is used to). Without knowing people’s age explicitly, it seems to be a good mix here too; anything from recent grad to middle ages desiring a career change.
Starting New Habits
The first week has felt like a process of learning a whole load of new habits, including:
- keyboard shortcuts
- using the terminal (instead of GUI)
- indenting code
- saving everything, all the time, continuously
- refreshing everything, all the time, continuously
- committing stuff on git, regularly
The technical terms are not important. The point is that in order to become a good developer, you need to learn a lot of new habits. And in order to build habits, you need to practice them regularly. Week One has been a lot of telling myself “don’t do this, do that instead”. Which brings me on to…
Breaking Old Habits
In order to build new habits, you need to break old ones. This includes:
- Doing anything with your mouse/cursor that could otherwise be done with the terminal
- Doing anything with your mouse/cursor that could otherwise be done with a keyboard shortcut
Do you find files using Spotlight? There is the terminal for that. Do you switch tabs using your cursor? There is a shortcut for that.
You also need to break bad habits. For example, not asking a question when you don’t understand something. This happened on day one. I felt it, and so did others. But by day three everyone has got over this fear and is asking questions freely.
Week one has also been a crash course in how to manage your life, or not. You’re on campus for 8 hours. Plus 3 hours homework. Plus commute. Plus eating. Basically, there isn’t much time for anything else. On day two I put some clothes in for a wash. On day 4 I found them wet still in the washer. Oops. But our instructors tell us - its a marathon not a sprint. Remember to sleep. Remember to switch off.
Learning New Principles
To be a good developer, you also need to learn the right ways of thinking. Some include:
- DRY Code (Don’t Repeat Yourself) - Can this be abstracted and used again?
- A Good Developer is a Lazy Developer - Can it be optimised? Is there a quicker way? Can we only do it once?
- ILGTFB (It’s Late, Go To Fucking Bed) - Our class came up with this ourselves when we found ourself doing homework late into the night.
In short, you need to not just act like a developer, but think like one too. This means being open to changing your current mental models.
One week in, and I can already say that GA has been the most intense learning experience of my life. It’s fast-moving, relentless and exhausting. But I’m already beginning to see the promised reward at the end. What I felt hopeless at on day one, feels more comfortable by day 5. I’ll report back after week two.
You can see the other posts from this series here: