My Software Learning Journey

Mar 06, 2024

My Software Learning Journey

Bootcamps, workshops, degrees, and self learning reflection.

Why software development?

I would absolutely consider myself a lifelong learner. I've held a lot of interesting jobs, had some pretty strange hobbies, and never missed an opportunity to learn more on a subject that interested me. My introduction to software came from this desire to learn more and I've taken a few paths to gaining this experience.

I had a good run on Myspace in the early 2000s, but really started learning about software development around 2011 when I was a high school student, dual-enrolled at my local community college. I took courses on C++, HTML, CSS, and JS. I built sites for my college, family, and friends, (look at this gem) and fell in love with designing websites and decided to follow that passion. That ultimately took a backseat as my side-hustle, as I grew into a career in museums and archives.

Fast forward to 2022, I met a pretty amazing software engineer (Rob Martin) that listened to me complain about the lack of resources and adequate softwares that museum and archive professionals have for their work. He, being the logical problem solver that he is, suggested that I just make one.. duh. I found an area of research in my work where I felt the least amount of support and resources were created online and started thinking about how I could fill in the gaps (I encourage you to peek at BMC Yearbook to see what we made). While that is a story for another time, I wanted to share why I choose certain learning materials to learn software development, my opinion on how they've helped me in my work as a software developer now, and share some of the projects I got to complete as I learned.

Bootcamp path - SheCodes

I completed my SheCodes Front-End Developer bootcamp in the summer of 2023. We covered HTML, CSS, JS, APIs, using Github, hosting with Netlify, using Bootstrap and Flexbox, building responsive sites, and an introduction to React.

Given that this bootcamp is only for women, I recognize that it won't be the best option for most, but I'll share some pros and cons from my experience with the lessons and projects we completed.

I think that this bootcamp is a great introduction for any ladies that have little to no experience. Most of the lessons in the beginning of the bootcamp were refreshers for me (and may be for anyone else that updated their Myspace profile daily), but a great foundation to start with.

One of the best features of this platform is how active they are on the Slack channel. There are different channels for each workshop and each lesson, so you can ask really specific questions and get really detailed answered on how to solve your problems. I also spent a lot of time here answering other people's questions because it helped me to solidify the concepts we covered. The instructors were very friendly and pretty quick to respond.

I think that this bootcamp is great for introducing concepts in a way that is easy to understand. I felt that some of the lessons were not deep enough for the level of understanding that I was looking for, especially in the React projects, but I supplemented with self-learning and other online courses and ultimately got a pretty good baseline understanding by the end of it.

The projects we completed were fun. We made a weather app to learn APIs, world clock to learn more about date and time, a dictionary app (which was my favorite), a few responsive websites, and a portfolio site to share what we learned. I built my own with just HTML and CSS, and that is on my Github if you want to see each of the projects we did in detail. All code and deployed apps are available there. You can also view my SheCodes profile to see what I worked on.

There was also a section for competitions and it was really fun to see everyone's progress and have a place to really go wild and design something from nothing. Another real plus to this workshop was that there was a lot of space to make the designs of the projects your own if you wanted to, but there was also a template to follow if you didn't.

Self-Learning and Courses

I often turned to courses to cover topics where I felt I needed more help to understand. I found that Maximilian Schwarzmüller had some great courses on Udemy for React that I would highly recommend.

I completed this course from the summer to winter of 2023, all 70 hours of lectures and 37 projects. We made a delivery app, expense tracker, a task manager app, investment calculator, and many more. We got to use different tools and npm packages, so a lot of what I learned was transferrable. He also updates this particular course regularly. Once I got through about 90% of the course, the 2024 update was released and most of the lessons were updated with more relevant content.

I found that he took concepts really slow in the beginning and built off of the knowledge for each lesson. He has a wonderful personality as well, really happy and encouraging. I always looked forward to my lessons while taking this course and I posted about it on Twitter for #100DaysofCode, where he always commented and praised my completing of projects.

I know there are a lot of resources on Udemy and Coursera, and I think that is a great place to start and to jump around and find an instructor that you really click with.

Paid Workshops

The most beneficial resources that I've found were those created by Kent C Dodds for Epic React and Epic Web especially, covering React and Remix. I recognize that some of the workshops are pricier than finding a course of Coursera, but it is worth every penny! Kent is so knowledgeable and teaches methods that I literally use every day for work and personal projects. When I have work projects that are more complicated, I go back and reference these materials as well, they're so helpful!

Kent has been one of my greatest cheerleaders since starting the workshops in late 2023 and was always active on his Discord channel and through office hours. His Epic Web course platform is really incredible, it allows you to follow along with video lessons, chat with people that are on the same sections as you, see your changes versus the desired solution to see what you've missed, there are just so many resources to help you learn.

What is great about the structure of these workshops is that you're encouraged to learn a concept, practice it on your own, and then get detailed feedback to find a solution. I've spent a lot of time going in the wayyyyy wrong direction before figuring it out, and I think that is how you really learn.

Kent's workshops are the only paid workshops I've participated in and I don't have any need to go elsewhere for the content matter he's covered (we even get into SQLite, Prisma, Zod, Conform, and LOTS of testing resources). I'd buy any courses he makes in the future, as well.

Traditional degree path

I have the most experience with traditional academia. I completed two graduate degrees and started a PhD program in 2023, so I feel equip to share the pros and cons of this path. I feel that most of the coursework I took to complete each level of my degrees was certainly filler classes and not relevant to any professional work I've done thus far. I have always kept in mind that colleges are businesses and you as a student have some responsibility to make choices that benefit you and your goals beyond following a curriculum. Most of my work required grad degrees, but the experience they hired me for was done in internships or work that I did outside of my program. Just food for thought!

Where I think this path benefits any individual is in exposure to different ideas and people, and to have a place where you can experiment and ask questions. I've had some pretty horrible academic mentors, but I've had some really great ones too. The great ones help with networking, finding relevant opportunities to the work you want to do, and really encourage you to do better.

Also, an experience outside of my own, my partner has a computer science degree and I think he's more equip to engineer solutions because of his DSA training and exposure to different programming languages. I recognize that he has a deeper understanding of problems where I may only see patterns or may know what question to ask to get started. I'd still recommend a CS degree to anyone that has the option to pursue one.

I started a PhD in Digital History at Clemson University (while also taking bootcamps, learning was my full-time job in 2023) and I think the most influential "technical" topic class that I took was about computers and ethics. To anyone that is considering which path is best for them, no matter what you choose, I encourage you to spend some time reading about UI/UX, data ethics, and bias in software to better understand who you're making applications for.

I hope this was helpful for anyone thinking of how to get into tech, what resources are out there and maybe some places to start looking. I'm always available to chat code on my Twitter, feel free to connect there!

Gallery

Gallery Image 1
Gallery Image 2
Gallery Image 3
Gallery Image 4