Honest thoughts on my ongoing coding journey

Gracia Kleijnen
11 min readApr 4, 2018

Directly upon graduating back in 2014, I wrote my first “Hello World” program on Codecademy. I played around on here for a bit, but did not give coding much further thought, and left it as it was. Back in 2015 I touched my first lines of ‘real’ code first at a Rails Girls workshop, and the weekend after at a Django Girls workshop. Thanks to the great organisation and friendly coaches at the Django Girls event, I felt very encouraged to learn and was accommodated very well. One coach here in particular, Daniel, whose name I will forever keep mentioning as my starting point, helped me out that much that I actually started to believe that people can learn this stuff, and, also not too unimportant, that even I would be able to learn this stuff. He particularly inspired me because he also came from a non-formal background, but stayed persistent in his quest and made a switch nonetheless. And so my journey began.

At a Rails Girls event receiving help because I didn’t know what the f### I was doing.

Daniel at the time recommended me to get started on Learn Python The Hard Way by Zed Shaw. It was a good starting point, since the appendix had an introductory course on how to navigate through your computer via the terminal. My first small programs were written in Python 2.7. Looking back at them (still on my GitHub in case you want to laugh at my code and feel better about your own), there’s some slight embarrassment. The lines of code are nothing more than a bunch of if-else functions. At the time though, I was super proud of my mini-adventure games. Half way through the book, it got weird. I remember not getting classes and inheritance and the general idea behind OOP. So I put the book away.

During my Learn Python the Hard Way period, I was unemployed and impatient, but eager to start something completely new (despite lacking skills and knowledge to get hired). With the very limited amount of knowledge I gathered by then, I wrote to 40–50 tech companies in Berlin, asking for the possibility of doing an internship, including a link to my GitHub and CodePen accounts. Very surprisingly, they either:

  • sent me a standard rejection email
  • or didn’t send me a response at all.

There were actually two companies out of the whole who seemed to be potentially open to the possibility of having me on board. One eventually opted out, the other took the time to send me a serious email with constructive feedback (which I will forever remember and appreciate). Looking back, I should’ve known better, I still had so much more learning to do. On the other hand, if you have nothing to lose at all, why not just try?

What came after this was a long period of unemployment and being stuck in ‘tutorial hell’. I touched and tried learning from a lot of different resources, such as HelloWebApp, going over the Django Girls Tutorial again, playing on Treehouse, Udemy and FreeCodeCamp, to name just a few.

A blog CMS with Django from the Django Girls Tutorial. Such professionalism, so wow.

This year I visited the occasional meetup and workshop, and dropped by at co.up quite regularly, especially at the Python Meetups, but basically, no real progress was made. I also wasn’t putting in enough work. Getting a job at a tech startup (but not in development) marked the end of my unemployment period. The prospects were nice: learn meteor or mongo, we’ll support you. Reality turned out differently. During my time here, the exaggerated work hours made it impossible to do anything else but work, eat, sleep, repeat. Forget about self-study, there was no time for that. Forget about any study on the job, since the customers were the highest priority and developing my skills as an employee was rated rather low on the priority ladder. At some point I started to literally do the work, but in my dreams. It was consuming my thoughts and life. Calling it unenjoyable was an understatement. That was a sign it was time to move on.

After this job was over, I went back to what I know, and what I’ve always been good at: copywriting and translating. This new job turned out to be much better to manage, time and energy-wise. What that means: I got back to having mental capacity left after work to study code on my own time.

Last autumn, Women Techmakers Berlin organised a two-month JavaScript Crash Course. The information on Meetup and the website stated that the course was suitable for beginners. It started off like that. The first lecture was easy to follow. Attendees got to write variables, functions, objects and have these interact with one another. After that, we dove deep into Node.js. We discussed callbacks, promises and async programming, implemented the Express framework, connected our app to a MongoDB database, to name just a few. During the last lecture, we deployed with Docker. With my own ‘app’, I failed this final step. After each lecture, we were given homework. The lectures took place every week, so if you wouldn’t keep up with the homework, you’d be screwed and have a hard time catching up or keeping up with the new contents.

