Regaining the courage to build

guy with courage to build hands in the air smiling
Photo by on Unsplash

Before Becoming Technical™, I had about a hundred ideas of what I would build. Something to automate this and that, something else to make this or that less painful. But as I became more and more technical, something insidious started to take root inside me. I became less, not more, confident in building stuff. It’s so bad that since graduating from General Assembly, I’d stopped working on personal side projects altogether.

What happened?

I gained the ability to predict how difficult it was going to be to build something.

I became daunted by the time I would need to set aside to see through a project.

I think a part of me was also afraid to potentially discover that I’m not technically proficient enough to execute on the idea.

Continue reading “Regaining the courage to build”

Conceptual overview of Jest Enzyme testing

jest and enzyme testing blog post banner nickang

I recently had the privilege of introducing frontend testing to our code base at work. With 5 engineers working on different parts of the product at any given time, it finally made sense to add automated tests. I can foresee this helping us cut down time spent on debugging and improving the overall quality of the product.

Because our frontend stack was React and Backbone, we needed a test library that can test React components. Some deliberation later, we decided to go with Jest (by Facebook and used internally at Facebook) and Enzyme (by Airbnb and also used internally at Airbnb).

Continue reading “Conceptual overview of Jest Enzyme testing”

Temptation to just build stuff

mannequin wearing santa hat looking broken
Photo by Buzz Andersen on Unsplash

I’m beginning to adopt an engineer’s mentality of wanting to build things because it’s fun and I’d probably learn a few things along the way.

For example, I’d recently wanted to build 2 Chrome extensions with very specific uses.

Continue reading “Temptation to just build stuff”

One big difference between CS and non-CS software engineers

cs vs non cs software engineers nickang blog post banner
Photo by Alexis Brown on Unsplash

From what I can tell so far, software engineers who didn’t graduate from a Computer Science (CS) degree program quite often have an inferiority complex.

Continue reading “One big difference between CS and non-CS software engineers”

Remember why you are programming

spectacles sitting in front of a laptop focusing text on screen - remember why you are programming blog post banner
Photo by Kevin on Unsplash

As a programmer, you probably get a little carried away once in a while. You know, getting engrossed in the sophistication of another developer’s implementation, be it beautiful or ugly (or both) and having an engaging conversation with your colleague about it. Yeah, I can tell you know what I’m talking about!

But I recently realised that that can sometimes happen at the expense of good user-centric development.

Continue reading “Remember why you are programming”

Implementing a Queue in JavaScript?

Yesterday I asked myself whether it was necessary to implement a stack abstract data type in JavaScript. The answer turned out to be “no,” because you can just use the built-in Array data type to simulate a stack without obvious performance penalties.

Naturally, I started asking myself, what about a queue? Should we be implementing a queue in JavaScript?

Continue reading “Implementing a Queue in JavaScript?”

Why implement Stack in JavaScript when you have Array?

This is the stupidly simple question I asked myself today as I was trying to familiarise myself with data structures. Is there ever a need to implement a stack data structure in JavaScript when the built-in Array data structure already exists?

Based on my short research, the answer is no – there’s probably no need to implement a separate Stack constructor function or class in JavaScript. Since Array already has the typical methods you’d need for a stack to work, like push() and pop(), you can just use an array to simulate a stack.

Continue reading “Why implement Stack in JavaScript when you have Array?”