Seven years ago, I started on my journey to become a programmer while in high school. Back then, times were a little hazier in my view. Facebook surely wouldn’t grow from being a fad, Blockbusters would never die, and nothing could ever displace Netflix’s mail DVD system.
Since that date, technology and cultural, societal shifts have done much to make me believe that the only constant in the world is change. Instead of being relegated to a fad, Facebook would embark on a huge story of growth and now sit on a pedestal of being ingrained in everybody’s life—willingly or not. Taking many on a roller coaster of a ride, Netflix killed the DVD mail service, tried something revolutionary and was ridiculed, and now, through it all, is an online-streaming, entertainment giant. And, Blockbusters… well, yeah.
Many of America’s aspiring developer youths in high school, myself included, share the common trait of optimism. I was driven to make the new “big thing.” Like many new developers, I wanted to make the next World of Warcraft, the next Google. Encouraged by family and peers with statements like, “You could be the next Bill Gates,” or “he made it in his garage, how hard could it be,” it was hard not to think positively instead of realistically. This is not to say that such success couldn’t still become true, but that the likelihood of it becoming reality is slim.
Unfortunately, many of the ways that young developers learn programming from are woefully inaccurate or inadequate. Whether it is tutorials that are unrelatable, small apps that serve no real purpose, or simple syntactic primer, many sources for learning how to program do not involve a struggle. Speaking from experience, the best way to learn is to struggle and overcome a challenge. You can never succeed without having experienced failure or disappointment.
For novice and beginner developers, this is probably one of the hardest things to do. When the Internet can provide you a world of knowledge, it is hard to stay committed to mastering a specific domain or program a useful application. The easy way, which nobody would blame anybody for undertaking, is to do just enough to get good grades. At this point in life for a young developer, the aim is to get accepted into a college or university’s Computer Science, Information Technology, or Computer Information Systems program. Unfortunately, this often does not prove to prepare a student well enough for the future. Younger students in these scenarios don’t get a trial-by-fire or experience a real challenge and, thus, will always face greater difficulties learning in the future.
Photo by Thomas Bennie on Unsplash Thomas Bennie
When the Internet can provide you a world of knowledge, it is hard to stay committed.
I was too young to really understand the next level past high school at the time. Thinking I could overcome almost any challenge, I was so convinced, like other developers, that I could be a world-changing developer. High school graduation definitely did not make it any easier—along with many other students, I was seen as one of those kids that could “make it in the tech world.”
This industry can be cruel to those who think they know what they’re doing but have no plan to back it up. For young developers especially, it is common for them to not have a defined plan of action after they graduate high school. They’ve been told from everybody that “IT and computers” are the big money-ticket in today’s world. They’re not wrong, but it’s not that simple! Asides from going to a higher institution of learning, they might not know the best decisions that they could make for their future. For many, the following list tends to be the plan:
As you can probably guess, this can lead to much uncertainty for America's up-and-coming developers.
This is a four-part series that will describe the path for new developers as they pursue their career. Unlike other blogs you might find online about similar journeys and career paths, I, the author, have not “made it,” yet. Trying to fool the reader would be an injustice. However, I offer the insight into the reality of what young, novice programmers experience. Struggle defines character and is needed for success, and I know that, even though I have already struggled, there is still a long road of challenges and struggles to come.
For now, I will leave you with a hint at what is to come. College? Who knew that could cost so much. Responsive web design? That’s still just tables with fluid percentage widths, right? Application programming… Well, that surely is just a Java Applet…? If you find yourself laughing, then stay tuned for Part Two!
Photo by Jamie Street on Unsplash Jamie Street