Hiding in a fully packed audience at the first JS Crash Course lecture in 2017 at King. Pic taken by Vlad.

This is basically what I did throughout the entire course. I was in over my head and always a week or two behind on homework. You could always go back to check out the recorded lecture again, this was definitely a big plus. The quality of the materials is outstanding and you could and still can endlessly revise. I was still struggling but I refused to just give up. I kept coming and stayed with my main goal: to keep learning. Which I tremendously did. With an unbelievable amount of mental breakdowns in the first couple of weeks due to hitting ceiling after ceiling, not understanding how components work together and not fixing the problem ‘fast’ enough. The amount of mental breakdowns gradually went down in frequency throughout the course.

At the graduation event, I decided to face public humiliation and show everyone how ‘far’ I got. I was nervous, used too many filler words and fiddled two minutes trying to fetch a page by continuously refreshing it while looking at the wrong route. So of course it didn’t work. This didn’t matter though. The crowd and all fellow attendees had been nothing but supportive throughout the course and tried to help me during my presentation when I made a mistake.

Secretly terrified of public speaking, holding onto the mic for my dear life, showing the others how far I got with my app. This was the intro.

As soon this course was over, I could grant myself a small break. That is, a break from backend programming with Node.js. I got granted full access to the Udacity Front End Track! The timing was perfect. It started immediately after the JS course had ended, meaning I wouldn’t have split my time between projects. Over the next months, I spent my free time on going over basic HTML, CSS, JavaScript and jQuery. It was a good opportunity to strengthen my foundational knowledge. The track was rounded off by building a pixel art maker. I found this harder than expected. I had to work with event handlers to dynamically create a grid by using user input. When clicking on a field in the grid, it would have to change to a color of choice. This needs some reviewing from my side.

Directly after the end of this track, a second round of JavaScript courses have started. And I turned to revising the first batch of lectures, even though the new lectures have already begun. When writing this piece, I notice how I tend to try out different things and start new projects, only to abandon them after a while. I get intimidated and keep telling myself I cannot do it. And each time I tell my bad mindset to go f$$$ itself and reply back with “Yes, you can do it, just continue”. The project I worked on during the first JavaScript Crash Course, a simple web app to find people who can help you carry stuff from A to B in public transport, wasn’t finished either. Instead, I revised the course 1 materials using a new idea for an app. Whether this is the right approach? I’m not sure. I do notice that when going through the materials again now in my own pace, that I understand better and on a deeper level what is going on in the code, and I think this, as in learning in general, is more important in the end. Slowly but surely my brain is starting to connect the dots.

Figuring out how to do my first pull request.

As the course continues, I have a lot of catching up and studying to do. I think the main goal for now should stay “to learn”. I have tried setting deadlines for myself by when certain tasks of projects had to be done no matter what, but this had the opposite effect on my studying. The pace is right now less important than working on it structurally (e.g. getting in an X amount of hours daily, every single day without exceptions). Sure, you can rush through a course in one day, but it will probably stick better if you study in bit-sized pieces compared to cramming. And learning to enjoy the journey. Because once one project is eventually finished, the journey will not end there.

Finding the best study approach is a route packed with trial and error. I found out that full immersion works best for me when it comes to studying anything. However, that is a luxury I do not have at this time. I have thought about attending a bootcamp, but first I want to continue learning by myself. Consist studying and perseverance are key. I will continue walking down this path and not give up. The next milestone will be deploying my own app and build up a portfolio. When this will happen all depends on me and my input. I am getting more comfortable with errors popping up in the console. I love working with the terminal, I have never been afraid of that. I just want my code to run! But this of course doesn’t always work on the first go. It’s part of the game. By now, I read the error, and see what it tells me. Google will otherwise help me out. And then there’s Stackoverflow and documentation. The answers are out there. We just need to know what we’re searching for. Googling is a great skill you develop when working in development!

