Ravindra Jaju
Lean Developer & Coach
Experiences
Jaju has:
- Expertise in text indexing and search, and natural language processing techniques.
- Been invited for lectures, and conducted various workshops, on Networking, Security, and GNU/Linux platforms and tools at various fora (industry and educational institutions)
- Performed as a member of a team (EnTell) that won the 3rd prize, competing with about 400 other teams, in Eureka 2001, a business competition conducted by the Entrepreneurship Cell, IIT Bombay.
- Experience in setting up computing infrastructure and networks with GNU/Linux systems, including setting up proxy/web/mail/DNS infrastructure, configuring routers and firewalls, Internet traffic management, log analysis and reporting.
- Developed SEM management tools working seamlessly with 3 major ad-networks for easy management of ad-campaigns
- Worked on various projects involving Rails (on both standard Ruby as well as JRuby), Java, Spring, JBoss, Lucene, and Solr.
- Have coached various teams, and conducted workshops and assessments on Agile Engineering Practices, as part of the company's newly formed India-focused consulting group.
- Developed a C++ based testing framework with 100% compatibility with googletest (only a subset of its features) for a customer to work with their legacy compiler where googletest would not work, allowing them be ready for using googletest once they upgrade their systems, without having to rewrite tests.
Jaju received his Bachelors and Masters of Technology from the Indian Institute of Technology in Bombay.
His technical skills include:
- C/C++, Java, Scala, Clojure, Ruby, Python
- Rails, PHP, XML/HTML, Javascript
- Platforms: Primarily GNU/Linux and various Unices
- Experience with low-level libraries (socket-programming, pthreads etc.) to higher-level tools like ICE, RMI, Camel, Akka.
- Git, CVS, Subversion, Perforce
- Various tools to manage software build and releases.
- Well-versed background in systems administration and networking, and architecture of large-scale system deployments.
Q&A
Q: What does your work involve?
It's a mix of many things. One part is an opportunity to put my experience to good use while coaching one of our clients. Another part is supporting and enhancing our popular e-Learning platform.
Q: Could you tell us a little bit about yourself - your education, interests, past work experiences.
I love building things. Mostly software. Shouldn't be surprising given that I'm a Civil Engineer, right!?
I also obtained my Masters in Computer Science. My primary fields of interest - if I can leave aside the tools I use - have been text analytics and networks. But tools and techniques play an important role in our profession. So, along the way, I was lucky to be in the company of so many good folks who helped me pick up and explore various programming languages, tools, and ways of working - primarily, Agile. I use Agile as a catch-all term, and am very pragmatic about it. I'm a great believer in using what works for a situation and never being fanatic. Except, of course, when it comes to using Linux.
I've worked at quite a few places, including a start-up of my own and at ThoughtWorks - the last place I worked at before joining Industrial Logic.
Currently, there are two things which excite me the most. Clojure, and Emacs' org-mode.
Q: That is great. Tell us what appeals to you about coaching?
Coaching is a great means of applying yourself. It's a mix of teaching and learning at the same time. I enjoy teaching - and have been adjunct faculty at two institutes. Interacting with people, understanding their situation, and helping them overcome problems can be a big motivator. It's these aspects which appeal me.
Q: What is a typical day at work like?
I take my day as it comes. I don't like to plan much, nor do I look back much. Given that, I will really need to think hard about this question!
To me, I like my day to bring challenges, and work on overcoming them. I like technical challenges best.
Q: How has Lean changed your practice of Agile?
As I said before, I've always been pragmatic about processes. And very luckily, I've never had to work in a Waterfall type environment and have only heard about it from a distance. So, to me, Agile (with a capital A) and all it's variants have always been about "being agile" (focus on the English meaning.) And all tools and techniques are logical means towards that end.
Having been at 3 startups in my career, we ended up being Agile/Lean without thinking about them as such.
But yes, being exposed to more formal Agile and Lean environments and reading about them from established practitioners have helped me realize that even when you think you're being agile, there are times when you can be wasteful. Rather, focused more on your tools and/or "future-proof" design - which typically end up being forms of premature optimization and working without a whole lot of information of what the customer may want. To that end, Agile (and then, Lean) principles act as good guides.
Q: What do you do to relax?
I love listening to music. Or taking a brisk walk when it's cool outside and the roads are deserted. Best is when I can do both at the same time.
Q: What does the future hold for you - any exciting plans, developments?
We are living in exciting times. And I'm happy to be in a profession which has been a primary contributor to the excitement factor. Software is now found in almost everything you touch. So every new day brings with it a sense of expectation and excitement!
While there are a few domain specific things we need to look at, I'm hoping to make better use of some exciting languages/frameworks I've been working with of late (Clojure, JRuby, Akka) in our e-Learning platform, as well as in some coaching activities if possible. After all, we wouldn't be Agile without these exciting tools!