Personal qualities that INTJ looks for in HPC candidates
April 25th 2016
Hello Everyone,
I want to talk to you a little today about the kinds of personal qualities that I look for in HPC people in general and in programmers and technical people specifically.
The two most important personal qualities I believe which are essential for technical people to posses are determination and persistence. These two qualities are essential when working in the information technology field which can be a frustrating place to work due to a variety of factors related to people, processes and the technology itself.
When it comes to programming, a determined programmer will keep working until such time as they have built a program that runs successfully and performs the functions required of it. During the process of developing code, a programmer will confront many obstacles which they will have to overcome in order to reach a successful end result. A programmer who is persistent will keep working to overcome bugs and to perfect their code. This process can take a long time and thus requires determination and the ability to handle stress and importantly - to work through frustration when things don’t go as planned and the program doesn’t run as expected. The type of person who potentially will make a great programmer will be extremely determined - to the point of obsession and compulsion. If you are the kind of person who engages in any kind of obsessive, compulsive activity then you may naturally have part of the mindset that is required to make a great programmer. Commitment to excellence, a passion for knowledge and willingness to learn new things are important for a programmer who’s work is akin to a football player playing a game of football and trying to kick goals through goal posts that are constantly moving. The ability to adapt to change. No - more - the ability to embrace change and keep kicking goals is paramount. A programmer should have attention to detail which helps a lot in programming and especially in debugging code. Research skills are important as well as programming languages and development stacks are constantly being updated, existing code is breaking due to software and server updates. It’s a constantly moving field with time especially waiting for nobody.
I would like to share a personal anecdote about my late grand mother. She was the type of person who constantly wrote things down and engaged in many types of repetitive behaviour. She was also obsessive about structure. There were many times as a kid that my brothers and I remarked to her that she was programmed. My late father was an engineer and was highly intelligent and very well regarded by his peers. He was an extremely driven and determined man who had an obsessive need to build systems. He would have made an excellent programmer. There is no doubt in my mind judging by my behaviour and the results that behaviour has had on the people around me that I inherited qualities from my grand mother and my father that have enabled me to become a highly proficient technical person. You too will no doubt have an elder in your family that will come to mind when you think about some of your personal traits that have been of benefit to you in this world. It’s not an accident that certain types of people are attracted to the world of high technology. A highly intelligent person with a focus on achievement will naturally be attracted to computing due to the challenges that can be found in the field and the outcomes of building successful systems and what these outcomes can have on the world and it’s people.
I have a good friend who is one of the laziest men I know. I grew up with the man having gone to the same high school as him. Known him for almost 25 years now. I have never seen a person who is as lazy as he is. You wouldn’t believe some of the examples of his laziness as it staggers belief. Now - laziness is for the most part seen with those of us who have good judgement to be a negative quality generally speaking but there is a certain application of laziness that is beneficial to those of us who work in technology. The ability to find the closest path between two points or the quickest, most efficient way to do something is valuable for technical people. Whenever I am working on a particularly difficult problem in HPC I will think about my lazy but street smart and learned friend and ask myself what would he do? How would he go about solving this problem given his bone idle nature? This has come in handy for me on numerous occasions because I am an extremely determined person and if you combined determination with certain applications of laziness then you can come up with solutions to problems faster and the computing field rewards faster work.
People who are able to see or who are able to come up with new analogies can make exceptional HPC professionals. An analogy is a comparison in which an idea or a thing is compared to another thing that is quite different from it. It aims to explain that idea or thing by comparing it to something that is familiar. Metaphors and similes are tools used to draw an analogy. In the HPC world - Administering a Supercomputer seems to me a lot like conducting an orchestra. Everything has to be in tune and working together in harmony and in parallel. If there are problems with the compute nodes, the management nodes, the queuing system, the storage, the license server or anything else then jobs are either not going to run properly, will terminate before completion or the queuing system will crash. At least with an orchestra you can hear when something is amiss and correct it quickly but with a supercomputer you are searching for multiple needles in a haystack using maps - logs which pinpoint where the needles are but most of the time it’s not the needles that are causing the problem - it’s the hay next to the needles. Call me Maestro people. This is an analogy. It is something I came up with myself after some time working in the field as a HPC system administrator. I look out for people who are able to come up with new analogies like this as it is both a sign of intelligence as well as an indicator that they could potentially devise innovative solutions to complex problems by applying their imagination.
In my own life I have had the pleasure of working with some exceptional people. People I consider more intelligent and better people overall than myself. One of the best programmers I ever worked with was in my startup Wotmed. He came as a personal recommendation from the first technical person we brought on board. He was in his early 20’s and was an extreme introvert. It was very difficult to get him to talk openly. My extroverted business partner (who is a full time recruiter) remarked to me at the time that he would never have put forward this guy forward as an applicant to a client company. This is interesting because I knew from the moment I met this individual that he had both the IQ as well as the personal traits required of a programmer and that if he continued to work as hard as he was at programming then he could have made an absolutely brilliant programmer. In the 2 years I worked with him he proved me right again and again coming up with innovative solutions to the complex challenges I was giving him. He had an obsession with programming. He was programming for many hours outside of university. His professors of course had already recognised his potential. His people skills had not yet been well developed. Now - I will take a brilliant programmer like him with underdeveloped people skills over an average programmer with good or great people skills because I know how difficult it is to find great programmers whilst people skills are generally speaking quite easy to teach and can be developed over time with the right amount of socialisation - the exact thing which great programmers avoid due to the majority of people generally speaking being let’s just say - not on their level.
Introversion is a trait that is common in programmers. Natural introverts spend a lot of time inside their minds. I am a natural introvert. Growing up I was always reading. I spent a lot of time alone. I continue to spend a lot of time alone to this day. This company of mine I started as a necessity and it is based on the belief that I will be able to recognise high potential or currently brilliant and highly experienced HPC professionals. Speaking of brilliance - I recently had the pleasure of working alongside a HPC professional from IBM. Spent over 2 weeks with the man working on parallel file system research. If he is watching this video he knows who he is. This guy was without doubt the smartest man I have ever worked alongside. I recognised his talent immediately and was astonished at his abilities. The expression “you know it when you see it” is apt. This guy had an extremely high IQ together with many years experience in the HPC field. Watching him work was a real privilege. I have never seen someone create a long and complex bash script by hand from memory without looking up any of the code. He made me quietly question my own intelligence in comparison to him and it’s rare that I do that and I work with some very smart people. The mark of a secure leader is the ability to put their ego aside and to hire people more intelligent than themselves. If you’re smarter than me I hope to recognise this and I will certainly not be insecure about putting you forward as a HPC candidate. One of my most important goals in this company is to recognise, work with and recruit HPC professionals who are smarter and/or more experienced than me. I hope to be the dumbest person in the room. If I achieve this I know I will have surrounded myself with a team of HPC professionals that are exceptional. Generally speaking - a highly intelligent and experienced person will not work for a boss who is their inferior. I hope that the HPC professionals that I attract will not consider me as a boss but merely a conduit if you will - a facilitator - a link into companies in the HPC space.
I will leave you today with the 10,000 hour rule. Malcolm Gladwell in his book Outliers says it takes roughly ten thousand hours of practice to achieve mastery in a field. Gladwell studied the lives of extremely successful people to find out how they achieved success and found that there were no naturally gifted performers. The psychologists found a direct statistical relationship between hours of practice and achievement. No shortcuts. No naturals. You already probably know how Microsoft was founded. Bill Gates and Paul Allen dropped out of college to form the company in 1975. Sounds simple doesn’t it? Drop out of college, start a company, and become a billionaire, right? Wrong. Bill Gates and Paul Allen had thousands of hours of programming practice prior to founding Microsoft. First, the two co-founders met at Lakeside, an elite private school in the Seattle area. The school raised three thousand dollars to purchase a computer terminal for the school’s computer club in 1968. A computer terminal at a university was rare in 1968. Gates had access to a terminal in eighth grade. Gates and Allen quickly became addicted to programming. The Gates family lived near the University of Washington. As a teenager, Gates fed his programming addiction by sneaking out of his parents’ home after bedtime to use the University’s computer. Gates and Allen acquired their 10,000 hours through this and other clever teenage schemes. When the time came to launch Microsoft in 1975, the two were ready.
I would argue however that both Gates and Allen had the raw ingredients for success going in. Both are highly intelligent people. These two were going to succeed at something without a doubt - whatever they put their minds to - importantly - to which their minds and natural proclivities were suited for they would have succeeded at. Look at Gates. He was the prototypical nerd. We all know who the nerds were at school and we know who they are today. Instead of putting them down we probably call them boss. A jock would never spend 10,000 hours practicing programming. A jock is not attracted to working on a supercomputer. A jock is out doing sprints at the track. By their deeds you shall know them - by your own deeds you shall know yourself. If you’re watching this video you know that you’re well suited to this field. Get in contact with me - make yourself known. Let’s open a dialog and get to know each other as people and as peers.
Until next time - all the best ladies and gentlemen!
I’m Clarke Towson