Skip to main content
  1. Posts/

Beyond Coding - The Importance of Writing for Programmers

·686 words·4 mins· ·
Xianpeng Shen
Author
Xianpeng Shen
Table of Contents

A popular saying in the programmer community is, “Programmers who can code can’t beat those who can make PPTs.” I remember a lyric from the song “Let Yourself Go” at New Oriental’s 2019 annual meeting that resonated with most programmers:

“Working hard and tired, what’s the point of achievements? In the end, we can’t beat those who make PPTs.”

For a while, everyone seemed to agree with this statement, expressing their dissatisfaction and helplessness.

(I)
#

Having worked in the field for over 10 years and witnessed various talented individuals online and at work, my understanding of “true ability” has evolved.

Initially, I believed that those who were quiet, reserved, and technically proficient were true masters, while those who showed off their limited technical skills were merely showing off. However, when sharing technical insights with the team, I discovered that clearly explaining something to most people who don’t understand it is also a skill in itself.

  • First, you need to fully understand the subject matter before explaining it to others.
  • Second, you need to anticipate the questions others might ask and be able to answer them.
  • Finally, you need to establish a clear narrative and present it logically.

(II)
#

Recently, in Wu Jun’s “Reading and Writing” course on the “Get” app, he gave an example:

A project team has three members. The first is highly skilled in professional work, doing the most important tasks and guiding others. The second excels at team organization, boosting morale and leading the team to overcome challenges. The third can clearly communicate the team’s work.

If the boss needs to promote one of them, who has the highest chance? Many would think the highly skilled professional. However, in reality, it’s often the third person. Why?

Let’s imagine the three presenting a report:

  • The first person presents a lot of technical details, boring the leadership. The team’s work isn’t recognized, and no resources are secured. They might not be chosen for future presentations, or the project might be scrapped.

  • If the organizer presents, they come across as an administrator, peripheral to the project, giving directions without understanding the details. The presentation will be ineffective.

  • If the communicator presents, the team’s work is most likely to be recognized, and resources secured. Everyone benefits, leading to future presentations. Over time, they are perceived as the most impactful contributor.

This isn’t fiction. Look around your workplace; you’ll find similar situations. It’s a natural selection process within an organization. Those with good communication skills often give presentations and reports, gaining visibility and advancement opportunities.

(III)
#

Many working in foreign companies notice that many executives are Indian. I’ve heard Indian colleagues present to leadership, and their presentations are far superior. Beyond English proficiency, their content and preparation stand out:

  • Excellent PPTs using structured diagrams.
  • Clear core message and focus.
  • A coherent narrative that clearly explains the subject matter.

You might find that you have everything they do, and even more, but they present better, leaving a strong impression on the audience, making them seem brilliant, while you just chuckle.

As programmers, improving technical skills is essential, but developing writing and communication skills will help build your brand and advance your career.

In Conclusion
#

I recently prepared an English PPT for a presentation to foreign leadership. My manager’s feedback was incredibly helpful, revealing significant differences between my presentation and theirs.

For example, consider explaining the use of Jenkins Shared Libraries:

Before: In the early stage of doing this work one year ago, I wrote many duplicate code such as sending emails, printing logs. Shared Libraries could help to solve this problem …

After: Just like writing any application code, that we need to create functions, subroutines for reuse and sharing purpose. The same logic applies to Jenkins configuration code …

There’s no need to mention initial setbacks and mistakes. While honest, it doesn’t benefit you. Feedback included improvements to the opening, transitions between slides, and closing remarks.

My prejudice against PPTs has vanished, and I now consider creating effective PPTs a valuable skill.

Time to get back to revising my PPT and practicing my delivery…

Related

Why I Switched from Testing to Development After 9 Years
·322 words·2 mins
This article documents my experience and insights from transitioning from testing to development. I share my learning and work arrangements during paternity leave, including reading books, participating in open-source projects, and physical exercise, emphasizing how to maintain learning and growth while caring for a family.
My Perspective on Senior Test Engineers
·357 words·2 mins
This article outlines the skills and experience required for a senior test engineer, including testing theories, business acumen, tool proficiency, and coding abilities, helping readers understand how to become an excellent senior test engineer.
How to Ensure No Syntax Errors Before Submitting a Jenkins Pipeline
·569 words·3 mins
This article introduces two methods to ensure there are no syntax errors before submitting a Jenkins Pipeline using the REST API for syntax validation and using the VSCode plugin for syntax checking.
How to use JMeter to do Performance Testing
·491 words·3 mins
A guide on using JMeter for performance testing, including recording scripts, running tests in GUI and non-GUI modes, and integrating with Jenkins for automated testing.
Bitbucket Webhooks Configuration
·398 words·2 mins
How to configure Bitbucket webhooks to trigger Jenkins builds for multi-branch pipelines, ensuring that Jenkins can automatically respond to events like pull requests and branch updates.
Three Ways to Solve the Jenkins Declarative Pipeline "Method code too large" Exception
·558 words·3 mins
This article introduces three methods to solve the “Method code too large” exception in Jenkins declarative pipelines, including moving steps outside the pipeline, migrating from declarative to scripted pipelines, and using Shared Libraries.