I don’t have enough time for JavaScript practice today, because I overbooked my day and then I overslept quite a bit. But it’s probably best that I take a step back from JavaScript, because I’m long overdue for some personal reflection and planning. I can feel myself gradually losing sight of my goals. I need to do something about this.
##Some Background on my Conflicting Goals
My original goal was to start my own freelance web development and design business. But then I noticed that throughout last month’s 30 Days of Web Dev challenge, I kept gravitating towards JavaScript instead of learning about HTML and CSS. This is a problem, because I know that in order to start paying my bills through freelancing, I need to know how to build simple web pages! Most people need simple websites, not custom-built web applications. And yet I’ve been learning more about web applications than web design, even though a deep understanding of JavaScript and object-oriented programming isn’t going to help me get any clients in the short-term.
I didn’t notice this disconnect for a while, probably because in my mind, JavaScript clearly falls within the category of “web development,” which is what I had set out to learn. But my goals weren’t clear enough. I didn’t do an honest assessment of what skills would offer me the most value right now. So I tried to make myself focus more on learning HTML and CSS, reminding myself that I needed to practice making the kinds of basic websites that most clients would ask for. But that never happened.
At the same time, I’ve been meeting a lot of full-time software developers through my meetup group and all the tech-related events I discovered in downtown LA. I’ve heard a lot about all those coding bootcamps that promise to get you a job as a developer after just 3 months of intense training. I guess the exposure to these different career paths planted a seed in my mind: what if I want to do real web development instead of freelance web design? Maybe that’s why I kept learning about computer science fundamentals and JavaScript instead of learning how to create websites – because I’m more interested in it!
And then I thought to myself: maybe I should give up on the freelance web design idea altogether and train to get a job as a web developer! But how long would that take? And what if I get there only to discover that I don’t actually enjoy it after all? And what about all the other things that excited me about the idea of freelance work, like learning about running a business and exploring my interest in graphic design and setting my own hours? I don’t want to give up on that idea, either!
Long story short: I want to do both. I want to try out freelance web design and development, and I also want to go deeper into learning about computer science and see if I have what it takes to solve more challenging problems as part of a full-time job.
##Forcing My Brain to Choose
Web design is definitely a low-hanging fruit, and it was my original idea, so I think I should stick with it for now. I should at least give it a fair try. And in order to do that, I need to consciously make it my primary goal and then prioritize the work that will help me reach that goal as quickly as possible. If I do that for a while – let’s say for 3 months – and I find that I just don’t like it, then I’ll reevaluate my goals. But I’ll never get anywhere if my goals are flip-flopping every other day. I know I need to pick something and stick with it for a while.
But oh, how I hate prioritizing! There are so many other interests I want to pursue, from science journalism to music to media production. But I know I only have so many hours in a day – even less than most people, considering how much I sleep sometimes! Anyway, I give myself permission to pursue whatever random hobbies I want in my free time, but I still need to carve out a predefined work time in which I force myself to focus on my primary goal.
##The Beginning of a Plan
It’s so tempting to dedicate a big chunk of time to developing a detailed, long-term plan. Thankfully, I’ve gotten much better at resisting that impulse. I’ve been reading Scrum: The Art of Doing Twice the Work in Half the Time, which reminds me every day to be more deliberate in how I approach my work. Inspired by that, I’m going to do just a few minutes of planning for what I should do next, and then I’ll continue to regularly adjust my plan based on what I learn.
Most valuable tasks to start with:
- Prepare for my first freelance web design project, which will begin next month (my client happens to be my step-brother, but it still counts!)
- Get comfortable with modifying WordPress themes again (mostly relearning)
- Draft up a scope of work document, even if it’s just for practice
- For ongoing motivation, find more co-working buddies (other freelancers or any smart people who are free to meet on weekday mornings)
There is so much more to do, but I think these are the most important issues right now. I will have to relegate the JavaScript practice to a secondary goal, probably something I should only do during my free time, not during my dedicated work hours.
And I definitely need to do some more planning to make these goals more specific – ideally, I’d define them as an objective list of features or deliverables that need to be completed. But I’m not entirely sure what that would look like yet. I think once I dive back into WordPress and start looking under the hood, I will very quickly come up with a list of things to learn.