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
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.