• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Alex Aitken

Technical and Engineering Leadership, Coaching, and Mentorship

How to Decide Which Packages to Use

April 2, 2018 By Alex 1 Comment

At my current company (Agoda), we don’t have a strategy for picking what packages that we use (that I know of). Mostly, you have to prove that installing this package is useful and that it wouldn’t make sense doing it ourselves. We don’t want packages that will increase our bundle size (for javascript) as that would increase the load on customers and that’s not a good thing. To prevent that, we have a bundle size checker in pull requests. So, how do you decide which packages to use?

Do you need it?

Sometimes people include packages that they could’ve written themselves in two lines. What I’m really trying to say is that you need to think if this package is really necessary. Do they have complex logic (that’s tested) that would add a lot of time to your development? Have you looked into the bundle size and what it’ll add to your bundle? Do you need all the functionality that the package offers? Or are you only going to be using such a small part of it? These are things you need to consider before considering it.

How active is the community?

Are you downloading the most active package or one that the author hasn’t committed to in a few years? These types of things should also have an effect on your decision. I always look at the community because you need to know that if there’s a bug – will you be able to ask for a fix or fix it yourself? Will they check your pull request? For things like which framework you’ll use (i.e. React, Angular etc), I check how many people are talking about it. How many plugins or extensions are there? Will they have everything you need?

Is it right for the project?

I know you want to use the newest and shiniest technologies. You want to use React, Vue, or maybe even Angular. But you’re only building a simple page with a scroll animation. You probably don’t need these web frameworks. You need to ask yourself, what does this project really require? Am I building a SPA? What package best fits? Should I use multiple smaller packages or one that has everything? You need to look at what’s right for the project and not what’s the coolest.

What have I learnt?

I hope you’ve learnt something from this. The main thing is that you need to think before including packages. Not every package will be needed. Not every cool framework should be used. Look at how active the community is. Let me know if/what is your decision tree for choosing new packages. I’d love to hear and improve.

Reposted on Medium.

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook

Like this:

Like Loading...

Related

Filed Under: Strategy

Alex

Reader Interactions

Trackbacks

  1. How Do You Decide Which New Thing to Take? – Alex Aitken says:
    April 30, 2018 at 4:05 pm

    […] know you may think this topic is familiar. I mean, I did talk about it in my previous post about how you decide which package to take. But in this post, I’m going to be discussing this in broader terms. Think in terms of, […]

    Loading...
    Reply

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

About the author

Alex is an AVP of Engineering currently working at Bukalapak. He is a leader in full-stack technologies. Read More…

Pages

  • Speaking Experience
  • About

Social Profiles

  • LinkedIn
  • Medium
  • ADPList

Recent Posts

  • Interviewing as an Engineering Leader
  • Managing Low Performers
  • Getting Docker, React, .NET Core, Postgres, and Nginx Playing Nice
  • What Makes a Good Software Engineering Manager?
  • “Am I There Yet?” Said an Engineer

Archives

  • January 2025
  • August 2024
  • July 2024
  • October 2023
  • August 2023
  • October 2020
  • May 2020
  • February 2020
  • June 2019
  • March 2019
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018

Categories

  • Coding
  • Essay
  • Leadership
  • Management
  • Roundtable
  • Strategy

Footer

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright © 2025

%d