Learning to code can be time-consuming, especially if you aspire to work as a software developer. After all, becoming a developer requires a lot of technical skills. As coding bootcamps have proliferated, many programs have adopted a full-time schedule to reflect this reality and expedite the learning process.
But that doesn't work for everybody. If you have a job or other non-negotiable obligations, you're probably leaning toward learning on a part-time basis. The good news is that you're far from alone. (Plenty of bootcamps operate on a part-time schedule, too.) The bad news? Even though it may be easier on your schedule than a full-time commitment, part-time learning comes with challenges.
You might discover that it's difficult to stick with your studies when other demands crop up. Or you could struggle to keep up with other obligations while putting in long hours studying.
Today, we're going to look at ways you can manage these problems. We'll draw from productivity best practices as well as personal experience and offer nuggets of advice for learning to code part-time. If that sounds relevant to you, check out the five tips we're offering to see if they might help:
- 1. Set clear goals
- 2. Practice time management
- 3. Choose courses methodically
- 4. Code with others to maintain social connections
- 5. Don't neglect other interests
5 tips for successful learning
1. Set clear goals
Before embarking on a learn-to-code journey while juggling other responsibilities, you should think carefully about your motivations. Why do you want to learn to code? What kind of technologies do you want to learn? Answering these questions will help you clarify your priorities and set effective goals.
If you haven't heard of SMART goals, now is the time to learn. The acronym stands for Specific, Measurable, Achievable, Relevant, and Time-Bound, and each of these attributes contributes to successful goal-setting.
Specific
Don't be vague about what you want to achieve. Instead, answer these questions to make sure your goals are specific enough:
- What do you need to accomplish?
- What steps do you need to take to achieve it?
Some examples of specific learn-to-code goals might include:
- Learn to create full-stack web applications using a technology stack like MEAN or LAMP
- Learn to automate software testing with Java and Selenium
- Learn vanilla JavaScript skills to establish enough of a base to learn React
Don't feel limited by these examples. But do get specific about what you're trying to learn.
Measurable
It's also important to quantify your goals. After all, if you can't measure or track your results, how will you know if you're making progress or when you've achieved your goal? Whatever metric you choose should be meaningful to your plan.
Some examples of measurable goals might be:
- Learn the MEAN or LAMP stack sufficiently well to create and maintain two web apps
- Learn to automate software testing with Java and Selenium, and code a full suite of unit tests
- Learn vanilla JavaScript to establish enough of a base to learn React and complete three JavaScript coding challenges
Obviously, these goals might seem ambitious if you're just starting out. But they share the important trait of being measurable.
Achievable
To make sure you're setting achievable goals, be realistic. Ask yourself: is your objective something you can reasonably accomplish? If the answer is "no," you'll save yourself headaches by rethinking your goal.
What's achievable for a new learner depends on how much time you have, your background, and other factors. For instance, if you've already learned some HTML and CSS, the goal of learning vanilla JavaScript might be achievable. But if you've never written markup, you might want to start there before moving on to a programming language like JavaScript.
Relevant
Ask yourself: why are you setting this goal? Be clear about your motivation to ensure the goal you're setting is relevant.
If you want to be a UX designer, a full-stack web development course likely won't feel relevant because of its focus on front-end and back-end programming. But becoming an expert in HTML, CSS, and tools like Figma, Sketch, and the Adobe Suite would certainly make sense.
Time-Bound
It's important to be clear about your time horizon. Consider when you will start and finish working on the objective you've identified.
Without a clear sense of time, you run the risk of running out of motivation and quitting. Alternatively, you might grind along indefinitely without achieving your goal.
Ensuring goals are time-bound can also help you if you don't meet your deadline. For example, you might give yourself six months to learn a new tech stack for web development. If six months pass without success, you might consider whether your goal wasn't sufficiently specific, measurable, achievable, or relevant. Refine, and try again.
2. Practice time management
Without managing your schedule, learning to code part-time is going to be tough. Once you have a SMART goal or two, you can focus on time management to help you juggle all your obligations:
Define and prioritize your tasks: What do you need to do to support your goals (and the rest of your life)? Of these tasks, which are the most important? Break up your goals and obligations into manageable tasks and put them in a clear order of priority. Work on the most important tasks first.
Set a schedule and stick to it: Get a calendar app or buy the paper equivalent. Block off time to work on coding and chip away at the tasks you've defined.
Create incentives for completing tasks: Grinding through a long course? Buy yourself a coffee after each module or two. Making excellent progress on your SMART goal? Treat yourself to something nicer. Achieve your goal outright? Reward yourself with a dinner out, a concert, or another special indulgence.
Experiment with different systems and frameworks: The internet has no shortage of information about time management techniques. Look up systems like the 1-3-5 rule, autofocus, bullet journaling, don't break the chain, the Eisenhower matrix, the Pomodoro method, and others. Then put them to the test.
3. Choose courses methodically
You've decided to take a course to help you achieve your SMART goal, and you've blocked out time on your calendar for studying. Great! Unfortunately, the number of course options might be overwhelming. There are YouTube videos, online learning platforms, live classes, etc. Before picking a course randomly, *do some research.
Consider the following as you refine your options:
- How much will it cost?
- Does the delivery method work with your preferred learning style? (E.g., visual, auditory, physical, etc.)
- Is the learning self-paced or scheduled, and will it work with your schedule?
- Is the level of difficulty a good match for your experience?
If you're going to invest time and money in a course, it pays to select one methodically. If you need a place to start, check out Educative's "From Scratch" courses.
4. Code with others to maintain social connections
After committing to a goal and starting a course, you might find you have less time to socialize. But there's no reason your coding can't have a social element. You could:
- Search Meetup.com or Facebook for study groups or other gatherings in your city and area of focus
- Look for beginner-friendly challenges, like 100 Days of Code
- Use Stack Overflow, Reddit, or a forum focused on your programming language to post and answer questions
- Join a Slack workspace like the one hosted by the Python enthusiasts at PySlackers
5. Don't neglect other interests
We've shared a lot of productivity tips, so this may sound counterintuitive: sometimes you might need to spend less time coding. Whether you get together with friends or family, practice a hobby, read, or exercise, sustaining your coding efforts will be easier if you maintain some balance. Building your life around work, coding, and the basics of survival seems like a recipe for burning out. And burnout[1] seriously raises the risk of giving up on your goals.
Wrapping up and next steps
With any luck, some of the suggestions here have resonated and given you more confidence for your learn-to-code journey. Perhaps you feel ready to start working on the technical skills you'll inevitably need. If so, we’ve got resources to help you master the foundations:
You don’t need any prior knowledge, or anything installed on your desktop to get started. We’ll just start from the ground up, and you can start writing code as soon as you’re ready.
Happy learning!
Continue learning about coding on Educative
- 6 characteristics that can make you an outstanding developer
- Learn to code for social good: My philosophy as an artist & dev
- What’s the best programming language to learn first?
Start a discussion
What other tips do you think are helpful for part-time learners? Was this article helpful? Let us know in the comments below!