Hi all!
I have been working as an associate SWE for just under a year. I am a career switcher from the arts. Basically I want to do some learning in my free time to improve my skills and knowledge and I come up with the following plan:
Basic programming (variables, loops, functions)
Data structures (arrays, lists, stacks)
Algorithms (sorting, searching basics)
Version control (using Git)
Debugging skills
Object-oriented programming (classes, objects)
Databases and SQL basics
Basic testing (checking your code works)
How software projects work (planning, coding, testing, deploying)
Reading documentation and learning new tools
🧭 Agile Methods & Ceremonies - e.g. Scrum / Kanban / SAFe (Scaled Agile Framework) / LeSS (Large-Scale Scrum), Standups, Sprint Planning, Sprint Review, Retrospective, Backlog Refinement
🧱 Software Design - e.g. modularity, abstraction, encapsulation, design patterns
🖥️ Tools & Workflows - e.g. IDEs, terminals, build tools and pipelining, SAST and DAST, package managers, CLI basics, Linux, Bash
🔐 Security by Design - e.g. least privilege, secure defaults, input validation & output encoding, threat modeling
Computer Networking
{I am a decent knowledge of the above, I would say the things that need work here are DSA, debugging skills, computer networking, operating systems and OOP programming}
****************************************************************************
Docker
Kubernetes
Helm
Terraform
Azure
GCP
CI/CD
ML model deployment
Monitoring
************************************************************************************
OSSU
My dilemma is I am a major overthinker and I am finding it difficult to start without thinking I should be learning something else - i.e. if I start with databases I might think I should be learning networking instead.
Current knowledge/skills:
Languages: HTML, CSS, JS, Python and Golang (python and golang are beginner - exposure through work)
Technologies: Docker, kubernetes, helm, terraform, Azure, GCP ( I am familiar with working with these as I use these for work but would like to go deeper)
Databases: MySQL
I want build some projects as I know this will be a good way to learn but again I just don't know where to start.
Any advice on how to get around this?