How I have come to familiarize myself with the world of coding

01 June 2020

(or in other words) Pay tribute to the SAT and the JAVA language

Alt text here

From a social science girl

My background is, I guess, have been conveyed clearly through the title of this part. Yes, I come from a world which is a hundred percent different from that of coding. Let’s take JJ as an example: while JJ uses his left brain in almost everything, I use my right. JJ thinks logically, I employ my emotions. JJ writes code on a daily basic, I write essays and literary analysis.

And although I could expand my horizon to as far as working in marketing, writing business reports, discussing politics, or even doing bits and pieces of design, I had found coding to be a place full of bizarre and highly-intelligent concepts that only people who early in their childhood have shown that they will someday be majored in natural science could understand.

So, I have never thought that someday I would sit down at my desk and decided that I would learn coding.

My motif is sort of a long story. I would be happy if you stay, but if you don’t want to tolerate that, you can skip to the next part to read about my early experience with coding to understand why me — being under the dominance of my right brain — couldn’t learn it properly.

Well, let’s begin with my ever-burning passion: to be a copywriter working in advertising. About 4–5 years ago, when I was still a 20-year-old creature who didn’t know what to do with her talent and passion in words and languages, I met JJ. JJ was then a graphic designer, and he was the first one to open my world about print ads and advertising campaigns and posters and Ogilvy and copy and so on so forth. I was like crazy when finally felt the click between my passion and an ideal career choice. I was over the moon when imagining myself working for an advertising agency and doing overtime for upcoming projects.

To further realize my dream, I’d equiped myself with lots of books about this field, and we did collab (JJ and me) to work on several freelance projects. I practiced almost everyday how to write catchy copies, how to have brilliant ideas and ways to implement them. Yeah that’s how much I loved advertising.

However, things took an impressive turn when we decided to study abroad. I chose for myself an English Philology major because I wanted to write copy in English and I’d determined to master this language.

Yet, I didn’t expect that it could someday become a barrier for me to find jobs in Europe. Of course, if I had more time and opportunities I would eventually find a job that will provide me with financial stability. Yet, I don’t have that much time await; I want to take care of my parents as soon as possible and be able to rebuild our house which was then leaky and moudly all around. I want to do the surgery for my mom and allow my dad to retire at the age of 65 — the age that he’s supposed to enjoy his fruitful work than working 8 hours a day standing on his legs.

I find it very guilty to admit that I come to coding mainly because of the financial stability it promises, but I guess I should be frank and admit that, at least, to myself. And now, after concluding my journey with languages and the field of social science, I have taken on the new part of a programmer, a developer.

To her first encounter with coding (sour and bitter!)

It’s not that you want to “do programming” for money, then you go “do programming” for money. It’s not easy, and you have to prove your determination, your passion, as well as your resilience.

Part 1 — My “right-brain” method

My very first lessons of coding happened on freeCodeCamp platform — where I learnt HTML, CSS, JavaScript — which was not very successful because I didn’t have any proper learning method to learn coding. I say “proper” because I have employed all of my methods that I used to study languages or to understand any concept in my previous study, and all of them didn’t work with coding.

Coding was very strange; it was a field that if you know it, you know it. You cannot merely know it or analyse it based on your thinking, emotions, or perspectives. It simply doesn’t work like that, and yet, I continued to force it to go that way. For example:

  • When I learn a new language, I will keep a notebook for new vocab or concepts which I find useful or essential to remember, and I did similarly with coding, writing new concepts or technical vocabulary and trying to remember them.
  • Also, I listen to TED Talks when I want to understand a phenomenon or a new idea because the speakers explain them simply and in detail. So I would do the same and listen to programmers talk about their experience or any theory in programming, be it “How to build a JavaScript project” or “Five things I wish I knew as a software developer”, etc and try to acquire the knowledge.
  • Then I read, a lot of articles from Medium, and books such as “Head First HTML and CSS”, “Head First JavaScript”, “Web Design with HTML, CSS, JavaScript and jQuery Set”, or “JavaScript and Jquery: Interactive Front-End Web Development”, to name a few.
  • I went to some websites such as W3S or javapoint.com where they have lots of syntax explanation and tutorials. But things didn’t go well as you might have guessed.
  • I even watched a great numbers of videos made by software developers who talk about topics such as “A day as a software developer” or “5 things I have learnt when being an engineer” to get the feel of the field, and I followed everything related to coding, programming, technology, and feel satisfied with myself thinking that I am being productive.

But, as you might have noticed, my methods — which mainly focused on listening, reading, and writing — didn’t get me anywhere because it lacked the most fundamental aspect of coding — actually sit down and code.

