How to learn a new "Technology"?
Tags: opensource, webdev, beginners, programming
Published: 2024-02-20 22:55:30

## Introduction
Every day amazing technologies like Appwrite, Dyte and 100s of tools like these are arriving in the market. And as developers to always stay at the top, we would want to try them out! This article focuses on getting helping with a general curve to understand these technologies and adapt them as quickly as possible.

## The problem
I feel as a developer when we're learning new stack or technology we're always stuck with boiler plates and making the best use case out of them. We always try to implement something new with the boiler plates and miss the initial settings on how they were supposed to be used.

## Discussion and Solution
What I've figured after learning through many open source techs is that, we're always stuck in implementing our own thoughts onto the tech. For eg a new library like svelte is introduced, we focus on adding TS features, get routing features and try to add features which we like into that ecosystem. What we don't realize is that the context of that tech stack and the ecosystem is limited. And that we get quickly frustrated when we can't do something with these technologies. Below are few pointers that we've to keep in check while we're taking a step towards them

- **Keep in check with your expectations**: Always make sure, you implement the base boiler plate the technology/tool is implementing and then try to add your own features
- **Learn to read through Documentation**: What I've realized from my own experience, we skip through the boiler plate documentation as if we know it already. But the ecosystem of this tech has its own context and caveats is something we always forget. So let's keep a habit of reading through initial docs quickly.
- **Keep learning through stack over-flow and blogs**: Yes, that is important, _ChatGPT and Bard_ might not have full context of the problem you're solving, and in general it's good practice to learn more about the technology from blogs and stackover-flow discussions then AI learning. 

- **Take smaller steps**: No one is here on time limit judging you how fast you can understand a stack and implement it, start small; learn about the boiler plate. Read though config files and caveats of the stack. And then slowly add your flavor to this. Once you know the more about the ecosystem, have interacted with the community; you can start adding advanced and complex features you would want.

- **Always make sure to Document**: When trying out new stack there would be instances, where you'd not be able to resolve something the traditional way, draft a small blog about the solution that you found. This is going to help both beginners like you who're trying the technology and you when in future you come back to the technology facing the same problem(happened to me 100s of times when I want to initialize a node project with ts)

## Conclusion
Go incremental with your project, learn more about the ecosystem. Write about the problems you faced. Manage your expectations and apply advanced features slowly.

Let me know in the comment section your thoughts on this topic!