The Software Developer 👨‍💻 and Package 📦 Loop 🔁
Tags: programming, beginners, codenewbie, hacktoberfest
Published: 2021-10-08 11:34:02

## Introduction
If you are reading this, you might think about these questions. **🤔️Should I focus on learning a software package than the programming language they built it to support? or 🤔️Should I know every detail about a software package to be employed?** 

If the questions above describe you, I think it is good you continue reading⬇️.

While writing this blog, I wanted to share tips that helped me improve📈️ as a self-taught developer. 

One major problem that hindered my learning path📉️ was trying to memorise the software packages I used to build software apps.

**About software packages**

In any programming language, be it Python or JavaScript, the community builds and provides software modules known as packages. These packages help you develop your applications without knowing the low-level details of how they perform them.

Some of these packages have their communities that help improve the package. Packages like React, Django, just to name a few, host conferences to learn best practices of using these packages. In addition, job descriptions include these packages as requirements to be qualified for a job.

Because of the points above, many entry-level software developers seem to focus🧐️ on being good at using software packages which is not appropriate. 

As a software developer, it is not appropriate to focus on being good at using software packages and I clarify why you don't need to below.

## Reasons you don’t need to memorise a software package📦️.

To begin with, let us list my three reasons you shouldn’t focus on being good at using a software package.

The reasons are:

* Software packages have a purpose.

* They can depreciate over time⏳️.

* They have documentation📑️.

Now let us discuss these reasons.

### Software packages have a purpose

Every software package we use as developers is a tool to achieve a specific goal. For example, you can use React to build outstanding user interfaces for mobile or web applications and that will be the purpose of React for you. As a result, the important thing to know is how to apply a package to your use case.

### Software packages can depreciate over time⏳️

So, just like any package at the supermarket, software packages and their functions become obsolete or deprecated. This happens to either improve software packages or create new ones that better implement the purposes of the older packages. As a result, users must update their knowledge about a package. For instance, you cannot apply the way you did things in Django version 1 to how you do it in Django version 3.

### Software packages have documentation

Documentation is a manual written by the creator of a software package on how to use it. Although some creators do not write good documentation, your ability to read documentation can guide you on how to apply a software package. As a result, it is important to learn how to access this documentations and well use it.

## Tips on how to overcome the problem of memorising software packages 💪️

The list below helped me to get out of the software package loop and you can try it.

1. **You must have a use case for a software package.** A use case will guide you on how best to learn and apply the package. For instance, a project may require you to build an E-commerce site for a large-scale business. This use case can guide you in selecting a software package like Django.

2. **You must develop the habit of reading package documentation.** The habit to access and read package documentation can help you apply a software package to a use case.

3. **You must focus on learning the programming language.** This is because the packages revolve around the programming language and not vice versa. For example, if you know JavaScript, you can learn and understand React or any JS package. This is because the React team built React using JS.

4. Also, your **knowledge about a programming language can help you contribute to improving the package**. For example, if you know JavaScript, you can contribute code to any JS package.

5. **You must write notes about how you used a package to solve a problem**. These notes can serve as a reference to you later.


## Conclusion
In conclusion, you shouldn’t focus on learning a software package than the programming language they built it to support. Also, you shouldn’t know every detail about a software package to be employed. 
**You being able to apply a package for a particular use case is important than memorising it.**


What are your thoughts about this topic? Also, what are some tips that helped you grow as a software developer? Share your answers in the comments section.

If you enjoyed this blog, do well to like 💜️ and share it with friends. Also, follow my account for more interesting blogs and consider following me on [Twitter🐦️](https://twitter.com/iam_randyduodu) and [LinkedIn](https://www.linkedin.com/in/randy-duodu/) account for more developer-related content.