Sharing excerpts
from my interview with the Methods and Tools, Professional Communications team @ Sapient
HOW IT ALL BEGAN
Describe your
earliest experience with a computer.
My first encounter with a ‘computer’, an exclusive gadget in those
days, was in 5th standard.The first things I learned were GW Basic,Logo,and drawing diagrams based
on coordinates. It was fascinating! Cyber cafés were new in the market and I
remember browsing the Internet at 50 INR per hour on a dial up connection.
What books/blogs/sources of wisdom do you value,
and what would you recommend to others?
I am not a big fan of reading books
especially now when there are several online forums where experts discuss
trending topics in real time. I started my journey with JavaRanch(www.javaranch.com) and found it quite useful while working onJAVA/J2EE projects. I was
active on the site for around three years and made some good friends. I still
discuss complex project issues with them. With a hard-core interest in
technology, I started contributing to the Tomcat (http://tomcat.apache.org/lists.html), Castor (http://castor.codehaus.org/), and Andromeda (http://www.andromda.org/forum/) forums where I couldinteract with industry
experts.
Practical API Design: Confessions of a Java
Framework Architect is a good book for people who want to learn writing API that will stand the
test of time. It is written by the designer of the NetBeans API at Sun Microsystems
(now Oracle).
I have
learnt a lot from online discussion forums and strongly recommend that all
technologists should join forums that are relevant to their field of work.
What are your
interests outside of technology e.g. music, sports, and who are your idols
there?
I have a supreme love for dancing and I have managed to learn a
few forms of professional dancing like jazz and contemporary. Dancing de-stresses
me and is a welcome break in my daily routine.ShiamakDawar (master of
contemporary dancing) and Michael Jackson are my role models.
Apart from dancing, I write blogs (www.agrawalsaurabh.blogspot.com)
to share my personal experiences and my observations.
I am also a sports enthusiast and was a part of the Under 16 Cricket
team of Madhya Pradesh (a state in India).
What is the thing you worked on that you were
most proud of?
When I was in 12th standard, as
part of a science project,I designed a smokeless chimney to control air
pollution. The aim was to help the textile industries change the way waste is
recycled. This project was adjudged second-best in India and was presented at National
Children’s Science Congress (an international science fest) as a testimony to
awareness of environmental pollution. I consider it as an achievement in my life because
I received this acclaim at the very dawn of my adulthood. I had just started
playing around with technology for the betterment of life in general.
INSIDE
INFORMATION
If you had a
superpower, what would it be?
The power to reduce and annihilate suffering.
Who or what has
been your greatest inspiration?
Steve Jobs,because he transformed the way
technology is perceived today.In my opinion, he designed products that symbolize
the true amalgamation of technology and creativity.
What comes to your mind first when you
see/hear the following words?
·
Bar – A
place to get sozzled
·
Bench– A
place in the IT world where I would not want to be in, for a long time
·
Apple–
iPhone
·
Technology–Crazy
·
Java–Coffee
beans translated into technology
How do you define great craftsmanship?
It is debatable as to whether craft lies
within machines, with individuals or is a combination of both. Can Mercedes Benz
be considered a great car even after being created by computer controlled
robots? Such questions always cross our minds because we tend to start drawing
a line between machines and humans and in doing so lose the essence of
appreciating a great craft.
Crafting is a skill and great
craftsmanship symbolizes the effort put in by a skilled individual to develop something
of real quality that is accepted globally.
Brooks, one of the oldest
English firms, who manufacture bicycle parts in Birmingham, is a classic example
of great craftsmanship. Please see the video that shows how bicycle parts are created
there. http://www.youtube.com/watch?feature=player_embedded&v=z9w-y24Waz4
It demonstrates a combination of sophisticated
machines and skilled craftsmen producing high quality saddles. If we take the
machines used by Brooks out of the equation, human skill alone may not be enough
to produce bicycle parts with that quality. Similarly, if we take the craftsmen
out of the equation, the quality of the saddles will drop again.
In summary, I feel a great craftsman is
one who lays the foundation of quality products or services through creative
thinking and passion.
What are the first warning signs of bad craft,
i.e. code, design, or engineering?
Deviation from the basics can complicate
any project. A good developer is not one who just delivers the assigned tasks
on time, but also gets the basics right. Aspects like exception handling, code re-usability,
using the right semantics of code at the right place, etc., if addressed as a regular coding practice, can mitigate 80% of the associated risks.
An interesting article on how missing the
basics of design can lead to faulty websites can be found at http://www.webpagesthatsuck.com.
Are there any experiences outside of
programming that you feel have made you a better programmer?
Keeping an eye on what people discuss
and share in online forums, like CodeRanch, has definitely changed my perspective towards
approaching a problem statement. It has helped me evolve from a good programmer
to a better programmer.
IN THE WORKS
What technology trend(s) are you watching out
for right now?
I am currently exploring social
analytics tools like Social Mention
and Tweet Deck to understand their
role in gathering useful statistics on trending buzzwords in social media.These
tools can be integrated with e-commerce sites to present useful content and
products to end-customers.
Cloud computing is another area that I
am keeping an eye on. 2013 will be a key year to see how the buzzword around ‘Enterprise
Cloud’ fares in the market, especially with the ongoing hot debate between cloud
versus virtualization.
Tell us about a
project that went wrong. What could you have done differently to make it a
success?
Every
project in IT industry has its own bell curve symbolizing ups and downs. I
wonder how I have started accepting that as a fact now.
In one project
we had to build a complex system that had around 15 to 20 integration points,
complex business requirements involving SCM, portal technology, complicated
pricing, and a governance engine.It had to be delivered in about nine months. The
project was delivered before the deadline,but not readily accepted by the prime
stakeholders. The reason was not bad design or multitudinous functional issues,
but the lack of involvement of country-specific stakeholders during the requirements
phase. During that phase, the country managers’involvement was very minimal and
as a result, when the system was delivered, it had some missing pieces that
could have a negative impact in certain countries.This incident taught us that unless
technology marries business, we can’t have a perfect solution.My personal
mantra is – “Success is not doing extraordinary
things, but doing ordinary things extraordinarily well”.
What’s one problem in everyday life that you’d
love to solve using technology?
I would like to see technology being used for studying the human genome
to diagnose a disease and simplify clinical practices. If we know the reasons
behind the activation of diseases, the development of new drugs and therapeutic
procedures will become easier.
Imagine wearing a wrist band with a small screen displaying a disease syndrome.
What do you think is the most important skill
for a programmer to have?
It is essential for a programmer to
possess strong analytical skills. I believe that developing software is like
playing chess where one needs to predict the moves. A developer needs to have the
big picture in mind while coding.
It is also important for a developer to
know about other areas like productionizationand working on the Web – be it
infrastructure elements, networks, web servers, databases, communication
protocols, integration points, etc.Being able to see the ‘Big Picture’can
guarantee a resilient craft.