From 0 to 100 in 1 Easy Step
Michelle Sandford
Developer Engagement Lead @ Microsoft - Azure Data Science & AI Certified GAICD
As many of you know, I've been spending all my free time re-learning learning to code. I found myself enjoying going back to basics because... well, in truth, I kinda skipped over the basics the first time round.
I transitioned to Computer Science from a Philosophy Degree by doing an intensive Masters Degree. I learnt to code in more than 5 languages in one year with C++ being the main language we had to work in, and Prolog the one I used for my dissertation. I found it really difficult to understand how lines of symbols on the page could make something happen in real life. And without being able to "see" how one thing enabled another thing in a practical sense - it was really tough for me to build stuff that worked. Looking back, I'm amazed that I passed, and passed so well.
While all you twenty and thirty somethings are sniggering at me, remember that in the olden days we did not have the internet. All knowledge was available to us only through these things called "Books" and if you didn't have a lot of money, the books you had access to were several years old. Which, in Technology, is as good as providing someone with a piece of flint to start their car instead of a key.
I wrote a chat-bot, because that made sense to me. I could see the inputs and the outputs. I could think about how a machine might translate the world. I'd always loved English Literature as a topic - the narratives, the plot-lines, the characters, and how they interacted with each other. But I'd hated Grammar - the rules, the structure by which language makes sense. But... when I was 13 my grandmother helped me switch into a selective school, that gave my education a massive uplift. Against my better judgement, I learnt those grammatical rules and learnt them good [JK: I know, I learnt them well]*.
I also started to love mathematics - not all of it, obviously not Integration, but I loved algebra, solving equations - moving the symbols around on the page to get the one beautiful solution**. That was fun, once I understood the rules. So, in fact, the basics for learning to code were all there - I just hadn't made the connection in my mind.
Somewhere along life's journey we pick up the idea that looking stupid, that failing in front of others is the worst thing that can happen. This means to be cool, you have to act like you understand everything already. That bored expression that says "yeah, yeah, I get it, move on..." is the ultimate fashion statement. Or perhaps, more correctly, the ultimate self-defense mechanism. But it is also the ultimate dis-enabler. It makes you afraid to ask questions. It strengthens the persistent fear that you are the imposter in the room, that everyone around you knows so much more than you, and they are going to find out one day soon what a fraud you are***
What I notice now, from the most successful people around me, is that they are not afraid to ask questions. They ask people to slow down, go back, explain something in simpler terms. They'll ask someone to show their work, or provide an example - not because they are trying to criticise them or pick apart what they are saying - but because they want to fully understand the concept - and they cannot do so under the current assumptions of what they already know. And here's my hot take - displaying an open interest in what people are talking about is sexy. There are very few things more flattering than someone looking at you with genuine curiosity, and asking you to talk more...
In technology we don't like overexplaining concepts. We presume people have knowledge that they don't have and leave helpful context or explanation unsaid. After the "hello world" examples, we optimise our content for superusers. Beginners are forced to make that massive leap to intermediate on their own.
And reprogramming my brain to slow down is really hard. I find myself skipping the intro and skimming through the initial chapters until we can start doing something, showing evidence of progress and building something that has results. But then at the end - I have something, but I still miss the basic understanding of the how and why it works - and how I would convert it into a slightly different thing. If someone asked me to explain what I had learnt - I would have some useful tips and tricks - and be able to share some ideas, but the grounding is not there - and I have to go back to the start and do it again. Usually 3 or 4 times because I am fighting my brain the whole time. It keeps telling me there is no time, I have to "hit the ground running", I need to show results, tick boxes, turn everything green.
During my free time, learning to code at my own pace, on topics of my own interest - I find I am enjoying it more when I remind myself it is my own time, and I can take as much of it as I see fit. I can tell myself it's ok to go back and do the course again. I can ask people questions, and I'm finding their explanations shed light in a way that adds value. That I don't feel stupid for asking them, but I feel happy I have learnt something.
And so my hot takes for the year:
- Slow down,
- Ask more questions,
- Be kind to yourself
- Allow yourself to take an active interest in what you learn
- You don't have to know everything on day 1, and you'll be more confident and feel better if you take your time understanding things at your own pace.
If you are interested in learning to code (and anyone can do it), I made this #GitHub repository with links to recommended content that will help you start, get involved and learn a little something every day:
If you like it, don't forget to click on the Star in the top right hand corner of the page
*****************
*To any Americans judging my use of the word "learnt" - know that I am English, and so it is correct.
**There is usually more than one correct solution, usually there are between 3 and 5 known ways to solve a problem. There might well be more, as yet undiscovered ways. Mathematics is beautiful in that you can always get to clear solution if you persist, but even more beautiful in that, no matter how you view the world - there is a solution that makes sense to your brain. It looks like a topic that is entirely black or white 0|1 but in fact, binary is only one way to interpret the world, and mathematics is the ultimate example in diversity of thought - the longer you study it, the more you realise you do not know.
***Do not listen to that voice inside your head that tells you that you aren't good enough. That voice is not your friend.
Michelle Sandford works for Microsoft. She is the Chairman of the Australian Computer Society in WA, a Tedx Speaker, a Tech Girl Superhero and one of MCV's 50 Most Influential Women in Games. You can follow Michelle on LinkedIn for her articles; on Twitter for events, interesting shares and occasional commentary in 140 characters, Facebook to see where she is presenting next, YouTube for Video's and Instagram for the life of a Microsoftie in photographs.
Product Owner at Spenda
3 年So good! I have a tendency to try to get to "the end" of something... but... there actually is no end! ?? there's always more to learn.
I am a creative industries executive with 20 years of experience in the screen and live performance sectors.
3 年Great post Michelle!
Business Analysis
3 年What a fantastic piece! I love what you wrote about learning at your own pace. So many takeaways I want to re-read it straight away ??
Technical Specialist | Cloud & DevOps | Owner at Progressionem Pty Ltd
3 年Brilliant post. Slowing down in an ever evolving tech space is hard but good
Data & Technology | Energy & Resources
3 年Great article Michelle and resources, I can definitely relate.