Q. Almost all of the popular Machine Learning algorithms are already implemented in languages such as Python and R, then why does any company need people who specialize in the field of Machine Learning?
Writing code and applying the code properly are two very different things. People who have the knowledge of the field of Machine Learning know the various algorithms in appropriate depth. They understand the very basics of those algorithms and thus, they can properly implement those algorithms. There are several different algorithms available for various Machine Learning task such as Regression, Classification, Clustering, etc. However, every scenario requires an algorithm that might be different from the other scenario of the same task such as Regression. Thus which algorithm to apply in which scenario is a well though-out procedure and a person with in-depth knowledge of Machine Learning can properly complete this task. Every algorithm uses certain “Parameters” and “Hyper-parameter”. When one simply implements the algorithm from the libraries, these parameters and hyper-parameter take the default values. But, as mentioned above, every Machine Learning scenario is different from the other. Finding and Adjusting the most optimum value of the parameter and hyper-parameter is a complex task and can not be completed without the proper knowledge of Machine Learning.
Q. You are the product designer in a reputed company. You are given a new product to design for Enterprise Resource Planning (ERP) module. What are the steps involved in this procedure and mention the topic knowledge required in various phases.
Throughout the course of one’s education one is taught several subjects. These subjects are actually a part of the whole, which you are expected to re-create from the knowledge that you’ve gained from these subjects. In the process of a Product Design, one has to, pretty much, use all of the concepts that he/she has learned. First of all, one has to capture the requirements of the client in a mathematical model that clearly defines the components, inputs and outputs. There are several mathematical models that one could use to model this product. The further task would be to go into the depth of this model and decide upon some of the underlying components. In such a product design an Object Oriented Approach is used. Hence, one has to decide the various classes and the interface that would be provided for the user as well as for the further programmers. This is a very important task as it decides the capabilities of your model and the ease of implementation. One also has to use Design principles for this phase and organize and interconnect the various classes. Going further down in the implementation, one has to now decide the various Data Structures that one would use. For example, an array would be used for a static list while a linked list could be used for a dynamic list. Choosing the right data structure is very important as it decides the efficiency of the operations you would implement and how easily those operations can be implemented. Everyone wants the process to be as fast as possible and that is made possible by the correct choice of the data structure. Now using the appropriate data structure, one has to now design various algorithms to be used. It requires the analysis of the pseudo-code of the algorithm proposed and this analysis helps us to determine the time-complexity of the algorithm proposed. This helps keep a check on the running time of the algorithm. Another important field that could be used here is the knowledge of Data Mining, Machine Learning and Deep Learning as these techniques would enable us to use algorithms that would automate our work and would allow us to work efficiently with large amounts of data. Finally, you implement whatever concepts you have devised. Remember, whatever code that you write must be “readable” because you are working in a team and others should be able to read your code easily. Then test the product to check whether it meets the requirements. Testing also is an important phase as this is the phase that would help you guarantee your work.
Q. You are the sales head of your company and you have a meeting with a potential client. However, your rival company, that too had a meeting with the potential client, grabs the deal. Given that you were more technically sound(also ignore personal favors possibility), why could you not get the offer?
A person who is in the industry displays not only his/her technical knowledge but also his/her soft skills to the client. There is no doubt that your technical soundness can never be replaced by only soft skills, however, it is also true that the dearth of soft skills can never be fulfilled by the technical skills. The presence of the both is absolutely imperative and they make up the whole package that you have to offer to the client. Your: 1. Body Language 2. Posture 3. Gestures 4. Articulation 5. Appearance 6. Confidence matter a lot and were the final determiners of who will finally get the deal. All of the above listed attributes are interlinked and proper care should be given to all them. One thing to note is that all of the above features make up your communication skills and not only the way you speak. They determine that how confident you sound when you talk about some technicalities. If your appearance is good, it indicates about your nature and how organized and systematic you are. Your posture and gestures convey conviction in what you say. Moreover, what you say must be understood by the listener with ease. Determine the type of your audience and use terms and phrases that he/she might be able to grasp easily. Refrain from the use of Jargons if the audience is not apt for it. If one can explain a concept in the easiest possible terms and methods then it shows the depth of the understanding the person has of the topic. So even though your competitor had little less technical knowledge than you, it is highly probable that the manner in which the discussion happened between him/her and the client was more convincing to the client.