Aspiring to be a software engineer
If you are aspiring to be a software engineer, this is my guide to getting started:
A quick note from me before getting into the content below:
The information below is not self-sufficient for you to learn. It is super important to have a mentor who will introduce you to this material and be there as you go through it.
Yes, you can watch all the below, but it is crucial the understand the WHY. Why something works the way it does is what I can help with.
If you need a mentor, feel free to reach out to me on https://www.linkedin.com/in/almirmustafic/ and if my time allows I will help. I just want to explain that there is a difference between being a mentor and being a tutor. I am not a tutor; I could be, but there isn't enough time in the day. Tutoring requires a lot of time that I don't have. The best way to approach this is to take this journey together with a friend so you can help each other out and get each other unstuck and use me as a mentor to guide you in the right direction.
Please keep in mind that if for example a video below is 2-3 hours long, it may mean that you need to slowly go through it (pausing often) and you may need up to a week to finish. Don't watch these videos as a movie; watch them as true tutorials that require a lot of time.
Don't be afraid to dive in, learn and geek out 🤓
Operating System knowledge
Windows 11 (Batch scripts, PowerShell, and/or how to set up Linux on it and run bash scripts)
Beginner Tutorial: https://www.youtube.com/watch?v=5kt4t2gzt9g
Windows Command Line tutorial: https://www.youtube.com/playlist?list=PL6gx4Cwl9DGDV6SnbINlVUd0o2xT4JbMu
Mac OS (if you have access to a Macbook)
Beginner Tutorial: https://www.youtube.com/watch?v=9mDK3C2em7M
Terminal or Command line tutorial: https://www.youtube.com/watch?v=j6vKLJxAKfw&list=PL-osiE80TeTvGhHkpvfmKWOiIPF8UVy6c
Linux (basic Linux knowledge and Bash scripting)
Intro to Linux: https://www.youtube.com/watch?v=sWbUDq4S6Y8
IDEs / Code Editors:
Visual Studio Code (free and works on all operating system) (good for Javascript, C#, Python and Java code)
Full tutorial: https://www.youtube.com/watch?v=heXQnM99oAI
Visual Studio (for .NET C# programming)
IntelliJ IDEA (best IDE for Java programming) (community version is free on JetBrains.com site)
Full tutorial: https://www.youtube.com/watch?v=yefmcX57Eyg
PyCharm (best IDE for Python programming) (community version is free on JetBrains.com site)
Full Tutorial: https://www.youtube.com/watch?v=hc50ALh_x5g
Sublime Text (very good for Javascript coding)
Playlist of tutorials: https://www.youtube.com/watch?v=SVkR1ZkNusI&list=PLpcSpRrAaOaqQMDlCzE_Y6IUUzaSfYocK
Fundamentals of Programming:
Programming Fundamentals: https://youtu.be/zOjov-2OZ0E
Different programming languages and courses: https://www.youtube.com/@freecodecamp/playlists
JSON file format for beginners: https://www.youtube.com/watch?v=GpOO5iKzOmY
XML file format for beginners: https://www.youtube.com/watch?v=KeLiQXqVgMI
Python Programming:
Basic info: General purpose language as Java and C#, but this language is not compiled like C# and Java. Some companies use this as the programming language for backend applications, and this could be your first language but you need to either learn Java or .NET C# as well.
Python for beginners FULL course: https://www.youtube.com/watch?v=_uQrJ0TkZlc&list=PLqvax0hpJpUj779ezaCBRimInUfuZ_Ell&index=5
Another good Python for beginners FULL course: https://youtu.be/4F2m91eKmts
Python Tutorial: https://www.tutorialspoint.com/python3/index.htm
Python Flask APIs: https://www.youtube.com/watch?v=GMppyAPbLYk
Python Flask tutorial playlist (Tech With Tim): https://www.youtube.com/playlist?list=PLzMcBGfZo4-nK0Pyubp7yIG0RdXp6zklu
Node JS Programming:
NodeJS APIs: https://www.youtube.com/watch?v=Oe421EPjeBE
Java Programming:
Java Full Course for beginners: https://www.youtube.com/watch?v=Qgl81fPcLc8
Another great Java Full course for beginners: https://youtu.be/GoXwIVyNvX0
Awesome Java tutorial with examples….go through all items in left navigation: https://www.tutorialspoint.com/java/index.htm
SpringBoot 2 (Framework for Java that is used in industry): https://www.youtube.com/watch?v=r-6BwGW4Sr8&list=PLqvax0hpJpUhDm3iKtlObQJJvkw1ps3Qf
Spring Framework (more on this framework widely used for Java programming): https://www.youtube.com/watch?v=rMLP-NEPgnM&list=PLqvax0hpJpUhDm3iKtlObQJJvkw1ps3Qf&index=3
SprintBoot dependency injection (more advanced): https://www.youtube.com/watch?v=K5bkniAjkZA&list=PLqvax0hpJpUhDm3iKtlObQJJvkw1ps3Qf&index=6
.NET C# Programming:
C# Full Tutorial: https://www.youtube.com/watch?v=GhQdlIFylQ8
TutorialPoint awesome tutorial with all capabilities of the language: https://www.tutorialspoint.com/csharp/index.htm
Advanced topics:
Intro: https://www.youtube.com/watch?v=J3AkSbsgKT8&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX
https://www.youtube.com/watch?v=OxuJstbHPyE&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=2
https://www.youtube.com/watch?v=Xgs0ZD8wglg&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=3
https://www.youtube.com/watch?v=mGkO7oM5Vl8&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=4
https://www.youtube.com/watch?v=3FvT6uNMT7M&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=5
https://www.youtube.com/watch?v=9K9Aq7die7Q&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=6
https://www.youtube.com/watch?v=qmdziLz51w4&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=7
https://www.youtube.com/watch?v=KVp_E-hTG0k&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=8
https://www.youtube.com/watch?v=D3OCSkXLFuk&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=9
https://www.youtube.com/watch?v=Z6YWWRUcJis&list=PL1OYTSGn7ia-drv5-xugztYN6D9Jx2wJX&index=10
Web Development (Javascript):
HTML full course: https://www.youtube.com/watch?v=kUMe1FH4CHE
Javascript full course: https://www.youtube.com/watch?v=PkZNo7MFNFg
Full Stack Web Development for Beginners (HTML, CSS, Javascript, NodeJS, MongoDB): https://www.youtube.com/watch?v=nu_pCVPKzTk
TutorialsPoint awesome tutorial for Javascript: https://www.tutorialspoint.com/javascript/index.htm
Scripting:
How to run Linux/Bash on Windows 10: https://www.youtube.com/watch?v=xzgwDbe7foQ&list=PLqvax0hpJpUgMZfxp5aJkDXdssvV6HrfO&index=2
Bash beginners guide: https://www.youtube.com/watch?v=oxuRxtrO2Ag
Bash scripts with practical examples: https://www.youtube.com/watch?v=TPRSJbtfK4M&list=PLqvax0hpJpUgMZfxp5aJkDXdssvV6HrfO&index=5
SSH into a server ?? (Windows: Git Bash) (WinSCP)
Managing your code in source control:
RESTful API or Web Services:
Restful API Course: https://www.youtube.com/watch?v=BZi44GOD8kY
Postman tool tutorial for APIs ….good way to learn more about how APIs work: https://www.youtube.com/watch?v=Iq7eh6DhN6M
Cloud Computing:
AWS:
AWS Full Course: https://www.youtube.com/watch?v=3hLmDS179YE
AWS Tutorial: https://www.youtube.com/watch?v=IT1X42D1KeA&feature=youtu.be
FULL guide and tutorial for building a Modern Application in the cloud with Java. If you do this, you can create a website and API backend and host it in the cloud: https://github.com/aws-samples/aws-modern-application-workshop/tree/java
FULL guide and tutorial for building a Modern Application in the cloud with C#. If you do this, you can create a website and API backend and host it in the cloud: https://github.com/aws-samples/aws-modern-application-workshop/tree/dotnet
FULL guide and tutorial for building a Modern Application in the cloud with Python: If you do this, you can create a website and API backend and host it in the cloud: https://github.com/aws-samples/aws-modern-application-workshop/tree/python
MISC links:
Learn to Learn: https://youtu.be/vd2dtkMINIw?si=WHT-YN83X9K5UOeC
Learned to Code in 4 months: https://youtu.be/WR1ydijTx5E?si=oWdIDuWX4gvNi2_6
Career Change to becoming a software engineer: https://youtu.be/YdWkUdMxMvM?si=asvMOEVBOsuOSKcm
Diagram describing the basic landscape of software engineering:
Ultimate Goal #1 for your coding journey:
Your pet project goal is to build something in 3 steps.
Each diagram attached is the step you need to take.
Don't jump to SPA(Single Page Application) front end and microservices approach right away.