The feeling of closing 40 tabs.
Do you feel incompetent or disappointed in yourself because you Google solutions for programming problems that you feel you should know? Don’t be. The most experienced programmers also use Google.
So I came across this post from Scott Hanselman from a few years ago. It’s regarding if senior developers use Google or similar search engines in their everyday work.
Do senior developers use Google? The answer is Yes – kind of. In fact, they might search for things even more than junior developers – because as your experience increases the chances you will find an answer to an increasingly complex and ridiculously niche problem decreases.
And, as with many programmers, impostor syndrome is a big factor – it’s often easier to seek affirmation on the internet than to find a knowledgeable senior in physical distance.
While juniors will likely be satisfied with a beginner article or a copy paste – no such luck for seniors. Stack Overflow will not be enough. Nobody knows why your JsTestDriver on NetBeans stops testing after a failed assertion or when the IOS HKObserverQuery’s background update completionHandler is actually triggered.
You might find yourself looking at Github issues, finding people asking the same thing with no answers an trying to Google vaguely related things to puzzle together an answer. Thus senior developers do not necessarily use Google to find an exact answer – but rather to research contextual information to solve an underlying, complex issue that is not understood by many.
Remember Why – not How
“How many countries are there in the world?”
The internet is basically outsourcing your memory. Google is the details of How. How to install Apache on Linux. How to configure your firewall for SSL. How to set a custom composite primary key in your ORM.
Details are not interesting to a senior – the senior knows where to find the information, the exact details, the implementation of How to do things. It’s not useful to memorize the details what you can already find easily.
It’s more difficult to understand why you want this particular server, or this SLL certificate setup, or what type of ORM should be used for their particular needs – that is what you use your brain for. That is where experience with many years of trial and error comes in.
What is easier to remember?
FROM centos:7 RUN yum -y install epel-release RUN yum -y update RUN yum -y install nginx ADD index.html /usr/share/nginx/html/index.html EXPOSE 80/tcp CMD ["nginx", "-g daemon off;"]
Or “docker nginx on centos”. The latter is just memory optimization, removing that which is not needed and using the brain to store connections between ideas, technology and implementation, not the exact science of things.
So don’t fear about Googling or thinking you are not good enough. Everyone does it, the only thing that changes is your way of doing it.