So Many Things
In web development, we are faced with a daunting task of navigating a sea of tremendous amounts of information. The deck of cards in regards to the technologies being used is vast and wide, and in addition, each card and the deck itself is always changing, as technologies evolve, update and emerge. New frameworks come out, frameworks we knew are updated and changed entirely. New tools are revealed, new trends come, everyone grabs onto the newest-and-greatest.
Sometimes even talking with other developers can be discouraging — the patient and open-minded developer is a bit more rare than the developer whose happy to remind you where your knowledge is lacking. There is the expectation you should have known about it already, yesterday even, and how couldn’t you anyways? There’s a reason people go to websites like StackOverflow with a happy mindset, to post their first question, and get a snarky answer, effectively shooting their enthusiasm out of the sky like the birds in classic video game, “Duck Hunt”.
So many developers fail to remember their own path and their own process of growth. They fail to remember that we invented linters and other tools to help us as error-prone humans, to let less errors slip into our code. Forgetting a semi-colon doesn’t make you a total amateur, but makes you a human who is interacting with a keyboard, via fingertips, and prone to making a mistake or two. These tools are designed to aid the developer, so that we are free to do our jobs by crafting solutions and arranging ideas, and spending less time getting bogged down in committing obscure syntax to memory.
This mindset of “whose the smartest kid in the crowd”, or a “one upping” contest, along with trying to grab onto every trending software, is a dangerous mindset for a developer. The most humble and greatest developers I have witnessed instead often seemed to have discovered a groove that worked for them, having found their own center, fueled by exploring a curiosity that compelled them. They’re not fueled by an arrogant pride in their knowing a boundless array of minute facts, but rather by a creativity and questioning and desire to make something, or to make something better. Their learning of facts came along during this process. Often the tools they started with were probably whatever they discovered most naturally along their course — and get more refined with time. The discovery of new and better ways of doing things, better solutions, better tools, evolves them forwards. They grow and become more talented, more skillful, more knowledgable.
Stay True to Yourself
If you’re just starting, realize you have to start somewhere. And don’t let the experts of experts scare you away, because you don’t know all the detail they do. Start on your path as a developer, and you might be surprised what technologies and places it leads you to. There are plenty of dry, boring people out there, that develop dry, boring software. I hate to say it, but we’ve all seen it. Sometimes being really, really smart, isn’t all that life is about. Having some soul in there, some spirit, some spark of creativity, paired with determination, can create far more than having an ocean of knowledge.
Use the tools that you discover to solve the job. If they don’t solve the job, push yourself to find the tools that do. Read the documentation. Do the quick start guides. Find GitHub repos that you can study, find blog articles or YouTube videos about the subject that give you an introduction. Type your questions into search engines and find your answers. Don’t give up if the first link isn’t good — change your phrasing, try a different wording out — how might someone else have already asked this question? Try formulating queries in search engines that way, to see if you can find better results.
Don’t feel as though you have to know everything in every language about every aspect, because you likely won’t, you’ll likely instead move into a niche that is your own, built by your own interests and enjoyment in various technologies. Work with what is working for you, work with where your interests are going. Don’t follow the herd just because you think you ought to and because it’s what everyone else is doing. If learning the technology compels you, if it has value to you, if it will help you solve problems, approach projects, build better stuff, then you ought to learn it, and learn it for yourself. Not just for your client or your boss., but for your own growth and development — for your own maturation of your craft.
Experiment & Step Outside Your Comfort Zone
This being said, challenge yourself to learn new technologies and new syntaxes, to try something that is interesting to you and give it a go. Even if you fail the first time or get really frustrated, don’t beat yourself up and just let the process digest a bit. You’ll have learned something from it anyhow, and you’ll have been exposed to something new.
Don’t let yourself be intimidated by those whom are experts only in a single language or single stack. They may frown that you don’t know some nuance of the language, but they may or may not have a greater and broader — and more functional — lens. Some folks who only know one thing very well, are not as aware of the larger picture as those who know many things. I truly believe the developers who challenge themselves to learn multiple languages have a more holistic understanding of programming as a whole. They see trends and patterns that exist in all languages, and aren’t so drilled down in their thinking. They use technologies not because it’s all they know, but because it’s the right set of tools for the job.
Don’t worry about the “too cool for school” mentality that we often see in so many people and areas of life. This is not how we truly grow, and this is not how we pull others forwards. If we broaden our lens, try something we don’t know and we’re not an expert in, we grow. We ought to learn something not only because it’s market trending, but because we wish to challenge ourselves and grow, stepping outside our comfort zone.
Don't Give Up & Final Thoughts
The path of being a developer is a self-journey. Similar to fitness or other aspects of life — there’s always someone who is better, faster, stronger, or had a better start to begin with. It’s not about them. It’s not about the crowds. It’s not about the trending softwares trickling downstream from the biggest technology companies. It’s about learning, challenging one’s thinking, building, creating and having fun. This is what development should be about. It’s not to say there won’t be frustrations when code doesn’t work, when you’re tired and don’t have a good solution. When you’ve been frowned on by others or discouraged by the ocean of information. But don’t give up. It’s about being the best version of you that you can be for yourself. More than one great developer has failed their interview at a big tech company, to later create or join with others in their successful future. If they’d had let one person’s lack of acceptance affect them, then they’d have never eventually succeeded. As one motto goes, “You’re value doesn’t decrease based on someone’s inability to see your worth”.
Programming is about failing and failing and failing and finding success by overcoming our mistakes and that innate desire to give up. It’s natural to want to give up, but what makes us ultimately successful is finding that internal strength to persevere and conquer that which we must do for ourselves and our personal growth.
Don’t let the ocean of information intimidate you. Find your course, paddle strong and challenge yourself. There may be crowds out in the deep waters doing intimidating things — don’t let them hinder you — they may or may not be a part of your journey. Keep enjoying the sites and sounds, and don’t ever give up the curiosity and wonder, which led us all this way anyhow. That’s what it’s really about.