Being a Pragmatic Programmer: The Pragmatic Philosophy

Part III

Saumya Rastogi
4 min readNov 25, 2019

This is the third part (Part I & II) of my articles which discuss what makes a programmer pragmatic. This article will focus on these 2 characteristics —

  1. Knowledge Portfolio: They are always ready to learn. They know how to keep their momentum up.
  2. Communicate: They know what exactly they want to communicate & they are always ready to accept the feedback.

Knowledge Portfolio

Your knowledge & experience are your most important professional assets. Unfortunately, they’re expiring assets as well. Your knowledge becomes out of date as new techniques, languages & environments are developed. Change in the market may render your experience obsolete or irrelevant. So we want to prevent this from happening.

These are some guidelines which help you to build your portfolio —

  • Invest Regularly — You must invest a small amount of your time in building your portfolio, keep in mind that even a small amount of time can become big on summing up.
  • Diversify — The more different things you know the more valuable you are. As a baseline, you should know ins & outs of the technology you’re currently working on. But don’t stop here, as we know computer field changes rapidly, keep on learning other things as well.
  • Manage Risks — As according to stock markets, if we put all of the money into a high-risk stock we put ourselves into a high-risk zone, which means that as soon as stock will collapse your whole invested money will also collapse with it. So it’s very important that — Don’t put all your technical eggs into a single basket, try to expand your spectrum.
  • Buy low, sell high — Learning an emerging technology before it becomes popular can be hard once, but later on, it pays you off with ample rewards.

Now you’ve some guidelines with you, let’s learn what’s the best way to acquire intellectual capital which will fund your portfolio —

  • Learn at least one new language every year.
  • Read a technical book each quarter.
  • Read nontechnical books too.
  • Take classes of interest.
  • Participate in local user groups.
  • Experiment with different environments — try working on different OSs.
  • Stay updated — read and subscribe to technical news & articles daily.

Always have something to read in an otherwise dead moment.

Communicate

Communication is a very important aspect for a technical person, because if you’re unable to communicate your knowledge or idea to anyone else, then what is the use of your knowledge. Try not to isolate the knowledge you have within yourself.

If you feel any difficulties in communicating something, plan what you want to say. Write an outline. Then ask yourself — “Does this get across whatever I’m trying to say?” Refine it until it does. Use this technique whenever you found any difficulty in communicating anything to anyone no matter what the medium is.

Try to understand your audience, you should know the needs, interests & capabilities of your audience clearly.

Make it look Good — If you’re preparing an online document/article, try to make it beautiful so that when someone looks into it, it should catch their eyes. Try to use simple tools like adding header, footers, logos, etc.

Involve Your Audience — When writing a document, involve your readers by providing some early drafts to them so that you can get their feedback early and pick their brains.

Be a Listener — Encourage people by asking questions, or help them summarize what you tell them. Turn your meeting into a discussion so that you can make your point more effectively.

Get back to People — Always respond back to e-mails, voice mails even if the response is simple enough. Keeping people informed makes them feel that you haven’t forgotten them.

The more effective the communication, the more influential you become.

There are many more aspects which a pragmatic programmer has, but these are enough to summarize it into a short series of articles. If you made yourself to reach here then I’m sure you can now answer the question — How a pragmatic programmer is different from other programmers?

#thankyouinstyle😄

Links to other key aspects:

The Cat Ate My Source Code (Part I)
Software Entropy (Part I)
Stone Soup & Boiled Frog (Part II)
Good-Enough Software (Part II)

Inspired By: The Pragmatic Programmer — by Andrew Hunt, David Thomas

--

--