MY JOURNEY SO FAR AS AN ASPIRING WEB DEVELOPER
Tags: beginners, javascript, codenewbie, 100daysofcode
Published: 2020-07-07 12:41:10


**Two** months ago, I started the #100DaysOFCode challenge with Java in mind, I learnt the basics along with some advanced concepts of java but got bored quick because I wasn’t excited with the things I created, everything was stuck in the console, :cry: there was no UI and my laptop specs couldn’t afford android studio. I told a friend and he advised that I switch to web development, introduced me to FreeCodeCamp and encouraged me to give it a try.


**A** new week started, and I put aside my java notes and created a new one for web development, logged on to FreeCodeCamp with an open mind not knowing what to expect and started the responsive web design course and boy!! was I glad I listened to my friend advice. Before the end of that that day I knew how to create headers, footers, ordered lists and so much more and guess what? It was all `console` free. Over the next few weeks that followed, I was able to create basic side projects, I had just learnt how to add images to a web page and I wasn’t going to let that knowledge go to waste.:sunglasses:


The Html5 section of FreeCodeCamp was a no brainer, finished it and moved on to the CSS section. Here, I had to pause and take things slow to fully understand things. I was learning how to breathe life into web pages using CSS and it was just A-M-A-Z-I-N-G:satisfied:. Things got a little bit technical with CSS FlexBox and GRID systems, but I was able to grasp Flexbox and skipped GRID  because I just couldn't wrap my head around it:confused:.


 I finally finished the course and was overjoyed because now, it was time to use my new ability to build mind blowing web pages:grin:. How naive I was :sweat_smile:. 

Scanned through the Web design projects and thought, oh! this is easy, and you know what, I’m going to make my own unique:innocent:, for the tribute page I thought of doing a slideshow with a timeline, for the survey project I thought of doing some cool animations with the forms and I was all hyped up:muscle:. Pumped myself up with lots of tutorial videos, created a workspace in VScode and I was ready to unleash the ***genius*** in me, but there was just one problem, my div element refused to stay in the center of the screen:sob:, **I flexed it, justified it, aligned it** and nope!!, it just wont stay put, there was short moments of victory where it would center and the moment  I added another element everything would go haywire and the div elements would start flying here and there like they were in a dance competition. To add insult on injury my images were putting up some magic performance of their own. I went to bed frustrated that night thinking, maybe web Design isn’t for me, maybe I should have stayed in the peaceful world of `System.out.println()`:sleepy:.


The next day I opened twitter to see if I could get motivated from the `#100DAYSOFCODE` community which is a great community by the way, lots of awesome stuff on that trend. ***I saw a tweet that stressed the importance of baby steps, taking things slow and breaking down problems into bits***, another tweet said 

>**Tutorials doesn’t make you a better developer, practice does**.

 These tweets really helped reshaped my unrealistic expectations and made me understand that in other to get better i needed to practice more, humble myself and learn from my mistakes.


I decided to follow FreeCodeCamp models for the projects, opened up chrome devTools and inspected how they their set up was, Calmly, I observed how they positioned each element, the amount of padding and margins on some tags, what type of display some elements on the page had and when I didn’t understand the need for a particular style, I would change it and observe how if affected the layout of the page.

Little by little my project began to make sense. FreeCodeCamp’s forum was of great value also. If only you could have seen the big smile on my face when I passed the tribute page test, even if it was similar to that of FreeCodeCamp, I made it, and it wasn’t just a copy and paste project, I knew and understood how everything worked.

True there were times when I was temped to go overboard again but I kept things simple and just tried my best to pass the user stories, although I couldn’t resist the urge with my product landing page. :joy:

Now I’m in the amazing world of JavaScript and oh! Yeah, turns out you can’t run from the ‘console’,  :joy:. But I’ll choose 
```javascript
console.log()
```
 over 
```java
System.out.println()
```
 anytime, anyday. 

So far, I think i've made some improvements, for example I use to struggle with centering a div but now some of my major struggles are, 

* what on earth am I going to name this variable? 
* What’s up with promises and how do I use them
* Oh, My God!! I haven’t learnt AJAX!!!
* What the difference between prototypes and classes?
* What wrong with the `This` keyword? Why does it keep changing

Occasionally, I still struggle with centering a div, but what the heck!! I’m making progress and building little cool projects. 

Maybe one day I’ll write about how a bug in one of my recent project almost made me cry myself to sleep but till then, keep coding, keep learning, drink lots of water and stay close to things that makes you happy. BYE :satisfied:.