The app/web development industry is in a funny place. There’s no real way to know whether you’re on track for a long, fulfilling career or whether you’ll be replaced by a robot in 6–12 months. Job descriptions are more fluid and toolsets are more available than any other time in history, meaning that defined paths toward “success” are either highly subjective or nowhere to be found.
For someone just starting out, the road to proficiency in any discipline within development can be a real grind. For someone already writing code for a living, staying fresh and flexible is often equally daunting. In either case, effort has to be intentional to be effective. We can’t always log more working hours to match the accelerating pace of the industry — everyone is in the same boat when it comes to constant improvement.
Whether you already work in the app/web development industry or would like to at some point, here are a few exercises that will help grow your skills and prepare you for the future, regardless of your expertise or experience.
1. Define Constants For Your Chosen Field
Determining which path you’d like to take should — in my opinion — largely be based on what you find invigorating. Whether that means front-end, back-end, devops, or some other area, it helps to major in something you find fulfilling so you don’t get overwhelmed on the days when the job is just a job. Those days are sure to come, so finding purpose in the task at hand is key.
Remember: you can always change course as you’re exposed to new technologies! Don’t worry about keeping up in all areas, either: it’s important to know that being “full stack” is not a thing that happens in the real world. You may be able to understand or even participate in many different roles and responsibilities, but I have yet to meet someone who can do all things and do them well. They are called “unicorns” for a reason.
That said, it’s natural to shy away from developing tunnel-vision or being stuck in one area for the rest of your career. There’s also a lot to be said for someone who majors in one primary area at a given time and still remains open to new opportunities. Add skills, languages, or proficiencies to your toolbelt as you grow and change.
If you’re just starting out, know that most everyone starts as a generalist, then moves into an area of specialization once they have been exposed to different paths and experiences. You can certainly pick more than one area of focus…just plan to spend all of your free time keeping pace with the specialists.
Along those lines, this is a great talk about the visual effects industry, but it definitely applies to app/web development as well: Specialist or Generalist?
2. Write Tests To Validate Your Career Path
Did you build something for fun and/or personal growth this week? If not, do you ever take time to “test” your career path to see if you’re still on track?
Side projects are a great vehicle for growing in your current or desired discipline(s). They allow you to make assumptions, test ideas, and validate your learning from the road you’ve traveled thus far. What has inspired you? What do you wish you knew? Build it, break it, test it!
Curiosity and a constant drive to improve are marks of a great developer, employee, and human.
Once you know enough to be dangerous, if you’re not regularly tinkering with new ideas or solutions, you probably need to reconsider your current direction. Turn those interests into side projects.
Taking time to fiddle with new ideas on side projects also looks really great on your resume. Employers are looking for these examples—they will absolutely be checking your GitHub activity once you apply. If nothing else, take one evening a week to select a new language or learn a new framework, then watch a few tutorials on YouTube and write a bunch of, “Hello World” tests of your own. All that time spent “testing” really adds up.
3. Resolve Dependencies Within Your Learning Cycle
When you need a bit of motivation, make sure you don’t stare at GitHub/Stack Overflow/Dribbble/CodePen/Twitter/etc. and wonder if you’re good enough based on the 1% of specialists. They got to that point after putting in the hours as a generalist, so it’s often an unfair comparison at best.
You should absolutely spend a small bit of time on most of those sites on a regular basis, but productivity requires keeping strong divisions between inspiration and execution. Drifting into “impostor syndrome” is one of the great enemies of growing and honing your craft.
The feeling of being a fraud that is emphasized in the impostor phenomenon is not uncommon. … Feelings of insecurity can come as a result to an unknown, new environment. This can lead to lower self-confidence and belief in abilities. [Wikipedia]
Please, please, please, heavily filter people who make lists of things you need to know in any specific order. These lists are often self-expiring, overly-opinionated, and generally from perspectives that lead to broad concepts, not specific career goals. Remember: there are no clear routes to greatness.
So how do you determine which path might lead you toward the result you want for your career? This is the danger in trying to follow a fixed route through a changing landscape. Magic formulas (and unicorns) simply do not exist. It may feel more comforting to check things off a list, but being able to adjust to changes over time requires a different skillset entirely. Learn to keep your focus on the small section of path that you’re currently on.
4. Loop Infinitely Over Your Available Options
Steady, focused momentum will keep you sane and agile in the midst of an ever-changing development landscape. Find things you can check over and over again to make sure that you are headed in the right direction.
Here are a few of my favorite checks:
- We need to watch how we use free time, but also take inspiration breaks.
- We need to be aware of what others are doing, but not overly intimidated.
- We need to consider new opportunities, but focus on our current direction.
- Oh, and we need to help clients grow, too…if we want to code for a living!
Sure, we could spend days thinking about organization, opportunities, and objectives. But doing the work, hammering out lines of code to the steady beat of the marching drum, and coming up with small ways to validate that learning can be made more clear by doing the work and testing the results.
Here’s the encouraging part: The industry moves fast enough that you absolutely have time to change directions and learn something new, regardless of how long you have spent in one area of expertise. Take time to define what you’d like to know, test your progress, remove motivation-blockers, then rinse/repeat the whole process.
Stay committed to constantly incrementing your skills and counting the cost of what you are doing, both online and offline. Your personal health and your career as a developer depend upon a healthy balance between times of focused effort and career path flexibility. Aspiring to maintain that balance will keep you fresh as you work through the seemingly endless disciplines in app/web development. Go get ‘em!