How to try new things, the right way

Not too long ago we needed a new way in our business to manage some repetitive and complicated tasks which can only be done by a database or backend developer. And what better way to not repeat something every 2 months than to spend weeks on building an application for it?

No no, that’s not what we did. But I did have 2 days with slightly less on my plate, so it was the perfect chance to try out VueJS.

Because we want to be certain the option we go for is the best one, we need to try and compare said things. How do you measure two competing technologies, frameworks, methodologies etc.?

Timebox it!

Depending on your own circumstances, choose a period of time of a few hours or even days (or more?). You need a quick plan on what you want to do.

Try each of those technologies (or what ever it is) and see how far you get. That has the added benefit of showing you how quick and easy it is to learn or if the documentation is right and complete.

My experience

I needed to compare VueJS and see how quickly I can become productive with it, versus Angular.

I decided to give it 2 hours maximum for each and my plan was to simply send an Oauth login request.

If successful, save the token, then call an API to get a list of objects. Then I would display said list.

Sounds easy enough!

My experience at that point with VueJS was practically 0, while I had used Angular quite a lot.

Conclusion

I discovered that VueJS is superbly documented, there is a helpful community and it’s easy enough for a beginner to actually do something useful on day 1.

I also discovered that Angular is complicated and unpleasant to work with. Something I already knew 🙂

They are both good frameworks and this technique worked for me: I decided to use VueJS in the future (and I have) and to reduce my reliance on Angular. With less than 2 hours spent I was confident of a new framework, while not having wasted weeks on the wrong technology just because I read about it on a blog (the irony…).

What will you try next?