Essentials for today’s programmer

Every programmer should know few things irrespective of domain they work in.

Google

Unlike olden days, knowing how to search Google is one of the mandatory things for programmer today. No, I am not endorsing that you just have to google and copy paste code, though, there is no harm in it. But understanding the basics is more important. Anybody can do copy paste, but if you know the basics of language, how to optimise the code, understanding of design patterns, concepts, you will be a better programmer.

That being said, do you know how to search Google effectively?

  • Many a times a link that you got from search might be dead. Sometimes the site might have removed the link or site itself is down/discontinued. You can try searching cache:<url>
  • Sometimes you know a site, but you don’t remember the article url or you just want to see if site has content you are looking for. You can try searching site:<website> keywords
  • Sometimes you don’t remember that exact word but you know a sentence it appears in, or you know it starts with specific letter. You can try searching like atomic number of c* will search websites that start with that sentence and search for periodic elements that start with c. You can also try * is a fastest animal
  • Heard a new word, want to know it’s meaning? Try define:<word>
  • Looking for pdfs or any file types? Try filetype:pdf or filetype:<file extension>
  • Looking for articles that have all your keywords? Try adding + in front of those keywords
  • There are many sites that give you ton of hints. Explore them all, as they will save you some time for sure, and help you reach the page you need faster.

Stackoverflow

First of all, create a stackoverflow account. Believe me it will help you in many ways.

Don’t just search, vote for the answer that solved your issue. When you up vote an answer, Stackoverflow rewards points for author of that answer. This boosts morale of an author.

And I am sure you will come searching for that link. You can find all those links you upvoted in your activity page. How cool is that. It works like your personal bookmarks.

Upvote questions that are similar to your question, so that you can receive notifications when someone answers those question.

Once you found an answer to what you are looking for, go back to those questions and post your answer. Every answer you provide, when up voted, your reputation increases.

If you are an expert in something, contribute a page in documentation. It not only helps you when you need it, it will be useful to someone who is in same situation, when you started learning, only he/she has a better head-start, because of your contribution.

Blog

Create a blog. I personally recommend Medium. You can also start a blog in Wordpress.

Believe me, writing about your programming experiences, not only helps you when you face similar situations, but also thousands of others when they face a similar issue.

How many times you get some non-descriptive error, and you scour internet for hours together only to find out that a small setting in settings page was causing the issue, or coding it in different way would fix it? Now how about saving similar or more number of hours depending on the person’s search capabilities, by sharing the fix in 2 min post?

Do start one, not just for your programming solutions, just for a rant on something that you are passionate about. But do blog.

Twitter

Create an twitter account today if you still do not have one.

Finding people to follow and getting inundated with tweets that doesn’t meet your taste is something that every twitter user’s remorse. Be very choosy in following someone in twitter.

Create lists or search and follow lists, that way you can track specific people in that interest group.

More often than not, I use twitter to keep track of latest in tech.

And last but not the least…

GitHub

One should definitely have a GitHub account, and should be at least well versed with basic git commands, although you are not using git in professional environment (who isn’t nowadays).

Use it as a blog, create unlimited public repositories for code to share your code for someone else to use it for reference, modify and make your code better using pull requests, just sharing useful information.

Believe me sharing is the only way you will remember things and help others save time and effort. GitHub, StackOverFlow, Blog are ways to do that.

Keep learning and keep sharing :)