Software Engineering Resources

May 4, 2022

How to use these resources

All these resources are meant to be used in various ways. You should always prioritize your physical and mental health and that is outside the scope of this document, but still needs to be acknowledged first. Click into the documents below for my favorite resources on the subjects that’ll make you a better engineer.

Software Development Lifecycle

The software development lifecycle, or less pretentiously known as, how software is built. Let’s think about any physical product we can imagine. For example, a pair of shoes. You can probably imagine what it takes to get a pair of shoes built; designing, materials, implementation, testing and iterations. Similarly, software has the same lifecycle. You can visualize a shoe factory and what it looks like, but with most things in Software, you can’t visualize how Software is built end to end. It’s not until you are in the Industry until you really get an idea of what that’s like.

Click the links to learn important terminology you should know about the industry below. Agile is a name given to the most common methodology currently to build software. DevOps is essentially the supply chain management of software. It’s a common methodology currently to automate development and deployment of that software to users. In conjunction you can build and release software quickly.

Resources

Link to an explanation of Agile and everything involved in the process. There are a lot of popular Agile methodologies but i’ve generally been on teams that use Scrum Agile.

Agile

Link to an explanation of DevOps by AWS

DevOps

Tools

A Software Engineer is someone who builds software. So what’s in a Software Engineer’s toolbelt? Since there’s many different types of Software Engineers who built different types of products, there exists a multitude of different tools.

Tools for all Software Engineers

These tools are recommended for all developers to learn. Software developers are essentially just authors of code. As authors we need to be able to write code that both computers and humans can understand. The computer needs to understand it to be able to execute your application and humans need to understand it to be able to collaborate when building software.

  • Editors
  • Terminals
  • Version Control
  • Debugging
  • Testing
  • Documentation
  • CI/CD
  • Cloud Providers
  • Databases
  • Containers
  • Monitoring
  • Security

Career Growth

This section contains information on how to actually make money with software engineering and how to progress your career. You can do free-lancing, contracting, consulting and work directly for a company.

There are a lot of resources to finding a job and progressing your career as a Software Engineer. This whole document serves as a general resource for that exact purpose. However, there are a few high level ideas that sum up getting a job. Getting attention from recruiters, interviewing and keeping up with the industry.

There are a lot of resources to finding a job and progressing your career as a Software Engineer. This whole document serves as a general resource for that exact purpose. However, there are a few high level ideas that sum up getting a job. Getting attention from recruiters, interviewing and keeping up with the industry.


Getting attention from Recruiters

Resume Resources

https://www.overleaf.com/latex/templates?q=software+engineering+resume

https://www.overleaf.com/latex/templates/software-engineer-resume/gqxmqsvsbdjf

Portfolio Projects

Make yourself a website! (Very easy)

https://www.youtube.com/watch?v=c02lc-bxrGU&ab_channel=TechZ

Build a full application (Hard)

https://www.udemy.com/topic/full-stack-web-development/


Interviewing

Coding Resources

https://github.com/jwasham/coding-interview-university

LeetCode

Cracking the Coding Interview

Getting good at coding interviews

Everything about Programming

https://github.com/charlax/professional-programming

https://github.com/EbookFoundation/free-programming-books

Questions to ask your Interviewer

https://github.com/viraptor/reverse-interview


Keeping up with the industry

These are just some valuable resources to stay up to date with what is going on in the industry. I personally visit HackerNews daily.

Say hi to me and networking with other engineers.

Resources

HackerNews

Reddit

YouTube

DevTube