8 things I realized after coding for a 100 days

On November 12, 2014 I decided to code non-stop until the day I get a job as a Junior Software Developer… just to be able to keep coding. Is good to know these were not my first days ever.

I started with plain Ruby and fell in love. I was so in love, I dreamt of being a Ruby developer forever. Later on I switched to Rails, only to remember how amazing Rails was. I was so in love, my dreams started to change and I even wrote in my statement of goals for 2015, that on top of getting fit again, I needed to become a world class Rails developer. Weeks went by and I started coding plain JavaScript. I never felt so attracted to such a misunderstood. It felt like renewing wedding vows with a forgotten person you use to find really attractive but was never able to actually ever kiss. I use to sing John Paul Young’s most popular song all day long. And then, came the ultimate wonder: the JavaScript libraries and frameworks. Wow. I knew good’ol jQuery was cool, but Angular just blew my mind.

After spending countless hours, most of my living life alive watching color text in a dark screen for 100 consecutive days, I learned 8 things:

  1. No matter what, you need to work out. Forever. I gain 20 pounds in the first 60 days. When I found out how bad my life was going to be, I worked out every day for an hour and avoided sugar and trash at all costs. I lost those pounds in the next 40 days.
  2. No matter what languages or technologies you try to master, the more you learn the more you will acknowledge how little you actually know and how much you still need to learn. Tutorials will go by, only to make you realize you won’t be able to master anything until you actually create new things with that information. The more tutorials you find out, the more you will be tempted to learn new things, getting to a point where your domain of pseudo knowledge becomes too broad, making you believe you know everything when in real life, you are lost. In fact, people won’t believe you know how to code (later on, neither you) until you have projects in production to show.
  3. No matter how well you understand what you are doing, after a couple of weeks diving deep into a new technology without touching the other one, you start forgetting syntax and mixing concepts. Your mind messes everything up, looking for two way data binding in Backbone and trying to create mixins in plain CSS. You come back and find out that you don’t remember anymore how to write a basic controller.
  4. If you have more than 2 hours unsuccessfully trying to resolve a problem, stop and come back later. Most likely you will get it almost magically while in the toilet, taking a shower or even sleeping, which is (this latter) the moment when you will actually spend more time coding. Indeed, always make sure your JavaScript files are being served, one way to do this that I find really useful is to place an

    alert('hi!');
    


    on top of the file. If you refresh the browser, you have to see the alert pop up. As stupid as it sounds, it has saved me many hours trying to find a nonexistent bug, especially while working with Static Site Generators like Jekyll or my all time favorite, Middleman.

  5. Even when on a break (TAKE THEM) your mind will never leave the code. You will be thinking about the next thing you want to learn, about why this code doesn’t work, about how little CSS you really know. 99% of the time you google something in your smartphone, it will either be tech or code related. When you are in front of your monitor, 100%.
  6. When you finish a Coding Bootcamp you have an amazing set of sources to become a pro, but you had so much information in so little time, and so much pressure (either peer pressure [you always think you don’t know enough], the next Hackathon, job hunting, networking, and so on), that you basically know where to find things but you actually don’t know anything. 
    Later on, quietly reviewing all the provided information and clicking every single link you usually skipped while on the program, and reading every external recommended resource; will make you somewhat proficient faster than you might think. You already had this, but you just didn’t have it organized. Is like your brain is an empty storage room and you happen to go to the “Information Super Store”, only to find out they have “All you can take” for a set price and a few hours. You call your friend Bob Foobar, to bring the truck and his wife Alice Foobar answers the phone only to tell you the truck is available but Bob is gone phishing… So you…

    while (1 < 2) {
      alert(drive, jump, take, run, drive, drop);
    }
    


    … and after a couple of hours when you actually stop, you realize it’s been about 3 months and all you have left is a very messy storage, full of valuable objects but everything piled up: ActiveRecord in Javascript, prototypal inheritance in Ruby and so on. Now is time to go back to the store, buy some racks and start to neatly organize every single concept. Everything starts to look so clear and understandable, even if at the very beginning you don’t know how to implement or when you will actually need this snippet in any of your apps.

  7. Every time you read some blogs or tweets you will find out there is a new technology, specially when you look at job posts. You stare speechless at those weird keywords that are suppose to be things that you are supposed to know, but that in fact you have no idea.
  8. Every day you will notice a new JavaScript Framework. You will find so much that you will start associating every catchy or funny keyword with a new one, from shenanigans.js to grumpycat.js, only to find out that the vast majority are the exact same s**t with different syntax. In the end, they all help you better organize your code, separating views from logic from the communication between them, and will either have templating capabilities or will have a favorite templating engine, which will also be called somecoolkeyword.js.

Conclusion

If you really want to become a Web Developer, be aware of a few things:

  • It is better to become good at a small set of technologies, than to suck everywhere. I suggest you to spend some time giving a try to everything that crosses your path, and then choose no more than a handful of things and master them.
  • I know is true that the only way to become great at this is actually typing code, but if you want to get in the industry and become a better human, spend time building an online presence, contributing to whatever you think you can, and sharing with fellow developers. They will introduce you to more concepts so that your mind is able to explode faster… No, seriously, friends, jobs, deeper knowledge…
  • Even when everything looks right, the code will possibly not work and it will always be your fault. The only way to survive the frustration is Love.

Hi!

I hope you like it. Please, take a look at my website at drjorgepolanco.com.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s