After a few months, I have come to realize that the essence of coding lies in the fact that it happens on my computer when I code and practice, not on the bed or sofa when I read and try to stuff those dry facts into my head. It is important that I follow the exercises or the examples by typing them out in the IDE myself, not reading them and trying to understand because it’s simply just impossible.

I was looking for a change, but that’s when another matter occurs.

Part 2 — Java is too difficult for me!

JJ recommended me to start with JavaScript because when compared to other programming languages, it’s much simpler, and there are tons of materials.

However, the reason that there are tons of materials combines with the fact that I hadn’t yet adopted a suitable learning method led me to a pitfall. This, I consider the most painful period of my journey to learn coding. Why? Because I couldn’t understand JavaScript, and when someone told you this language is very simple to understand and you couldn’t understand it, it created in you a feeling that “I am so stupid”.

JJ gifts me some courses on Udemy and Codecademy because I told him that I study best when there are examples and I follow them, be it rewriting or filling in the blank. It’s true that those courses helped me some bits, but at the end when JJ checked my knowledge of even simple stuff, I didn’t know.

There were times when I discussed with JJ whether I should learn Java instead, and we did always exchange looks as if to say “Well you know, Java is too difficult for you”. I did try to learn Java at the time, but there was no course that would be suitable to me, and together with the thinking that I couldn’t make it, I gave up.

I did stop learning coding for nearly a year, when I wanted to focus on my thesis for my bachelor study. And that’s when I had an interesting experience with the SAT, which would then change my thoughts and my skills for the better.

SAT teaches me to think logically.

I decided that I would go to school to study coding because self-studying was very painful to me, and I would apply for a university in Helsinki based on my SAT score.

As a result, I started to practice with the SAT problems, firstly with a math book by Nelson Phu named “The College Panda: Sat Math The Advanced Guide” and then on Khan Academy. I began solving math problems from the All Math practice sesson on Khan Academy from algebra to advanced mathematics, from data analysis to geometry, trigonometry, and complex numbers. I solved math almost everyday and intensively at the weekend — when I timed my progress to try to finish 58 math questions in 75 minutes. Just like that for 3 months until I took my SAT in December last year.

After the journey with SAT, I’ve noticed several different things in me: I’ve started to think faster, more logically; I’ve began to analyse problems step by step, and importantly I’ve began to use my left brain more often.

If there is one thing I would say about SAT and how it relates to my learning process, it would be that SAT has prepared my brain to work with logics and problems. Now let’s not focus too much on the SAT but let’s say math in general; I think it’s useful to first familiarize yourself with the world of coding by solving simple math problems and time them to train your brain to work under pressure; that’s when you can force it to process information faster but still maintain the accurary.

Personally, I think it’s not proper to adopt a different field of knowledge using my regular learning methods used for another field of knowledge, especially when these two field are of the opposite to one another (like in my case: language and coding).

It would be easier to temporarily forget your old learning methods and adopt a set of new ones and try to create an environment where your brain can develop according to the field you are studying.

For instance if you are a software engineer and want to pursue a career in literature, let’s not analyse a book like you did a computer program but close your eyes and feel it with your heart. In contrast, if you are a student of English literature and want to pursue a career in tech, let’s open your eyes to see each problem as it is, don’t infer or digress too far from it.

JAVA has presented me with the world of coding

If I want to recommend any course or book that I’ve found most useful for my learning, it would be the “Java Programming Free Course” offered by Helsinki University and the “Java: How to Program” book; both found by JJ.

I guess because Java is a hard language to learn, both in terms of syntax and concepts, so fewer people who first start to learn programming choose it as their first language. Therefore, the number of materials for Java might be fewer than those for other modern languages, but because of that the available resources seems to be more concrete and detailed, like books or intense courses. And for this reason one can easily stick to one book and study it from page 1 to end without being distracted by tons of resources out there. So I’ve chosen this path to go on.

I would say that right now I am pretty content with my progress, being able to focus completely on my course and my book in a certain time frame and after that coming back to other interests like writing blogs, reading, or exercising. I don’t force myself to always focus in coding because I know it would make me hate coding one day.

Sum it upppp!!!

I think what I have right now is the result of not days, not weeks, but months (and two years) of constantly trying and experimenting with myself, with coding, with the materials, and with the way I learn. It can be the SAT that helps me; it can be the Java course that helps me; it can be JJ; it can by myself.

Anyway, I believe that all the things I have done up until now have created me of the present. Sometimes I think that if it hadn’t been for the time I blindly learn code and trying to learn by heart all the coding concepts, would I be able to understand them right now? I don’t really know, but I know one thing that I have tried all the methods that I could think of, and now I’m sharing them with you.

I’m glad if some of them are useful to you, or you can jump straight to my math-solving preparation to brace yourself for this long and daunting journey. Hope my story help!