Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GDG Bali Monthly Meetup March 2024 - Wahyu

GDG Bali Monthly Meetup March 2024 - Wahyu

Sharing about why junior software engineers should avoid relying too heavily on external libraries or packages, as it can lead to numerous problems in the future and result in a shallow understanding of how to write code.

Wahyu Ivan

January 19, 2025
Tweet

More Decks by Wahyu Ivan

Other Decks in Technology

Transcript

  1. Hello, i’m Wahyu! • Udayana University : Information Technology (2018-2022)

    Education Work Experiences • 2020 - Present: Freelance SE • 2022 - 2023: QA Engineer (Djoin) • 2023 - Present: SE (Taksu Tech)
  2. Today’s Discussion • The inspiration of this topic • What

    is external packages/library • What could go wrong with “just import it”? • Why is this “culture” become concerning? • When is the right time to use one and how to choose the right packages/libraries? • Conclusion
  3. Nah, nothing could go wrong, until i add that last

    20+ “very-important-and-a -must-have” packages
  4. Answer Honestly Imagine yourself being a front-end engineer that given

    a mission to make this feature possible: Which option suits you the most? a. Discuss with team, estimate the time, make the task card, then code it. b. Discuss with team, estimate the time, make the task card, then npm install react-data-grid
  5. Hiding behind “Don’t reinvent the wheels” statement This is the

    common strategy that they use to justify their decision for importing packages/libraries *lazy and lame moves tbh
  6. When is the right time to use one and how

    to choose the right packages/libraries?
  7. The right time to use external package/library? Before you use

    one, ask yourself and the team this question: 1. Is this problem too big or too complex for the internal packages or libraries to handle ? 2. Did I word my query correctly when searching on Google to express what I am really looking for? 3. What actions haven't I tried before using an external packages/libraries? Special case: Some services require you to installing external dependencies (example: Inspector)
  8. How to choose the right external packages/libraries Some of many

    things you need to consider before installing packages/libraries: 1. Package/library published & last updated date 2. Number of open issues 3. The version that's supported with your code 4. Features offered and extra features you might need in the near future 5. Is there any compatibility issues with other libraries you are currently using 6. How much content is readily available (Docs, Stackoverflow, Articles) 7. Who are the people behind the package/library 8. Projected future improvements to the package/library 9. Community support 10. Licensing status
  9. 1. Tech bros debate on Twitter inspire me to make

    this talk 2. An external package/library is someone else’s code distributed to many people, intended to help solve repetitive problems, not to become an excuse for avoiding writing code. 3. PLEASE avoid relying too heavily on someone else’s code. This will make you lazy and start blabbering some bullsh*t to justify your laziness. 4. Arrange some discussion, question some things, and do research with team before deciding to use external packages/libraries. 5. Meme
  10. “Using external packages/libraries is okay; just don’t overuse them to

    the point where 90%~ of your project consists of someone else’s code.” - Wahyu
  11. Article Version: Scheduled to be released on 1 April 2024

    https://medium.com/@wahyuivan plz follow hehe 🗣🤓