A Civil/Construction Engineer’s First 100 Days of Coding.

Tags: webdev, html, javascript, beginners
Published: 2021-05-25 17:50:26

Hello World! I am a 30-Year-Old civil/construction engineer from India, learning to code for the first time. I share my journey and learning here. 

## Table of Contents

- [The Start](#start)
- [Was it really No Zero Day](#NoZero)
- [Problems I faced](#Problems)
- [The Driving Force](#Driving)
- [Before and After](#Before)
- [Plans](#Plans) 
- [Advice to my Younger Self](#Advice) 


 
### The Start <a name="section"></a>
I was fascinated about coding for four-five years, At times I would do some google searches to check if someone can learn to code and get a job and almost every time I would end up reading discouraging replies to similar questions on Quora.

![Start GIF](https://media.giphy.com/media/QJvwBSGaoc4eI/giphy.gif)

 
Apart from my interest in coding, another reason why I used to do such google searches was not being happy with my job. I had spent some seven years at construction sites working as a Quantity Surveyor, though I liked the work, there was no work-life balance, I had to work six days a week for long hours. To make matters worse, there was no work culture. I always wanted to work in an MNC, where there would be good work-life balance and good work culture.
 
After seven years of doggedly working at site, I finally managed to find a role in a good MNC, I was really happy the day I got the offer letter. I told myself that all my worries were in the past and my life was sorted then.
 
After working for a few months in the organization I realized that all that glittered wasn't gold. I am not saying that the work-life balance and work culture weren't good there, in -fact, I couldn't have asked for more, the work timings were reduced to 8 hours and instead of 6 days a week, I now had 5 days a work week. There was good camaraderie between the employees, the couple of things which were missing were "quality work" & “growth”
 
I finally had the realization that you needed all three elements, “quality work”, “growth” and “work-life balance” to really enjoy the work. You take out any of it from the equation and it won't work. The only solution I could think of was higher studies. After a lot of research, I narrowed down to study Master’s in Construction Project Management from the U.K.

That dream was shattered though and that's what made me to start learning to coding, read the entire story [here](https://dev.to/naresh/i-did-the-impossible-i-m-learning-to-code-ldh).

 
### Was it really No Zero Day <a name="NoZero"></a>

I started learning to code from freeCodeCamp and I committed one hour a day daily. I started on 1st July and haven’t missed a day since then. I finished my 100th day of coding on 9th Oct '20. 
 
So yes, it was really no zero day, I didn’t skip coding even for a day. 

![Zero GIF](https://media.giphy.com/media/ful6IbWkBsVhe/giphy.gif)

 
### Problems I faced <a name="Problems"></a>

It has been an adventurous-journey and as with most adventurous journeys, this one too was bumpy yet so beautiful. 

There were times I had so much work at the office that it would extend till midnight, I used to sleep around 3 a.m. 

But Sooner-than-later I understood that sleep is extremely important and neglected sleep could result in the burnout, which could adversely affect my learning. And I tried to manage my time more effectively.
 
I started with a “Responsive Web Design Certificate” and I completed it within just 28 days days. There’s a reason why this certificate is the first among many all the other certificates on freeCodeCamp, so that someone who have just started to code could get some confidence in coding, I believe if freeCodeCamp would’ve started with JavaScript Algorithms and Data Structures Certificate instead of “Responsive Web Design Certificate” then most of the newbies like me would’ve given up. 

I found JavaScript more difficult than HTML and CSS would be an understatement, I found it really really hard. My progress was slow which also affected my understanding of the concept, since I focused more on completing the coding challenge than to understand it.
 
After completing a few of such coding challenges I understood that rushing through the coding challenges isn’t going to help me in any way, so I focused little on the speed of my progress and more on the learning.
 
I started sharing my journey on twitter from 3rd Day of learning to code and on dev.to after I completed my “Responsive Web Design Certificate”. The second post I wrote here got a really good response, it was shared by Code Newbie & three other twitter handles of Dev.to family. As a result I was getting a notification almost every hour and I was not accustomed to it, I still am not, I got really excited about that and I ended up spending more time on my twitter than I was for learning to code

![Problems GIF](https://media.giphy.com/media/QAU6ZKDf7q8nS33IjN/giphy.gif)
 
Thankfully my mentor, Jai noticed that and reminded me that while twitter is important to connect with tech people, support, seek support and be a part of the community, one should always remember that at the core of this is your coding skills, one should never spend more time on twitter than on learning to code. I accepted my mistake and got back on the track.
 
After completing my “Responsive Web Design Certificate” I started working on my website. I remember I was working on Git once when I forgot to write the commit message & a new window opened, asking me to enter the commit message, but nothing seemed to work. After watching a few videos on YouTube and help from freeCodeCamp’s Discord channel I fixed it.
 
I also had a hard time understanding loops, recursion, and arrow functions. I took help from Jai and watched multiple YouTube videos to get a better understanding of the concepts. Arrow function still scares me at times 
 
Last three months have also been difficult personally, both my parents got sick, though my dad is doing fine now, my mom is still not completely fine and we still make at least one trip to the doctor in a week.

 
### The Driving Force <a name="Driving"></a>

Even with all this I made sure that I spent at least one hour on coding everyday and I didn’t miss a single day. I won’t say that it was easy all along, some days were extremely difficult but at the same time some were fairly easy. A lot of people keep asking “What keeps you motivated to code”. For me the answer has always been the belief Jai has on me. He thinks I can do something in coding, I still have doubts every now and then but he seems to be quite sure about this. 


### Before and After <a name="Before"></a> 

I remember when I started to learn to code, I knew nothing, I literally knew nothing about coding and all the other things that go with it . Now I know basic HTML & CSS, I know how to make a webpage using HTML, how to make it look good using CSS (now very good though, there’s still a lot to learn in CSS), I know about Git & GitHub and how I can keep track on the changes i have made in the code using Git & how to manage Git repositories using GitHub, how to host my website on GitHub. I have familiarized myself with JavaScript, though it is still too early to say that I know basic JavaScript but hopefully I will learn basic JavaScript sooner or later. I also learned about Binary systems, encoding, ASCII, Hexadecimal, Hex speak, IPv4, IPv6, Hexes and colors. I have also started sharing my learning through twitter threads, I am sharing one of such threads here, do check it out.
 
I think I have learned more in a hundred days than I generally learn in a couple of years at least. No matter where this journey takes me, I am really happy with my learning and I would always see this time as a successful time, where I devoted one hour daily for something without fail & learned so much in the process. 


### Plans <a name="Plans"></a>

While I am writing this I have already started round 2 of #100DaysOfCode, I don’t want to stop here. These first 100 days have only increased my appetite for more. I want to know more about what we can do with coding, how we can do it, what can i do in it. Can I do this full-time without a degree in computer science or any other formal education, And if it is possible, am I ready or willing to do it? I want to get the answers to all these questions.  

![Plans](https://media.giphy.com/media/yv1ggi3Cbase05a8iS/giphy.gif)


### Advice to my Younger Self <a name="Advice"></a>
 
I have made a lot of mistakes in these first 100 days and I’ll probably do more in the future, but I wouldn't say you should not make any mistakes, In fact I’ll say make as many many as you can, but try to learn from everyone of it, I know it sounds like a bookish quote from a self-help book but this is so true.

I would say put your mistakes out in the open for the people to know, let them correct you, learn from such instances.


I have also figured that one shouldn’t compare their journey to someone else, because they are in a different situation than you are, don’t take a lot of pressure thinking about how the other person got more followers on twitter, has more views or likes on a post or made a lot more cool stuff than you did.

The only thing that is important here is your consistency and then Hard Work beats talent. 
 
 
### Join the discussion

I would love to get some feedback here.

- Are you someone who is self-learning to code? How did you start?
- What problems did you face & what is your driving force?
- What advice would you give to me?
- I'll be sharing more about my journey on twitter, you can [follow me here](https://twitter.com/naresh_poonia_)
 

Photo by [Adi Goldstein](https://unsplash.com/@adigold1) on [Unsplash](https://unsplash.com/)