O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Great Coding Skills Aren't Enough

238 visualizações

Publicada em

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 ... ]

Publicada em: Mídias sociais
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Great Coding Skills Aren't Enough

  1. 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. 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. 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.