
Pragmatic Programmer (Photo Credit: Unsplash)
Story
Sajjad is an experienced programmer who has worked in the software industry for many years. He tries to be skilled and make himself fit for use in any situation and any kind of project. He always works to sharpen the basic knowledge and not be dependent on any particular tools or technology, but rather always try to choose good tools and technology that are fit for that particular scenario. He observes some common characteristics that great (pragmatic) programmers hold. Like they are early adopters or fast learners, critical thinkers, rethinkers, and realistic. Some of them are jacks of all trades. So Sajjad also keeps these characteristics, keeping the attitude and philosophy of approaching problems and solutions like a pragmatic programmer.
What Distinguishes a Pragmatic Programmer?
Pragmatic means skilled in business and fit for use. Actually it is a matter of attitude, a style, and a philosophy of approaching problems and solutions. Over time, with experience, knowledge, and practice, the pragmatism grows up within a programmer and makes him better.
General Tips
- Be skilled and fit for use in different kinds of projects and scenarios.
- Be strong on basic knowledge and don’t depend on any particular tools or technology.
- Choose tools or technology based on scenario and solution demand, not via bias from preference.
- Become an early adapter or fast learner.
- Become inquisitive or curious when you need to do something and always ask good questions.
- Be a critical thinker, try to think differently than normal people.
- Don’t be foolish or emotional; try to be realistic.
Story
Asif is a software developer who enjoys what he does. He always gives his task his all and thinks carefully and critically while he works. It means he makes an effort to think broadly and creatively. One of his finest traits is that he tries to tackle issues or work alone until assistance is required from someone else, and he constantly works to better himself. He also makes a point of being professional, so he accepts responsibility for all of his work, good or poor.
When someone asks him for something and he doesn’t genuinely know the answer, he will strive to learn it before answering or offering alternatives, but he won’t provide weak justifications. Asif makes sure to report any mistakes, poor system design, or flaws while at work so as to avoid being the first to do harm. He is a good team player who has confidence in his coworkers, is willing to accept and offer criticism, and communicates both vocally and in writing, including in code and documentation. In addition to all of this, he continually invests in studying and expanding his body of knowledge.
Pragmatic Team Player Tips
- Think about what you are doing when doing it and care about your work.
- There is always room for individuality and craftsmanship, so be self-dependent as much as possible.
- Continuously improve what you have now; great lawns need small amounts of daily care, and so do great programmers.
- Be professional and take responsibility for your work; accept mistakes and fix them ASAP.
- When anything happens or is asked for, provides options or alternative solutions but not lame excuses.
- Don’t live with broken windows, which means report bad design and system bugs and take initiatives to fix the broken windows.
- Be the initiator or be the catalyst for change for betterment.
- Build your knowledge portfolio and invest regularly in your knowledge portfolio.
- Learn to communicate effectively and practice it on a regular basis vocally, in writing, and with good code, and most importantly by creating documentation.
Insha Allah, in the upcoming parts, I will try to share more tips to address others area. Until than, may Allah keep you healthy and happy.