Tools of the trade
Growing up I was always fascinated by tools, especially how easy they made certain tasks easy to perform. Apart from knowing data structures and algorithms, every good software engineer has a toolkit of apps and services which they use to make their jobs easier.
For now, I just wanted to list some of the tools/services I use very frequently in my work and at school.
IDE
- Visual Studio 2017 Community Edition: I use this for coding projects in C# and JavaScript. It is free and open-source and comes with numerous extensions.
- VSCode: It is very lightweight, has many great extensions, free and open-source making this my primary tool for coding projects (mainly HTML, Java, and Python).
- Notepad++: My primary tool for quickly viewing and editing projects.
- JSFiddle: I use this when I want to show or edit some code in real-time and for asking questions or answering questions related to StackOverflow There are fiddles for all major languages available online and this can be used for trying out some sample code.
Environment
- VirtualBox: I generally use it to create environments for coding. I usually keep environments for Node.js projects, ML projects, and different classes in my school.
- Docker Community Edition: Very useful for sharing code between peers.
Cloud
- AWS: This is the main cloud environment where I deploy projects. It is very easy to spin off an VM and deploy to it.
- Azure: I use this for deployment of bot projects as it integrates nicely with C# projects.
Source Control
- GitKraken: Very useful for visualizing changes to branches.
Database
- MySQL Workbench: Quick and dirty testing on local disk.
- MS SQL Server Management Studio: I use this generally for .NET projects.
Messenger
- Slack: Very helpful to communicate with teammates about code and documentation.
Code Quality
- ReSharper: An extension which integrates with VS 2017. This is available for free for students. Its correct usage instantly helps improve code quality and provides best guidelines. I absolutely adore ReSharper but its cost deterred me from buying it for myself. I was lucky enough that I have never had to go without it and as a student, I get to use it for free!
- Code Climate: Integrates with Github and provides guidelines on projects after commits. I was introduced to this after I was seeking to review all my code which I had on Github. It is an excellent tool, albeit still a work in progress.
API Testing
- Postman: I use it to quickly test API's for request and response structures.
- Fiddler: I use it mainly to load web apps, view and replay entire browsing sessions.
Task Manager
- Waffle: Integrates with Git directly.
- Trello: This helps me keep track of long-term projects.
Notes taking
- Instapaper: My favorite notes app for screens and videos.
- OneNote: Usually used for written notes.
- Evernote: Also used occasionally for clippings.
- Google Docs: I use it for collaboration documentation sharing with team mates.
Presentation
- Microsoft Powerpoint: An essential tool for quick presentations.
- Prezi: I love the UI effects on this one.
These are just some of the generic tools in my toolkit. I would love to hear from others if I have missed anything or some of the tools which they use in their daily work. So please comment and let me know!