From the beginning, I have felt like an imposter. Like some noob who doesn’t belong in tech. I don’t have the formal background, I was extremely bad at maths in school, I don’t do logic thinking naturally. How on earth can I tell you how to make a database query if I don’t yet know the language it speaks? What I like about coding, is the prospect of forever learning on the job. You will never get bored. Coding is forcing me to think in a new way, and I love to challenge myself! If it comes easy, it’s not worth it to me. You’ll always stay mentally stimulated with new technologies being born without an end. The possibilities are endless. You can think out a concept in your head. You can build it out and be creative. You can create anything. With the ability to code under your belt, you’ll be able to make your ideas come to life by yourself and you won’t have to rely on anyone else. These prospects sound so extremely appealing to me. Yet I am still giving myself a hard time. I used to talk myself down and tell myself I should just stick to something I already knew. A.k.a not tech. I often feel intimidated by people who have been in the industry for decades, or years. I am still afraid to be judged by people whose opinion shouldn’t matter to me. But at times I get stuck in the vicious circle of self doubt. Also, you can’t expect the world to welcome you with open arms. There will always be that one asshole or opinionated prick who is too insecure to keep to themselves and who will try to talk you down. This should teach us to not care about the opinion of others regarding what we ourselves want to do in life. Such people have their own issues and just don’t matter. Seek out the people who empower you and want you to succeed as much as they want success for themselves, in whatever definition this may come. Keep such people around, and be a brightly burning light for them, just as they are for you. Motivate the shit out of each other.

I remember playing in my terminal for the first time and being completely fascinated. I’ve come a long way. Pic made in Sketch.io, cat from Sketch.io

We are responsible for where and how far in life we will get. And only we define what that needs to look like. Whatever our circumstances may be, we can choose to self-pity ourselves, or to choose positivity as a reigning mindset. We need to see the opportunity. To make the best out of the situation, and to work your way out of it into a better one. Into one you want. Our lives cannot be dictated by how we were raised and by what schools we did or did not go to. We can determine what path to follow and what to do with our lives, because at the end of the day, we need to be happy about them. Not the spouse, or parents, or friends, or society. Why am I mentioning all of these things? I had plenty of people say that “If you cannot handle it, you have no reason to be in this branch.” I clearly recall someone telling me that I would fit better in ‘some coffeeshop or something’. ‘You want to be in tech? Ok.’ I’ve had people laugh at me when sharing my aspirations and dreams with them. But I don’t need their approval. I am the one who needs to be happy and satisfied with the decisions I make for me.

On that note, it’s time to get back to studying. In case you need someone to shout at you every day to stop complaining and get to work, please visit any of Gary Vee’s profiles. He speaks his truth. Through his content you can feel his sincerity. Learn from his main message. In case you haven’t yet heard of him, it will not be difficult to find out what he is all about. Do you need productivity advice? Then check out Darius Foroux’s page. I binge read his content because it provides so much value to me. Maybe also to you. Both these people are slaying it in life in my opinion.

I wish you all nothing but good luck and happiness in your personal lives and careers. I wish you to go after what you want, and not subside when you hit a roadblock. This is just another problem you’ll figure out how to solve, just like the bugs in your code which you will eventually crush. If you just stay at it.

To a life of endless learning and enriching experiences.

This piece ware more (very) personal. And somewhat emotional towards the end. I honestly don’t know how this will be perceived by anyone reading it (if anyone will read it to start with, hah.). For me there is only one way to find out, and that is by publishing it. If you actually read the piece, wow, thank you!

The Blob holding a banner that reads “Become a Medium member”

Not yet a Medium member? Get unlimited access to my writing and that of thousands of other writers for $5. If you sign up via the link, I’ll receive a portion of your subscription fee, which would help me out heaps!

--

--

Gracia Kleijnen

Sheets & comics creator. Words on YT, relationships, mental health, productivity & self-development in 35+ pubs. 📕Book author: https://bit.ly/Gracia-Book