Coding with Efficiency in Mind

At the end of the fourth week of the web developer bootcamp, it feels like the program has lasted for much longer. Mainly, I think this is due to the amount of learning we are doing and the number of topics we have covered. Additionally, the amount of time spent outside of the classroom doing further research, reading, practicing, even dreaming about code has emphasized this effect. For four weeks now, my mind has been thoroughly inundated by web development.

At first it was intimidating, even a little overwhelming. Since adjusting, the whole process has seemingly transformed, becoming entertaining, fulfilling, and exciting. In reality, the process hasn’t changed at all; my way of thinking has changed.

That personal change is an interesting thing to track. If I look at the work that I produce from week to week, I’m able to see not only my base of knowledge growing, but also the formation of patterns and habits. For example, in Week 2, as we jumped into javascript for the first time, I was excited to build things that worked at all, even if there were bugs and hiccups included. The code for those projects was initially quite a mess: there were needlessly repeated lines, syntax errors, and entire abandoned sections tossed by the wayside in a fitful creation process.

By the second week of javascript, I was able to go back and revisit some of the previous week’s work. An expanded base of knowledge and increased familiarity with the language made it easier for me to go back and update the code with new techniques, but additionally and importantly, I was also able to go back in and prune away unnecessary things. Through practice, my thinking process had become more efficient, and I could change the code to reflect that. Not only was the code becoming better by using more advanced techniques, it was becoming cleaner and more nimble.

Becoming aware of this effect of the learning process has made been a crucial step for me. Now when I’m writing lines of code, I’m doing so not only with the intention of solving the problem at hand, but doing so in the cleanest way possible. I’m not just learning new things to put towards future projects, I’m learning things that can be retroactively applied to old projects, to make them better. To put it in another way, I’ve come to appreciate another aspect of web development: the finesse.