Hi Dev World!
My name is Amanda, and I am a Software Engineer student.
It's a pleasure to join your community.
I thought a lot about my first post here, and to be sincere, I don't find myself ready to write a well-crafted post about anything programming-related as of yet. As a new programmer, I must admit that there are days where nothing makes sense, and I know I am not alone in this. I get stuck on the same problem for hours and cannot find an answer. After a few walks, some snacks, lots of questions asked, the desire to close the laptop and cry, and the occasional glass(bottle) of wine (weekends only or outside of school/work hours), I am capable of figuring it out.
So far, the most troublesome part for me about programming has been learning how to talk about code (I will address this in another post).
There are a few things that I find myself doing(very often) that are not practical, like opening multiple tabs about Ruby documentation (sometimes the same one), GitHub, or Stack Overflow. It can be incredibly overwhelming when your browser has over 40+ tabs open, or when I try to take notes about code on a Note-book, on an iPad, sticky-notes, and on the back of my hand (kidding).
So I decided to write my first blog post on the tools that are making my coding experience digestible, giving me back the time to freak out about whiteboard challenges and figure out why I keep getting NoMethod errors.
Some of these tools are free, and some you have to pay; keep in mind that these are just suggestions. You don't have to purchase anything. These are the tools that work for me and are guiding me through this learning journey.
So without further ado, here is my top five, in no particular order. I won't be adding the cost of any of the apps here. So you can google it yourself :)
Ruby is the first official programming language I am learning, and everything was going smooth until I learned about:
What an incredible and intimidating little tool. As helpful as it is to have every information about Ruby classes and methods, I must admit I have found myself with four tabs open with the same definition for the .reduce method.
Dash is an app that searches over 200 documentation sets for everything from programming languages APIs to Snippet Manager, and cheat-sheets.
Disclaimer: I paid for the app, but was recently informed that you can use it for free as well(there's a delay until you see your search). The app works for macOS only.
So instead of having multiple code snippets and or notes written across many different platforms, I decided to use Notion. Mind you, I know it's not a code-specific app, but it is an app I am familiar with and have been using for quite some time.
While researching the best note-taking apps, I did come across a few that are worth mentioning like, Boostnote, Stackedit, and Typora. I have not tried them, so if you have, please leave feedback about the app in the comments.
This gem was first introduced to me by a fellow engineer. It's a community-driven website with easy to digest basics in different languages. One of the cool things about this website is that it's available in multiple languages. What I love about it, it's the fact that the documentation is short, easy to read, and it goes straight to the point.
Awesome is a helpful directory of all kinds of subjects in programming. In other words, it's a kick-ass list of kick-ass lists! Right now, I am using it to learn more about git. (Likely to write a post about git later).
And lastly, I recently came across this helpful site called Leetcode. Leetcode is a platform that helps you improve your skills, expand your knowledge, and prepare you for technical interviews. The platform offers daily challenges, contests, monthly challenges, and tech questions for specific companies like Google, Apple, Facebook, Microsoft, and Amazon.
Leetcode is free to try, but it does offer some kick-ass benefits on its premium subscription. I am still in the early stages of using this app, and I might be getting ahead of myself, but these challenges are proving to help solidify my understanding of programming.
And this sums up my list.
I am always looking for new tools and am open to suggestions.