Resources I wish I knew when I started my career
Tags: beginners, career, softwareengineering, programming
Published: 2023-12-26 13:57:01


The transition from college to your first job can be pretty daunting. There are so many tools, and concepts which are new to you or even if you are aware of them, you don't have experience with them. 

I've tried to compile a list of useful resources, and good-to-know stuff which I've picked up after working for around ~6 years in the Software Industry. This is a list I wish I had when I started my career.

[1. Learn Git Branching](https://learngitbranching.js.org/?locale=en_US)
     
The very first challenge I faced was how to fix conflicts. Although I had used GitHub before, it was never in a collaborative environment - so I had never encountered conflicts. 

Learn Git Branching is a great resource for beginners to learn how to create branches, fix conflicts, cherry-pick - all of which are pretty handy. And the neat part about this is - it's not just theory, you get to execute the commands in the website itself and see the visualization.


![learn git](https://www.harshitkumar.co.in/static/images/learn_git.png)

[2. Awesome Lists](https://github.com/sindresorhus/awesome)

Awesome lists are curated resources related to a particular topic. Figuring out what tutorials to follow, what packages to use, and which courses to complete can be pretty time-consuming. 

If you have come across an interesting topic and would like to deep dive, search Awesome followed by the topic and hopefully there's an awesome list which will help you get started.

[3. Glossary](https://clutch.co/resources/software-development-glossary-88-essential-terms)

We software devs tend to use abbreviations whenever possible (perhaps as a way to communicate more efficiently). 
This however can confuse the new joinees, and the introverts might not gather the courage to ask what certain abbreviation means in bigger forums/meetings. 

Although I'd suggest folks inculcate the habit of asking questions if you are not there yet, you can rely on countless glossary lists online. In all likelihood, someone maintains a glossary list within your own company (devs have a habit of using abbreviations even when it comes to internal tools, services etc), so asking around for the same could help speed up your onboarding.

[4. Project Based Learning](https://github.com/practical-tutorials/project-based-learning)

I've mostly been a practical learner, so when challenged with a new language/framework/paradigm I prefer doing a small project to get myself comfortable with it.

[Build your own X](https://github.com/codecrafters-io/build-your-own-x) is another useful resource for a curious mind.


[5. Roadmap](https://roadmap.sh/)

Roadmaps are step by step guides towards a specific career path. It also has links to courses & resources to help with your journey further.

![roadmap](https://www.harshitkumar.co.in/static/images/roadmap.png)


[6. Newsletters]()

There are new tools, packages released everyday. It's tough to keep track of developments, newsletters are a good way to get the latest developments related to your favorite tech.
Here are a few I have subscribed to (do comment your favorite ones) - 

* https://javascriptweekly.com/
* https://bytebytego.com/newsletter
* https://console.dev/
* https://react.statuscode.com/
* https://nodeweekly.com/
* https://this-week-in-rust.org/

You could de-clutter your emails by having a dedicated label for your newsletters.

[7. Youtube Channel recommendations]()

Here are a few channels I follow and learn continuously from

* https://www.youtube.com/@freecodecamp
* https://www.youtube.com/@jsconf_
* https://www.youtube.com/@CodingTech
* https://www.youtube.com/@infoq
* https://www.youtube.com/@Fireship
* https://www.youtube.com/@hnasr
* https://www.youtube.com/@GOTO-
* https://www.youtube.com/@ThePrimeTimeagen


[8. CheatSheets](https://github.com/topics/cheatsheets)

A cheatsheet is a concise set of notes used for quick reference. They typically contain one or two pages of most important and frequently used information about a specific topic.

I've found cheatsheets to be really useful when starting with a new topic till I need to specifically deep dive into the topic.


---

That's it, Hopefully these resources will help someone who's new in the Software Industry. Let me know what you think of these resources and if there are any others you'd recommend