The development industry might be the fastest moving industry in the modern era. Every other day you see people creating new stuff - frameworks, languages etc. This is a good thing, day in and day out efforts are being put into making development a better and an efficient process.
But with all this happening, the pressure on a developer to keep up is sometimes just too much. New workflow, tools, editors, framework etc. How much would you be able to learn and grow? Especially if you are working at a job where you interact mainly with legacy tech, the flashy new tools look like complicated controls of a space shuttle.
DHH recently started a series of twitter statuses saying no to the whiteboard culture.
Hello, my name is David. I would fail to write bubble sort on a whiteboard. I look code up on the internet all the time. I don't do riddles.— DHH (@dhh) February 21, 2017
Many other developers on the internet reposted the status with their own recipe. That means, every top notch developer out there who we think are superheroes, do look up things on the internet after all. They don’t churn out code just from their memory. They do take help whenever and wherever is required. There is absolutely no need to memorise stuff which you can look up. The Internet is fast these days, it’s okay to look up things.
Expecting a developer to think out of thin air and write code on a whiteboard isn’t the right evaluation of his abilities. Being a programmer isn’t about remembering complex programming patterns, paradigms and code samples. It is about the ability to think and come up with solutions to problems and then implementing those solutions by writing code.
Instead, the expectation is for a developer to be able to recite formulas and theories. Which is wrong because, most of the times, that isn’t what the real world required of them. What a developer needs to know is how to design a solution, find the right tools and then look up for ways to implementing them. Yes, over a period of time, things will stay in memory. But remembering is not the primary job of a developer.
First, it is absolutely important to accept that it is okay not to know everything. It is a common thing these days where your developer friends may start explaining some new technology that does something in a better way and would have a surprised look when you say you haven’t heard of it. A sense of panic takes you over, you suddenly feel outdated.
Sometimes our desire to be perfect is the biggest hindrance to starting somewhere. The fear of being judged the way we write code, the fear of being pointed out that our code violates SRP or does not follow SOLID design principles. But ins spite of the heat that we might receive, sharing the code is one of the best ways to learn. Taking help of the community, colleagues and other contributors to the project help us in accelerating the learning process.
So if you don’t know something, don’t panic. You don’t need to know everything. If something works for you, use it. If you find out something works better, then use that. You don’t know something, admit it and move on. As long as you are comfortable with your workflow, nothing should bother you. Yes, learning is a part of being relevant in the industry, but it is okay to take it slow.
Go write code and share it with the world!