OpenDaylight Intern Spotlight: Deepak Kathayat

OpenDaylight has accepted seven student interns for the summer of 2014 to work in the community and receive hands-on development experience in SDN. Each intern is working closely with an active OpenDaylight developer as their mentor on a project that suits interest and community need. 

This blog series aims to showcase the interns chosen and the projects they’re actively working on, the mentors who are aiding in their professional development and the overall experience of working in an open source community to create a common platform for SDN and NFV.

About Deepak
All throughout the twenty-one years on this planet, I have almost always tried to dodge this cryptic question. To tell you a little about oneself is like trying to discern the clouds floating in the vast emptiness of sky. Where do I start? I'm Deepak Kathayat. Born and brought up in the maddening hustle-bustle of the city of dreams called Mumbai (India). My genealogy can be traced back to early Indo-Aryans who migrated into the Indian subcontinent centuries ago, finally settling at the feet of the Himalayas in the north - where all my present kinsman are inhabited.

I'm an aspiring artist -- my art being computer programming among many other things including literature, philosophy, visual and sonic culture. Solving problems happens to be my favorite past time, be it attempting to better the page replacement policy in the Linux kernel, or studying how to devise a technique of control in a society. If it's interesting, I'm on it. I like thoughtful, long conversations, the sky ten minutes before it rains and waking up to realize that I have more time to sleep.

What’s your take on Software-Defined Networking? What do you find interesting about it? How did you hear about OpenDaylight and what got you interested in this internship?
I was introduced to SDN through the course offered on Coursera by the same name, instructed by Nick Feamster from Georgia Institute of Technology. Initially, I couldn’t fathom why this technology was going to disrupt the entire networking industry the way we know it. Then I learned its similarities to the history of traditional computing systems.

When you bought a computer in the 1980s, it was based on a specialized hardware, sitting below a specialized operating system and running specialized applications - all from one vendor. It was closed, proprietary and suffered through relatively slow innovation. What really changed the game was the advent of microprocessors with their public interfaces, which led to a number of operating systems and subsequently, a large number of applications over these OSes. It brought rapid innovation and led to the computing systems that we see and use today.

Today, in the world of networking technology, a similar story is in the making. What we've had so far has been specialized hardwares and specialized softwares running over them. What we need is an open and rapidly innovating network OS with open interfaces to the hardware sitting below it and to the applications running above it - SDN is one such manifestation. SDN is what is changing the game here, and I believe OpenDaylight is at the forefront of being the agent of that change.

This internship has been the perfect opportunity for me to contribute to the change.

Best thing you've learned so far from your internship?
I'd attempt to offer an unconventional answer. Surely, as a programmer, I gain new insights into the world of computer science where I work every day. To learn how technology works and solve real world problems is a lifelong adventure. But the one key lesson I've learned so far from this internship is the importance of time management. How to set goals, fix deadlines, anticipate delays, work on prioritizing targets and constantly improve my methods of working were some key skills I had to develop. These are definitely not easy to master, they take time and demand considerable effort and sincerity.

It gives me immense satisfaction that this internship is helping me come to terms with the realization that our time is limited and that every hour we save is an hour added to our life -- this lies at the heart of living a fulfilling life, no matter where you are from and what you do.

Which OpenDaylight project are you currently working on? Any cool things to share?
The project I'm working on is part of the Fuzzy Test within the Integration Group. We’re building a fuzzing framework for the OpenDaylight controller. I believe one cannot have a cooler project than this! A fuzzer is essentially a program whose sole purpose is to break other programs, thereby seeking to find as many bugs or vulnerabilities in the way those programs presently handle their interfaces and protocols. The basic premise is that by injecting essentially random data into the various methods of OpenDaylight's components and recording the results, we can identify behavioral changes in the application's logic and predict future problems before they occur. Fuzzing finds bugs and is light on resources (expertise + time + money) when compared to the return of investment.

A deliverable that I would like to achieve as a result of this internship is having a robust and highly effective fuzzing test suite with good coverage for a large-scale, extensible framework such as OpenDaylight -- that can prove to be essential for maintaining code reliability, protocol consistency and programmer sanity.

Who is your mentor and what’s the experience been like so far?
My mentor is Luis Gomez. Luis is a fantastic mentor -- he gives me ample freedom to work my way through the project, while responsibly guiding me every time I need his assistance. Despite the fact that he is significantly more experienced and knowledgeable than I am, I have found him to be extremely down-to-earth and amiable.

What would be your dream job?
Truth be told, I'm still discovering myself, my interests and my career affinities. Though there's still a long way to go, I'm glad that I'm inching closer towards the realization of who I want to be and what I want to do. A job with complete freedom, and a workplace that is welcoming and friendly, with ample growth opportunities and a true appreciation of hard work is all I can hope for. My dream job would be something that would cease to be a job at all, and of course, always be fun.

What’s your advice to other aspiring developers out there?
My advice to other aspiring developers would be what I often advise myself - don't go looking for money or adulation from the public in your work. Programming is an art, and you are its creator. Create art for the love of it.

What gets you jazzed to write code? Listening to music, drinking coffee, chatting in IRC, etc.?
When I'm writing code, I prefer complete silence. No music, no chitter-chatters, no fans making noise. Just pure silence and the little thrill of creating art.