What do the top 1% of software engineers do that the other 99% do not?

What do the top 1% of software engineers do that the other 99% do not? by Piaw Na

Answer by Piaw Na:

  1. Invest in learning and building tools. I've yet to meet a top engineer who didn't acquire mastery of their editor (EMACS, vi, etc), source control system, debuggers (though that's sadly going away), and programming environment. By contrast, mediocre programmers can (for example) edit code in EMACS but don't treat it like a development environment either to speed up the edit/compile/debug cycle or to reduce memory load (by off-loading knowledge of where a function is by using TAGS or some meta-search tool). Top engineers not only understand all the basic features, but usually make heavy use of the extension languages and customizability of their environment.
  2. Give credit where credit is due. Again, if you're a top engineer, you don't need to hoard credit and can happily acknowledge other people's work. This makes other great people want to work with you, and it's a self-fulfilling cycle.
  3. Impatience. Rather than wanting to spend time in meetings, top engineers write code, and spend time writing code rather than talking about it. Jeff Dean, Pengtoh, and Amit Singh have done major code changes to Google infrastructure without hesitancy. As Bill Coughran once said, "You come in one morning and discover that the universe has changed."
  4. Total stack comprehension. Great software engineers don't stop at an abstraction or module boundaries. They penetrate those boundaries and attack problems or bugs until they solve them. I was once sitting down next to Pengtoh while he dug down into misbehaving code and discovered a bug in the assembly the compiler was generating. He then figured out a stable workaround for that bug. If you're intimidated by abstractions or have too much respect for module boundaries, you wouldn't have found that bug.

If you do all of those 4, there's zero chance you won't be one of the top 1%.

What do the top 1% of software engineers do that the other 99% do not?

What are the best deep/machine learning journals to follow?

What are the best deep/machine learning journals to follow? by Ian Goodfellow

Answer by Ian Goodfellow:

As a member of the steering committee of distill.pub, I hope you’ll find distill.pub to be one of the best deep/machine learning journals to follow. If you follow it and don’t find it to be among the best, let me know what we can do to improve.

What are the best deep/machine learning journals to follow?

How do animals tolerate pain when being eaten alive?

How do animals tolerate pain when being eaten alive? by Donna Fernstrom

Answer by Donna Fernstrom:

They don’t tolerate it. They go into shock. Shock is a last-ditch effort by the animals’s body to preserve vital organs by reducing blood flow and energy consumption. The high adrenalin levels and endorphins associated with shock can act as pain killers. This is true of humans as well – a human traumatically injured in an accident may not feel pain until the shock wears off later.

So, the animal isn’t calm at all. It’s mentally stunned due to its state of shock.

Attribution: Donna Fernstrom. I wrote every part of the above text myself, in my own words.

How do animals tolerate pain when being eaten alive?

I am 17-years-old and whenever I motivate myself to achieve my goals, I get excited for a moment, but over the time, I forget about my mo…

I am 17-years-old and whenever I motivate myself to achieve my goals, I get excited for a moment… by @DrAwdheshSingh

Answer by Awdhesh Singh:

Please see the picture below, where a man is trying to push a stone to the top by great effort.

It is easy to imagine that as soon as the man would stop putting effort, it would come tumbling down with great force.

Now imagine your head/mind’ like the man, and the big stone as your heart/feelings.

You want to push the stone up with so much effort, but the stone itself wants to come down due to gravitational forces. All your effort to push the stone is not only fruitless but carries the danger of crushing you when it starts coming down after you are burned out.

When you have to motivate yourself for doing something, it means that you are using your mind against your heart. The results in such endeavour are quite predictable—‘losing your motivation sooner than later’.

Is it not evident?

How long can you keep pushing something which has the tendency to come down?

You are bound to eventually get tired and exhausted and then you are back to square one with a sense of frustration.

The best way to change the situation is to synchronize your mind and heart. When you heart feels in the same way as you mind think, there is no conflict and you never lose motivation.

You can achieve this state of mind/heart in the following manner.

  • Identify your passion and follow it with all the power under your command. You don’t have to motivate yourself doing such things as you are already desiring such things.
  • Make your work your passion by getting emotionally involved with it. This is possible when you give a human dimension to your goals and objectives and develop the vision of the joy you work can give you and to other people whom you love.

The famous Chinese philosopher Confucius said so aptly: ‘Choose a job you love and you will never have to work a day in your life.’

When your passion and desire matches, you achieve everything effortlessly.

I am 17-years-old and whenever I motivate myself to achieve my goals, I get excited for a moment, but over the time, I forget about my mo…

How do I learn Apache Spark?

How do I learn Apache Spark? by Suman Bharadwaj

Answer by Suman Bharadwaj:

Start learning core concept of Spark – Resilient Distributed Dataset (RDD) . For further information regarding RDDs, refer to the below links. It contains lot of information on how RDD works.

  1. https://www.usenix.org/system/fi…
  2. http://www.cs.berkeley.edu/~mate…

Additionally, you can also watch this fantastic video on RDD by Matei Zaharia:

  1. Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing

To help you get started with Spark, screen-casts are available on the SPARK website. Play around with Spark for some time to get your self familiar with the spark shell

  1. First Steps with Spark – Screencast #1
  2. Spark Documentation Overview – Screencast #2
  3. Transformations and Caching – Spark Screencast #3
  4. A Standalone Job in Scala – Spark Screencast #4

Although, Spark provides APIs for multiple languages, learning Scala will definitely help. A small introduction to Scala shell is available-

  1. Introduction to the Scala Shell

Once you are comfortable with above concepts and played with Spark for some time. Get into the internals of Spark. Matei Zaharia talks about the internals of SPARK in the below video. [ An excellent video, it helped me a lot ]

https://www.youtube.com/watch?v=…

Now it's time to learn optimization techniques:

  1. Tuning Spark – Spark 1.0.0 Documentation
  2. A powerful Big Data trio: Spark, Parquet and Avro

Also, you can register to the Spark channel in Youtube. Spark summit, meetup and other videos are available in the Youtube Channel Apache Spark

Other links which helped me are :

  1. Differences at shuffle side between Hadoop and Spark- Page on berkeley.edu
  2. Spark with Java 8 – Making Spark Easier to Use in Java with Java 8

Spark is fantastic and easy to learn. You'll be amazed to see what 2-3 lines of Spark code can do.

Happy coding and welcome to lightning fast analytics !

How do I learn Apache Spark?

What algorithms should a first year computer science student know?

What algorithms should a first year computer science student know? by @karger

Answer by David Karger:

First year computer science students are mainly focused on learning how to program.  MIT's first algorithms course, 6.006, is therefore a pretty gentle introduction.  It covers
* core concepts of runtime and asymptotic analysis
* divide and conquer
* sorting (merge sort, quicksort)
* searching (balanced binary search trees, hash tables)
* graphs (breadth and depth first search, topological sorting)
* dynamic programming (shortest paths, text justification)
That's really enough for a first year.  Our next course, 6.046, dives much deeper.

What algorithms should a first year computer science student know?

What is the single wisest thing you’ve heard or read that you completely follow in your personal life?

What is the single wisest thing you've heard or read that you completely follow in your personal life? by Rieve Bule

Answer by Rieve Bule:

"When we hit our lowest point, we are open to our greatest change."

Yes, it is indeed a quote from a children's cartoon series, but Avatar is an awesome show by anyone's standards.

Whenever I feel I've hit rock bottom, I remember that line and look on the bright side. The bright side being that I am now free to change as much as I feel is necessary in order to pick myself back up.

Aang became a very wise man.

What is the single wisest thing you've heard or read that you completely follow in your personal life?

What are some famous on-field decisions taken by captains in cricket?

What are some famous on-field decisions taken by captains in cricket? by Sumeet Kr Sinha

Answer by Sumeet Kr Sinha:

Many people have written about a player congratulating another player after he played a good innings. That is fine, and very much expected.

One incident stands out in my opinion.
India vs South Africa, in year 2000, when SA visited India, Ganguly was a new captain then.

Robin Singh was running hard and threatening to take the game away from SA. Just then during a run, he collided with a SA fielder and fell mid way. The ball reached the bowler's end, and the bowler was about to dislodge the bails.

Hansie Cronje shouted from mid-on not to do so, came running toward the player (Steve Elworthy I think), put his hand on his shoulder and walked along away from the stumps, explaining him something.

Result: Robin Singh survived the run out because of brilliant sportsmanship shown by Cronje.

This tops my list of gestures of respect for the game.

Sumeet Kr Sinha's answer to What are some famous gestures of respect in sports?

What are some famous on-field decisions taken by captains in cricket?

What are some psychological facts that people don’t know?

What are some psychological facts that people don't know? by Ashviny Chandrasekaran

Answer by Ashviny Chandrasekaran:

  • 90 percent of the time you agree with a person to shut them up.
  • A study by Harvard University suggests that easily distracted people are more creative.
  • When offered a new pen to write with, 97 percent of the people write their own name.
  • Intelligent people tend to think faster, as a result, their handwriting is sloppy.
  • Men change their minds three times as much as women do. Men are also bound to be more impulsive than women.
  • The mood where you are irritated by everything indicates that you are missing someone.
  • Your height is generally determined by your father.
  • Emotional strength, body shape and intelligence are generally determined by your mother.
  • When feeling discomfort, men prefer to touch their face and women prefer to touch their neck, jewelry, arms and hair.
  • Travelling can make you more creative, smarter and improve your problem solving abilities.
  • Always go with the choice that scares you, because that is what is going to help you grow.
  • People with higher creativity are more likely to suffer from anxiety and depression because they may find themselves alone with their ideas.
  • The best person in your life is the first one who comes to your mind after reading this sentence.
  • Generally, if your anger on a person lasts for more than three days, then you don't love them.

What are some psychological facts that people don't know?

What are some of the best moments of humanity?

What are some of the best moments of humanity? by @NiklasGoeke

Answer by Niklas Göke:

This is Alan Turing.

The first time I ever heard his name was in a computer science class, where we studied different kinds of basic machines and how they work.

One of them was called a Turing machine. Alan invented it. This is what it looked like:

It looks big and clunky and mysterious, but on the inside, you can imagine it a bit like this:

A Turing machine really only does a few things:

  • It moves a tape back and forward, that has symbols written on it in single cells.
  • It reads one of these symbols at a time.
  • It ties these inputs to certain outputs.
  • It writes the output on the tape, and moves on.

The Turing machine changed the course of history unlike any other invention ever made. The moment Alan Turing got his invention to work is one of the greatest moments in the history of mankind.


In the summer of 2016, I visited a spies and secret agents exhibition with my Dad. There were a ton of cool things to see, like tranquilizer pens, rigged phones, and agent files.

But when I saw this one, little machine, sitting behind a window, I stopped dead in my tracks. Photos weren’t allowed, sadly, but this is what it looked like:

The machine is called Enigma. The word is Greek and means ‘mysterious.’ It’s a coding device, which was invented by a German engineer, Arthur Scherbius, at the end of WWI, and refined and improved over time.

In WWII, the Enigma was used to encrypt all German military communication, and was considered uncrackable.

Since it used different rotors, letters and numbers to transform the letters in messages, Enigma could create up to 158,962,555,217,826,360,000 (nearly 159 quintillion) different settings – which the Germans changed every 24 hours.

After graduating from Cambridge and getting his PhD in mathematics from Princeton, Turing worked part-time for the Government Code and Cypher School, helping to decipher encrypted messages.

On 4 September 1939, the day after the UK declared war on Germany, Alan Turing reported to Bletchley Park, where he and a team of the best British scientists worked on breaking Enigma.

After almost two years of endless decoding, modeling, calculating…

…moving to a restricted area even within the already super secret government facility…

…and spending thousands of pounds and hours on building his machine…

…Alan Turing got his machine to work. On July 9th, 1941, the turing machine broke the Enigma key. From that moment on, the allied forces could decode all German communication, unbeknownst to them.

This is what those decrypts looked like in progress:

Until the end of the war, for another four years, the allies had an incredible advantage, which, ultimately, won the war.

Historians estimate that breaking enigma shortened the war by two years, saving over 14 million lives.

But here’s the kicker: After the war ended, the Turing machine was analyzed, improved, and built upon. As a result of generations of research about Turing machines, we now have a different name for them.

They’re called computers.

I couldn’t write this answer without Alan’s work. And you would never have read it.

One man almost single-handedly took us out of one of the worst periods in historic time and into one of the most prosperous.

Alan Turing was instrumental in ending WWII and inventing the computer.

The moment the gears of his machine clicked into place in the right position for the first time is the origin of both.

That’s what I remembered when I saw that little machine, resting behind the glass in that museum.

And I think it’s one of the best moments of humanity.


I write more here.

Note: A great movie about Alan Turing’s life and work is The Imitation Game. I highly recommend it.

Update: Technically, a Turing machine is just a theoretical model and is capable of more than the actual machine he built. The specific implementation by Alan that can be seen in the picture is called a bombe and is an incremental improvement on a type of machine built by Polish codebreakers.

What are some of the best moments of humanity?