Re-learning to code

Home / Blog / Re-learning to code
Re-learning to code

I miss writing code. That’s why I decided to pick it up again. Since last month I prioritized my wishes and tasks in such a way so that I can code for at least 30 minutes a day. I remember how much I liked coding 20 years ago. Also now that I practice UX every day, I want to be able to go that little bit further and create prototypes with actual code and not only in prototype software. I just want to be able to create working front-end code and maybe jump in once in a while to help the front-end team out when I can.

Another reason why I want to get back into coding is that I want to help and teach my kids (and others) out with this very important skill. I think it’s just as important for kids to understand coding as to know how to read and write.

I know what you’re thinking: “Why did you quit coding?” Let me tell you what happened.

Assembler

It started when I was 17 (my year of birth is 1979…). I really liked computers, it all started with MSDOS. My brother and I were playing around with computers night and day and I decided that I wanted to know how to create a computer program. I decided to study Technical Computer Science. Not only I learned how to create actual pieces of hardware and electronics, I also learned about program languages. My first “language” was the pre-historic Assembler, a low-level computer language that’s more like a set of machine instructions than an actual language.  I remember that I had to write lines and lines of code to print the sentence “Hello World” on the screen. I was so proud of myself when the characters appeared on the screen. A-MA-ZING! Look, I dug up the actual assembler code for “Hello World”.

************* Assembler code for "Hello World" **********************
section	.text
   global _start     ;must be declared for linker (ld)
	
_start:	            ;tells linker entry point
   mov	edx,len     ;message length
   mov	ecx,msg     ;message to write
   mov	ebx,1       ;file descriptor (stdout)
   mov	eax,4       ;system call number (sys_write)
   int	0x80        ;call kernel
	
   mov	eax,1       ;system call number (sys_exit)
   int	0x80        ;call kernel

section	.data
msg db 'Hello, world!', 0xa  ;string to be printed
len equ $ - msg     ;length of the string

***************************************************************

Pascal

After Assembler came Pascal with it’s signature begin and end instructins. I had a friend in class, who was really good in writing code in Pascal. He even created a game for his little brother. I was so impressed that, when I think about it,  that was the moment in time where I tripped over my coding threshold. Ik was 17 jaar, perfectionistisch, zeer onder de indruk en daardoor heel onzeker geworden want waarom kon hij dat nou “zomaar” en ik niet? Waarom leek het allemaal Abcadabra voor mij? Ik vond het steeds moeilijker om in de klas, zittend naast die vriend, zo te stuntelen tot ik op een gegeven moment alleen nog maar thuis wildeprogrammeren want daar zou niemand me op de vingers kijken.

I was 17 years old, a perfectionist and very impressed. This mix of facts made me incredibly insecure. How could it be that this friend “just could code”? Why was it al gibberish to me? It became harder and harder for me to sit in class and try and code while everyone could see what (stupid) things I was writing. I even decided to only code at home. I just didn’t want to feel stupid in class anymore…

**************** Pascal code voor "Hello World"**********************
program HelloWorld;

begin
 writeln('Hello World');
end.
***************************************************************

About the insecurity and need for perfection. Watch this Ted Talk by Reshma Saujani on why we should teach our girls bravery and not perfection. Must see for every parent.

Java

Despite my insecurity, I still wanted to proceed my path in computer technology. After my Technical Computer Science study, I went on with my bachelors in ICT. I was introduced to Java. I… love… JAVA! I got hooked on the language and even spent one whole summer coding day in and day out. (The summer vacations in the Netherlands last 6 weeks…) I really enjoyed creating graphic shapes and fractals with Java. In that time there were no giant online resources like forums or chats where I could look for helpfull information. I only had a book and I even remember the title: (free translation) “And then there was Java” by Gertjan Laan. I still have my copy lying around somewhere. I read it over to cover and enjoyed every chapter of it. Very happy memories.

************* Java code voor "Hello World"**********************
public class HelloWorld {

    public static void main(String[] args) {
        // Prints "Hello, World" to the terminal window.
        System.out.println("Hello, World");
    }

}
*************************************************************** 

C++

Then C++ came around. This was the first time trying “Object-orientated programming”. I struggled, I was out of my comfort zone and was concerned about what other classmates would think. I froze once again. (Exactly what Reshma is talking about in her Ted Talk.) I was also in a sad place in my life, a dear family member got very ill and other sad events had happened which threw me off my game. During that time one of the assignments was to build an editor in C++. Something like the Notepad editor. And instead of jumping in and trying to figure out how to make it work, I sat back and wondered what kind of editor it had to be for the user. Who was my user anyway? No attention was given to this side of the application development and that’s exactly the moment that the UX designer in me woke up.

************* C++ code for “Hello World”**********************

#include 

main()
{
    cout << "Hello World!";
    return 0;
}
*************************************************************** 

PHP

The classes on C++ were done and we went on with PHP, which was very hot at that time. During my internship in my third year, I developed a form generator. It was my graduation assignment. one could generate a form by dragging blocks of content onto a grid. The form could be stored in a database and also printed. Although the generator worked, I wasn’t proud of it. It wasn’t my best piece of code, I didn’t enjoy making it because at that time my thoughts were at home. At home where I, together with my mom, took care of my very ill grandma who sadly died a few days before my graduation.

************* PHP code voor "Hello World"**********************
<! --php Print "Hello, World!"; -- >
*************************************************************** 

from coding to UX

It has always been my dream to go to the University. The day had arrived! After my bachelor’s degree, I finally got to go to my beloved University. My interest in coding had drastically decreased since the sad events in my life and I chose to steer away from coding. (When I look back at that decision, I’m not sure if that was a rational decision. Maybe I didn’t want to do anything with coding because it reminded me of a sad time in my life… who knows…). Anyway, I remembered that I was interested in why someone wanted to use a piece of software. Why would one use it? How could it help someone with a task? I wanted my Master study on this topic and found a study at the Amsterdam University called: “Human Centered Computing” (later: Human Centered Multimedia). At that time the term User Experience didn’t exist yet… And this is how my path in ICT bent into UX.

from UX back to coding (with UX)

Here we are in 2017 and I took a good look at my dreams, wishes, and my needs. And it’s time I listen to the little voice inside me who’s reminding me of the great feeling I had while coding in Java.  I  now have two great motivations to proceed my coding adventure: 1) Coding to enhance my UX game 2) Coding to teach my kids and 3) Coding to show my 17-year-old self that it isn’t about making something perfect in one go. I’ve learned that it takes practice and a lot of time before getting the hang of things. And nothing is perfect for the first (or second) time. And…that…. is… ok…..

Cheers!

Francesca

Leave a Reply

Your email address will not be published. Required fields are marked *