I was extremely nervous before this interview as I was going to be talking to a
CTO; however, it was not at all as nerve-wrecking as I expected it would be. Since it was over the phone, I took the advantage of having my laptop out with questions and reminders in case I got stuck. This proved to be a bad idea as I was more focused on my list rather than the conversation, so I shut down my laptop fifteen minutes into the conversation. Additionally, this interview reaffirmed that I prefer face-to-face interviews rather than ones over the phone. After asking Mr. Purohit regarding his experience in the field, he asked me if he should tell me the correct answer or his experience. This question caught me off-guard and he explained what he meant by this question. Mr. Purohit informed me that there are textbook paths to follow through to get to certain roles; however, these paths are rarely followed. I replied that I wanted to learn about his experience within the field and he responded. While answering my question, Mr. Purohit emphasized the opportunities given to him by working in Bangalore- a software hub. This comment reassured me that my plans to pursue my masters degree near Silicon Valley and be employed in that region would greatly benefit me due to the prominence of the technology industry in that area. I found it interesting that Mr. Purohit asserted that Cloud Programming is not a field. He explained that Cloud Programming is a term used to refer to programming languages, styles, and applications apt for cloud systems. He described cloud programming as revolutionary for businesses in that they are available to attain space along with technical advancements for a much lesser cost than instead investing in new technology, such as a Mac, every four years. Mr. Purohit also informed me that writing code on cloud platforms is completely different from regular programming. He explained that code platforms utilize languages such as Node GS in order to easily utilize code with multiple threads and users. He contrasted Node GS with languages like Java. He stated that Java programming is still a great skill to have since it requires a lot of time to master and can be used in complicating cases. Additionally, he said it is important to understand Object Oriented Programming Principles. However, it is not apt for Cloud Programming. This helped me realize that programming for cloud platforms is completely different when in comparison to the other programming fields that I am looking at, such as Mobile Application Programming. We also spent quite a bit of time discussing Machine Learning. Mr. Purohit told me to not consider Machine Learning as a field of computer science and to view it as a subset of Artificial Intelligence. I noticed Mr. Purohit was extremely passionate when discussing Machine Learning; he even called it a seismic shift in programming. I never considered it to be that huge; however, after contemplating that assertion, I understand why. This sidetracked to a discussion on the different types of programming as I was having a little trouble understanding why Machine Learning is revolutionary. Mr. Purohit explained that much of coding utilizes deterministic programming: coding that is driven to create algorithms that go from an input to an output that is mostly or entirely known. I did not understand when he discussed the role of hardware in this type of programming. He explained that machines saving data in binary relate to deterministic programming while machines saving data in a neuro-architecture field relate to probabilistic programming. Mr. Purohit defined probabilistic programming as having an answer between 1 and 0. I did not understand this definition. This caused Mr. Purohit to explain that probabilistic programming allows machinery to learn by labeling. This makes some cases of programming more efficient. For instance, identifying spam emails based on keywords would be inefficient since a multitude of words can be used and spammers can merely change the technique. In this case, probabilistic programming would learn and identify the labels. This relieves having to hardcode millions of words and phrases. Overall, from this, I learned that different types of programming and hardware are better for certain situations. Towards the closing of the interview, I consulted Mr. Purohit for advice relating to my field of study. Mr. Purohit suggested that I pursue Machine Learning and subsets within Artificial Intelligence if I find them interesting. He said that he suggests this as Artificial Intelligence is a growing sector. Another piece of advice he offered was to pursue data-centric languages such as Python. He said this would allow me to become a more well-rounded programmer and assist me in the future when working with data. Mr. Purohit additionally stressed that successful developers expect and embrace changes. He warned that developers who do not enjoy and invest time into learning lose influence. Additionally, Mr. Purohit explained that it is better to invest time into many aspects of Computer Science. Mr. Purohit also suggested that I look into IBMs Bluemix as it will allow me to look at services and give me exposure to data-science. He advised that I do this for at least an hour each week. Furthermore, I asked Mr. Purohit for advice relating to the professional realm. He answered by telling me to dismiss all the preconceptions I have relating to the workforce as they are probably not like the workforce at all. He explained that while many may think that the higher positioned have more freedom to experiment with code not aligned to business, higher positioned employees often are mandated to complete certain tasks. I was surprised with how he ended by stating that he believes it is more important to have a strong work ethic, integrity, respect for coworkers, and to be on time. He expressed that the above qualities are integral in the workforce as it is important to be reliable. Additionally, he stressed that the smallest details make a significant difference in the workforce. I enjoyed this wonderful opportunity to interview Mr. Purohit as it allowed me to further my knowledge of different types of programming. Mr. Purohit explained each aspect with meticulous detail and I feel as though I have a greater understanding of the software development field. Even though a mentorship under him may not work due to his insanely hectic schedule, I will ensure to utilize all his advice in the future. I am truly grateful that he made time for me amidst his responsibilities.