I STOPPED EXISTING & STARTED LIVING AS A PROGRAMMER:
“Memory is what makes us who we are,” says Kenyan writer Ngũgĩ wa
Thiong’o – a frequent contender for the Nobel Prize in Literature.
Therefore my blog today is based on memories I have had from the working environment at African Maths Initiative (AMI).
Therefore my blog today is based on memories I have had from the working environment at African Maths Initiative (AMI).
"The most important thing is not to learn all programming
languages, but to understand programming concepts.... you can learn all
programming languages in the world and not be able to program. You may be good
in copy-pasting codes from the internet but never understand what that code is
doing... this is very bad. Alex, what you should be doing is mastering the
concepts of programming...choose one programming language and build on
it." Danny Parsons my colleague once told me.
Once you are proficient in one, then it's easy to switch from
"your" language to others easily.
This is something I have proved. I chose Python, taught myself
from scratch, attempted challenges successfully, and here I am today sharing my
experience after long working hours from my bat cave the “Code Room”.
From my programming experience from classes, I was used to
lectures that left me asking myself “so what next?” With the chunks of code that
lecturers left us with in class. Not understanding what they were supposed to
do, because most of them could give a fatal error. From the working environment
in the AMI office, I have developed a new skill: Learning how to Learn.
Think about how you work with your compiler. When you sit down to
write a large piece of software, do you spend days or weeks writing code, then
when you think it’s all done and completely perfect, press the “compile” button
for the very first time? Of course you don’t.
Can you imagine what sort of disaster would result, trying to compile 50,000 virgin lines of code? (Like I used to do?) I have developed a new skill though: As programmers we work best in tight feedback loops: write a new function, compile. Add a test, compile. Re-factor some code, compile. We get the typos and bugs fixed as soon as possible after generating code. We want the compiler at our side for every little step, playing wingman; some environments can even compile our code as we type.
This is how I am keeping code quality high and making sure my software is evolving correctly bit by bit.
Can you imagine what sort of disaster would result, trying to compile 50,000 virgin lines of code? (Like I used to do?) I have developed a new skill though: As programmers we work best in tight feedback loops: write a new function, compile. Add a test, compile. Re-factor some code, compile. We get the typos and bugs fixed as soon as possible after generating code. We want the compiler at our side for every little step, playing wingman; some environments can even compile our code as we type.
This is how I am keeping code quality high and making sure my software is evolving correctly bit by bit.
No comments:
Post a Comment