10 Tools And Resources I Use As A Software Engineering Student.
September 16th, 2024
September 16th, 2024
As university students, it is important to make good use of your time. The modern world has various offerings that will help you complete tasks quicker and more efficiently. I’ll be sharing some of these tools and resources that I use as a Software Engineering student. They help me achieve my academic goals, as well as help me grow as a developer.
Software Engineering is a blend of theory and practical work. Some courses are purely based on theory, while others require a lot of design and coding. Unless its math related, I like to keep my work online. This is so that I can access my notes on my phone, for cases when I can’t use my laptop. I also keep a notebook for messy notes and calculations.
Arc is a minimal and aesthetic browser made by The Browser Company. I use Arc because of 2 main features. Firstly, you can create spaces and switch between them easily. The second reason is that you have the ability to split the main view into multiple panes. I typically have my lecture notes open on one pane with tutorial questions or notion on the other pane.
Notion is a web based note taking platform that comes with a mobile app. Instead of making notes, I write down questions during lectures and answer them afterwards to check for understanding. The questions are created using accordions, so that the answers are hidden for when I revise next. I also add a colored emoji beside every question for active recalling.
Microsoft 365 is a popular suite of apps used for both daily and specialized tasks. You can sign in at office.com using your student email to access the online version of these apps. Other than the usual (Microsoft Word, Excel, Powerpoint), there are some less common offerings like Lists, SharePoint, and Stream. I often use Microsoft Visio to make UML diagrams.
Exam papers from previous years are probably the best resource for students. Since exams papers are made from a large pool of questions, the odds of past year questions appearing in your exams are relatively high. You should be able find these papers and their solutions at your universities online library. USP students can find it here.
IEEE Explore is an engineering oriented academic database that I commonly use to complete research based assignments. Just like Microsoft 365, this is a paid resource which can be accessed using your student credentials. If you are a USP student, you also get access to these databases for free. Incase you don’t have access, Google Scholar is a lightweight alternative.
Outside university, I am a sef-taught, fullstack web developer. Alongside building projects, I like to learn about how technologies work under the hood, as well as real-world conventions and standards associated with them. Luckily, such information is very accessible, mainly due to the increase in open-source software.
Visual Studio Code is my preferred text editor as it very customizable and extensible. It’s like a shell you can use for any type of programming. Not only do I use if for web development, but I also use it for my university related C++ work. All of the web based technologies I use have VS Code extensions that make using those tools much easier.
Git is a tool that lets you manage versions of you code. GitHub is a cloud platform for code storage (for my main use-case). Both these tools have various other features that enable me to work on the same project with other people with ease. It will be a great idea to learn Git and GitHub early on as they are a must-know in todays tech world.
GitHub is also home to some of the worlds largest open-source software. This means you can view the source code of projects for free. I tend to go through these repositories to see how companies architect their software and structure their codebase. This process also helps me discover more libraries and frameworks.
All web technologies have a blog and documentation page on their website. Going through the docs helps me understand the technology better. The real gem is the blogs page. These typically have customer stories and more generalized content. Reading them will helps me understand the tool at a broader and more real-world level.
Roadmap.sh is a community driven project that offers developer roadmaps for various skills and technologies. I don’t go all the checkpoint for the roadmap I’m interested in. Instead, I use them to create an outline for myself based on important concepts. I then use other materials like YouTube tutorials and documentation to learn these on my own.
This combination of tools and resources help maintain my grades, while allowing me to build fun projects. These might not be suitable for everyone, and luckily, alternatives exist for each. The quicker you find what suites you best, the quicker you’ll be able to adopt them into your life in a natural way. With that being said, I wish you best of luck in your academic journey!