Combining DOM manipulation with a bit more logic. Play against the computer, which makes a random move.
This was the final assignment for my Intro to Web Development class – a pomodoro timer that counts 25 minute cycles of work followed by five minute breaks. It was a pair coding project; my contribution was mainly the graphics, including functions to click buttons and display the remaining time visually.
Ever since I heard about coding bootcamps for the first time, the possibility of going through one has been bouncing around in the back of my mind. So this year, when I lost my job during the Coronavirus lockdown, I knew it was time to make some decisions. Some of the decisions I ended up making surprised me a little, though.
First of all, I decided that I do want to give this a shot!
I’m not sure how it will pan out, but I decided that I’ve wondered about that long enough – now it’s time to spend two to three months throwing everything I can at this, and see where I end up.
Second, I decided that although it’s not commonly recommended, I want to specialize in WordPress and the technologies that make it work.
Third, I decided that rather than applying for a bootcamp, I wanted to do this on my own.
For me, there are personal reasons to choose WordPress, specifically my employment history: I’ve worked as a graphic designer and content writer, so I’m very familiar with WP from a user’s perspective. In fact, I set up so many websites for myself that I eventually started doing freelance WP setup for others, using customizable themes – so for me, I guess this was kind of a no-brainer.
There are plenty of other reasons, though. Like:
- According to Google, 35% of websites are powered by WordPress. That’s a lot of potential work out there!
- The culture of WordPress businesses, in general, seems unusually appealing and friendly, especially in comparison to other technology environments. I’ve been looking at lots of job listings and many employers offer diversity initiatives, flexible time-off, remote work, travel and other perks for employee satisfaction and work-life balance.
- There are relatively few barriers to entry. While skills are required, less jobs seem to expect years of senior development experience, and a lot of jobs fall all over the technology-expertise spectrum, from relatively non-technical customer support to high-level engineering work. I like to think this means there’s potential for specialization and also advancement.
- The actual work of WordPress development seems to involve a good bit of design tweaking, as well as some back-end coding. Do you like that combination? I think I do.
- The LAMP stack technology that powers WordPress, including PHP as a back-end language, can do almost anything that other web development stacks can do. While it’s an older and less popular choice outside of the WP community, if you master these tools you can build all kinds of things besides blogs. As you progress you can add other contemporary tools to build on it, like the Laravel framework, if you feel at all limited.
- PHP is supposed to be relatively easy to learn, and that’s not a bad thing!
Ok, but Why DIY?
Again, largely practical reasons. While I appreciate that the cost of bootcamps is pretty reasonable for what they are, and a lot of them do their best to offer financing options, I was still unable to find one that combined financing I could live with (nothing much upfront) with scheduling I could live with (I have kids and other responsibilities, and might have to look for another job before I finish this training). Plus, very few of them focus on WordPress and/or the LAMP stack. I do feel like I’m missing out somewhat on personal assistance, accountability and networking by learning on my own, but I’m doing my best to fill in those gaps.
For what it’s worth, though, the total cost of this program ranges from about $100 if you buy as little as possible (basically a hosting package–I like GreenGeeks, they’re helpful and eco-friendly–and one or two cheap video courses) to about $700 if you buy everything I mention and a used MacBook Pro, like I did. Also, I’ve been coding an average of about four hours a day, whenever I can get around to it. So, that budget and flexible scheduling helps me to overlook a lot of shortcomings.
On to the Plan!
Speaking of hard, though, please, please read this article about why learning to code is hard and that’s ok. Having someone explicitly explain all this to me is the solitary reason I’ve been able to make the progress I have, so far. While you’re at it, figure out how you’re going to get support. The Odin Project Discord server has been key for me at several points, which is one of the things I love about that program. Dev.to and Twitter are also home to unsually supportive and diverse tech communities, and I especially recommend the #100DaysOfCode challenge and Code Newbies on Twitter. Another thing to consider is learning in public. This concept has been pretty inspirational to me, and a big part of why I’ve pushed myself to get this blog up and running and make it to the current post.
After completing most or all of the Odin Project front end, here’s what I would add:
A free trial at Treehouse, or a month or so basic subscription if you need/can swing it. This, by the way, is an affiliate link – but I’m paying for a month and getting through as much as I can; it’s a pretty easy to follow and comprehensive resource. I recommend the introductory PHP track to get some background before diving directly into WordPress.
Then, this Udemy course. It’s a very straightforward, step-by step introduction to theme and plugin development that quickly got me up and running, turning my hand-coded dev portfolio into this simple WordPress site (my first custom theme)! I haven’t done it myself, but if you’re entirely new to WordPress as a user, too, you might want to check out the same teacher’s WordPress for Beginner’s course. By the way, don’t pay full price for Udemy courses unless it’s an emergency, because they often go on sale for about ten dollars. Full disclosure: I’m currently on day 43 of my 100 days of code, and this is where I’m at in my own learning process.
My future plans, though, include following up with this Udemy course on more advanced WordPress topics, then going back to Treehouse to do the intermediate PHP tracks, an introduction to MySQL databases and the React course (React was only briefly touched on in The Odin Project).
If I decide that I want to build on this LAMP stack foundation in less directly WordPress-related ways, I may do the Treehouse advanced PHP track, and I’m also intrigued by this guy’s books and videos about rounding out your CS background and getting jobs/freelance work without a computer science degree. I’m also curious about Laravel–but I think that’s a different post and a different project for the future, maybe.
My next few posts will be an overview of my progress so far, my goals and the tools I’m using to get from here to there.