I have been fortunate to have worked with some geeks with incredible coding skills. I felt amazed at how they can play games with compilers, perform magic with their incantations on the shell, and solve some insanely complex algorithm problems with ease. I naively assumed that they are going to achieve greatness in near future. Alas, I was wrong. Really wrong. [Read the rest of the article ... ]
looking for escort 9953056974 Low Rate Call Girls In Vinod Nagar
Great Coding Skills Aren't Enough
1. Great Coding Skills Aren't Enough!
- Ganesh Samarthyam, CodeOps Technologies
I have been fortunate to have worked with some geeks with incredible coding skills. I
felt amazed at how they can play games with compilers, perform magic with their
incantations on the shell, and solve some insanely complex algorithm problems with
ease. I naively assumed that they are going to achieve greatness in near future.
Alas, I was wrong. Really wrong.
I am prompted to write this article when I came to know about one such geek who is
now struggling to find or keep jobs. I remember how I was in awe observing the
same coder early in my career and wanted to emulate his coding skills. One the
other hand, I find many of my so-called "average" school and college classmates
doing really well in life now.
As Calvin Coolidge said: “There is nothing more common than unsuccessful men
with talent”. May be we can take it for granted that “talent != success”. But WHY?
First things first: Talent matters. I would search and employ programmers with best
talent that I can find and afford to pay. However, the world gives undue attention to
raw talent. What young kids achieve is amazing and regularly makes news, for
example, I recently read a news item about a kid who recites the whole Quran!.
Now, what is more important: raw talent is never enough. To illustrate, consider
amazing programmers like Brian Kernighan, Bill Gates, Linus Torvalds and Mark
Zuckerberg. Their programming talent is very evident, even from the early days in
their career. But other than the raw talent, there is something more that makes them
special and successful.
• Brian Kernighan is known for his amazing writing skills and is an inspiration for
so many tech writers, including me. Example: Arguably, his excellence in writing,
as in co-authoring the classic The C Programming Language book contributed to
the popularity and wide-spread acceptance of the language.
• Bill Gates is known for his business acumen. For example, Microsoft did not
transfer the copyright of the DOS operating system it sold to IBM and that made
the foundation for the success of Microsoft as a company.
• Linus Torvalds brought together an open source community together. Linux is a
success not just because of his coding acumen, but mainly due to the community
he built around it.
• Mark Zuckerberg called himself a hacker but he is certainly more than that. The
way he experimented with his ideas in the real-world, the way he built FaceBook
and led to business success and his philanthropy shows he is not just yet another
ace programmer.
In fact, the idea doesn't just apply to great coders, it can be generalized to
technologists in general.
2. Take Andy Grove, for example. He was technically brilliant, but what took him
(and Intel) to great heights was his management approach and strategic
thinking. His books "High Output Management" and "Only the Paranoid
Survive" document his management style and approach that made him
successful.
Consider his approach towards life and success from his most famous quote (which
is nothing to do with technology): "Success breeds complacency. Complacency
breeds failure. Only the paranoid survive."
I can give more examples, but I think the point is loud and clear: There are so many
people with raw talent, but there is something more that is needed to lead them to
extraordinary success. For example, in addition to incredible coding skills, it could be
writing, speaking/presenting, business acumen, management ability, building
communities, or having a knack for making right moves at the right time.
Now, how can YOU benefit from this understanding and move forward? It does not
matter if you are a person who appear to have no in-born talents or ones who have
evidently special talents, there are many things you can do to grow from "good to
great".
• Become teachable. Most talented people stop learning after sometime and have
bloated egos. This is especially true for those who make it to top institutions (like
the famed IITs, Harvard, or Stanford). Learn from those who are around you and
from the experiences in the real-world.
“Talented people often think they know it all. And it makes it difficult for them
to continually expand their talent.” - John C. Maxwell
• Get versatile. Try different things and experiment. My favourite example is
Robert C. Martin. From writing to speaking, from coding to developing courses,
he is quite versatile and has built his career over a few decades that is worth
emulating.
• Build on your strength - programming. Programming wizardry for the sake of
programming is amusing and interesting but is practically not very useful.
Mediocre programs that solve a problem or meet a customer requirement is far
better than great code that serves no useful purpose. Yes, it is a strength to have
super cool coding skills; but build something useful on top of that foundational
skill.
• Get incredibly good at something (other than your coding skill). My favourite
example is Venkat Subramaniam who has gained fans world over for his
passionate and simply superb technical presentations.
• Get better at working with people. No matter how smart you are, you will
eventually be outsmarted by someone else. Also, one is too small a number for
greatness. No doubt those who win Nobel prizes, Academy awards, or Turing
Awards are incredibly talented folks - but there are always people leading them,
3. with them, or working for them. The people factor in greatness is often not
evident to us so we often naively assume that it does not exist or that it is not
needed for greatness.
Unfortunately, there aren't any excellent books on this topic. But two books stand out
that come to my mind that may be useful:
• Soft skills. This is one of the few books that focuses on the often ignored skills -
so called soft skills - for geeks and nerds.
• Talent is never enough. Maxwell talks about why talent is not enough and
explains why "talent-plus" people are successful. Also provides strategies and
steps for becoming a "talent-plus" person.
Bottom-line: great coding skills alone aren't enough for greatness. So, work on your
greatness from early on – get versatile, build on your strength in programming, get
incredibly good at something other than your coding skill and get better at working
with people. May the force be with you!
References:
[1] Soft Skills: The Software Developer's Life Manual, John Z. Sonmez, Manning
Publications, 2014
[2] Talent Is Never Enough, John Maxwell, Nelson, 2007
About the author:
Ganesh Samarthyam started out as a programmer. In the last 15 years he has
explored the wider world of software by playing various roles: he has written articles,
research papers & books, conducted training programs & coached young
developers, and organized meetups & conferences. He is now an entrepreneur with
his budding and successful start-up CodeOps Technologies in Bangalore.