Building it from scratch doesn’t make you a better hacker – it makes you a slower one

August 31, 2020

Many programmers seem to romanticize hand-coding software from scratch, believing it makes them a better developer. I must say, this attitude reminds me of the woodworker who refuses to use power tools to make their work easier and faster, instead choosing to saw and chisel and plane everything by hand in pursuit of pure craftsmanship and the satisfaction of perfecting their skill. 

That’s not to say that one approach is inherently better than the other; they simply reveal different priorities. 

Just like with woodworking, the developer who takes shortcuts by using all the tools at their disposal is likely more focused on the outcome or finished product, whereas the developer who wants to do everything themselves is focused on the creation process or the challenge of solving the problem. 

While the latter method certainly has merit and is an excellent means of cultivating your skills as a programmer, the truth is that building your entire product from scratch doesn’t make you a better developer – it makes you a slower one.  

For most product teams today, the goal is to get an MVP to market as soon as realistically feasible. Sure, you could lovingly build each and every component of your software from scratch, or you could plug and play existing modules that are not only perfectly viable but often far better than anything your team could build even if they had infinite time to do so. 

This is not an indictment of your team’s skill, it’s simply because the teams that built these SDKs and APIs specialize in that building those particular features, whereas your team would probably have to figure a lot of it out as you go. 

There’s no shame in using an API or pre-built solution to provide core functionalities. In fact, given the productivity and efficiency gains you can derive from opting for a quicker solution – among other benefits – it’s a much smarter move. When it comes down to it, hacking is all about agility and lean efficiency. 

Why spend countless hours coding a feature from scratch when there are perfectly good off-the-shelf options available that can free up your team(s) to focus on solving truly unique problems that set your product apart and perfecting the user experience?

Benefits of integrating pre-built features into your product

As we’ve seen, there are a number of upsides to incorporating ready-made features in your software instead of building everything from scratch. 

Let’s take a closer look at some of those benefits:

Due to the significant reduction in development time that goes hand-in-hand with integrating out-the-box solutions, you’ll benefit from much faster implementation. Contrary to popular belief, pre-built solutions are often highly customizable using SDKs, which means that you don’t need to sacrifice uniqueness for the sake of efficiency. With robust documentation, plug-and-play solutions are easy to implement. Outsourced or pre-built solutions are highly scalable because they’re modular, which means you can scale the infrastructure for a single feature without needing to scale the rest of your product at the same pace. This same modularity allows you to quickly deploy fixes and updates without needing to add it to the development queue or schedule site downtime.  Dedicated developers mean your feature never takes a back seat while other projects get priority. Out-the-box software solutions

Continue reading

This post was originally published on this site