Here are the pearls of wisdom from Jaidev Deshpande who is Associate Director, Gramener, and we are glad that we got a sight of the Data Science World from his perspective.
How has been your journey so far, and how did you land in Data Science?
- I am Jaidev Deshpande, and I am working as an associate director of Technology in Gramener. We build custom Data & AI solutions that help the Art of Storytelling with Data. I am responsible for creating the Engineering & AI stack and tooling system to generate better Analytics for better consumption by the end users and other stakeholders.
- Talking about what brought me here, I was working as a research assistant at the Tata Institute of Fundamental Research (TIFR, Mumbai) in the domain of experimental Physics and had a deep interest in the Analysis of the Data Results we got. Thus, I understood and explored the importance of quantitative aspects of experimental Physics. I further learnt that the more analysis we can perform, the more fruitful our data will be. So, this field is a journey, I am still paving my way into it as most of us in the industry are. We need to understand the importance of Statistics and Mathematics because that creates a strong foundation underlying our solution with every data set.
Talk about your current role. What does a day in your role and profile look like?
- If we take 5 working days typically on a problem, 60% of the time is meticulously spent on efficient ML programming, paying attention to factors like accuracy, efficiency, reusability, and scalability. We make sure that the solution is in a deployable state. Rest 40% of the bandwidth I dedicate to the data part so that we are in direct touch with the real numbers associated with the problem, and we are close to the end user’s connection with the solution. So, to quote it nicely I will say there is Technology and there are Maths, we juggle and churn both.
Do you say that scalability is also a very important part of developing a good solution to a Data Science Problem?
- By Scalability, I mean not only how big a data set your solution can cater to, but to understand how fast your solution can reach the consumers. To produce the results in an IDE like Jupyter is easy, but to carry the solution to the hands of the consumers, onto their phones, their computers and their homes is what I am talking about. This journey is full of real-life challenges and requires us to be as updated and progressive as the Data Science community is.
- Adaptability is another aspect of scalability. We know how approachable and easily accessible the tools of Today like fast-speed GPUs, Interfaces like ChatGPT and many other technological solutions have become, their reusability is incredible, so now it will not be a smart decision if we as programmers and as technology heads, bar ourselves from using the smart solutions and spend time on some rework which was readily available within the community.
How Important is Programming Knowledge for Starters and Aspiring Data Science Professionals?
- I would like to burst the myth and let the seekers know that yes, we do need to program. As I mentioned earlier too Technology and Maths go hand in hand. I do not want to confuse people by saying that they need to memorise syntax, library names etc but yes understanding the usability of a technique is crucial. For example, if I care about regression, I will know where and how a regression technique will give the quickest desired result. Documentation and surfing the internet for solutions exist for a reason and it can be exploited to the optimum level. But once we understand the technique, we no longer need to memorise it for the situation or framework, and with practice and hands-on implementation it becomes our muscle memory.
We know that many professionals aspire to make their career transition to data science. As per you, is there something very specific these people really need to do when they are making the transition?
- The best way to learn will be to start with a problem statement to work on. Get your hands dirty within your preferred environment. Once we get started, and the challenges get in the way, we make progress gradually. If we rely on understanding the whole spectrum all at once, we might get stuck and that will take us nowhere. Rather we should focus on “what” might help at this roadblock, and not the “how” part of the solution.
- The second suggestion on my part will be to possess and own a purpose-driven approach as you enter or make a transition to this field.
Find a real-life use case if at all you can. Getting the Data relevant to it will not be an easy game. But that’s how twisted and vast the data world for real-life scenarios is.
- Think of the roadmap your solution will follow. How an end user with only a phone with a particular app in his hand will be befitted by it and work accordingly. This might sound odd, but this can be your first end-to-end solution for a real-life problem that might have been identified and defined by you only. Also, along with understanding the Maths and the statistics portion of the problem, have an outlook on the deployability and the Data generation side too. Programming the same will help us understand each of these segments with clarity.
Those who want to enter the field have two sets of questions basically first is where to start and the second is how to catch up with new innovations coming up.
Do not get lost in the riddles of tools. Learn and master the technique. Because even after being in the industry for this long we feel the Gap and it is normal.
- With innovations like Gen AI platforms like ChatGPT coming and entering so many spheres of our lives within such a short span of time, we as professionals get scared of losing out if we do not keep up with the ‘latest market trends‘ in the tech world. But the truth is tools and trends become obsolete, buzz fades away. What stays is the conceptual Techniques and their use cases. So again, I will focus on a purpose-driven approach to programming. Find the solution by getting into the groove of working with simpler solutions and frameworks.
When taking the problem statement from the client, we get the problem in a totally non-analytical way, how do you break it down and approach it with the solution?
- That is true. But that is the beauty of collaboration. We learn and we teach simultaneously. My approach is to break down the problem into several specific requirements with the help of my clients only. Once we as a team can specify the problem as a one/two-liner, we are clear with the target.
What are the qualities that you look out for in your candidates, while hiring them in your team?
This is highly subjective because it is difficult to evaluate one’s true potential precisely, but these are a few salient qualities we can look for:
- Communication: A good communicator can tackle almost every problem. Even if you are stuck somewhere seeking the right help in the right form is crucial. Thus, I cannot emphasise enough the importance of articulating in a simplistic communication style so that others can grasp it easily.
- Approach of problem-solving: How will you deal with the problem statement presented to you? Explore the community as an asset and come up with an early and feasible solution. Create a portfolio to capture the same. It can throw a clear light on your ability to solve a problem statement.
- Data Structures and Concepts of Programming: The clearer our basics are, the more we can focus on our understanding of the domain understanding and delivering a better consumable solution.
- Ability to learn new things within the stipulated amount of time: Adaptability is what keeps you in the race, so exploring and using new innovations is what is expected.