I’m going back to school.
Okay, not really, because I’m not actually going to a formal school of any kind – unless you count Udemy or FreeCodeCamp.org.
To be more clear, what I’m doing is building myself a curriculum for learning computer science and programming. Rather than apply to a community college or university degree program, I’m creating this program myself. The curriculum is based on a few things:
- My personal interests
- What the current job market is asking for
- The path I want to take with my career
Pretty simple, right? And although I’m building this learning program myself, it’s not being conjured up out of thin air. I’ve put together a plan based on what my developer peers have suggested, what I’ve seen listed in job postings, and what programmers who do what I want to do have already learned.
Why not school?
The last time I attended a college of any kind was in 1994. That was Community College of DuPage in Chicago, for film studies. I’ve never earned any kind of degree from any college.
Despite my lack of degree or certificate, I’ve been able to forge a pretty great career in art, animation, and video by using one part experience, one part persistence, and one part dumb luck.
I don’t have anything against degrees, I think they can be helpful to many people for finding a good job. It’s just not the path I took in my art career.
Now that I’m forging a new career in tech, I feel that the same non-degree path I took in art might serve me just as well. I’ve seen evidence of this from my peers on social media, many of whom did not earn a degree before finding great work in tech. What I’m seeing is that while a degree can be helpful, experience and a portfolio of projects does just as well.
There are other factors influencing my decision not to go to a formal school. The main one is time. Currently, I’m running a screen-printing business, doing freelance writing, and running a small solo business helping people maintain their WordPress sites. I’m also the only driver in our family, so grocery shopping and any other kind of outings or appointments are automatically on my schedule. It’s just not possible for me to either take classes or conform to a formal online school schedule.
My plan – and I do have one – was put together over the course of the last year. It’s evolved as I’ve learned more and gravitated towards the things I really enjoy – and can see as a viable way to eventually make a living in tech.
Here’s a screenshot of my curriculum as I’ve outlined it in Notion:
As for Linux Admin, that’s one job that I think I would enjoy doing every day, from working with people in IT at large firms where I’ve been. I’m doing a certificate program, so hopefully, combined with my current experience in systems and databases, I’ll be much more employable when I finish.
One thing that is super important to me is learning a good foundation in computer science. I know a lot of devs who can use frameworks and tools but don’t really understand what lies beneath. I’m interested in that on a personal level, and I also think learning the basics, along with machine learning, will make me a better dev and sys admin.
In computer science, I’m studying this course from MIT. I’m also working on machine learning doing experiments on a Raspberry Pi. The book I’m following uses Python combined with an obscure language called Prolog, which is somewhat of a distraction at times, so it’s not a big priority right now.
I’m putting together a weekly schedule for myself as if I was actually going to school. I’m motivated enough, but one thing that concerns me is life and my other work getting in the way. It will be challenging to stay on track when I get overwhelmed with other things, which is actually happening right now. I’ll need to find ways to hold myself accountable – no small task.
It’s important that I work on this for at least an hour, a minimum of 5 days per week. I’m self-employed, so weekends and weekdays don’t really mean much in my world. There’s a luxury and a danger there because while I can study any day of the week, it’s also easy to let it go for too many days, thinking that I’ll just make it up when I have more time – which ultimately never happens. I’m probably overthinking this.
I’ll see how this goes as we move into 2022. I don’t have a solid end date for any of this, a day where suddenly I’m “done.” I know that I won’t ever be done learning, which is actually kind of exciting to me. If I can stay on course through the year, I’ll hopefully have some projects built and be able to find good work before 2023.