With over a decade of experience – ranging from junior developer to
managing a large technology team – I bring a diverse set of skills to
the table. I can help bootstrap new projects, grow and mentor a team of
developers, or manage large projects.
I have worked on various technology platforms including Common Lisp,
Python/Django, frontend web development including vue.js and bootstrap,
Cocoa Touch (Objective-C), C and (briefly) Java. In addition, I have
spent a significant amount of time hiring and mentoring software
I was with Directi for 8½ years; during this time I worked on a
variety of projects and in various roles.
chat.pw was a messaging app for the desktop and
web. This was the first product I worked on at Directi and was a
part of the team that built the desktop and web client, which was
talk.to is what chat.pw was later renamed
to. Around that time we started developing mobile apps for this
product. I led development on the iOS client for the next four
years. During this time my team also developed a TCP based proxy
server for the iOS app using node.js.
Ringo is a low cost calling app. I led development
of VoIP functionality in the Ringo iOS app and also overall
development of VoIP functionality using pjsip in both the iOS and
Flock is a communication suite for teams. I led
development of the iOS app and the Flock app store, designed the API
and the developer portal, conceptualized and managed product
development for the github app among other things. Later on I served
as the CTO of Flock.
Developed a TCP based proprietary alternative to TLS meant to reduce
the number of round-trips required for handshake. At that time,
alternatives like QUIC were not mature enough for production use.
Played a significant role in growing the technology team in
Directi's Gurgaon office from less than 10 to more than 50 people.
An important responsibility I had was to mentor and train the
technology teams I was managing. Besides ensuring sufficient
training for my colleagues on the technologies they were directly
working with (Objective-C, pjsip, etc.), some other highlights were:
Trained a team of manual QA engineers (and novice programmers)
QA and subsequently find work as full time software developers.
Worked extensively with developers struggling with code quality
or design issues to help them improve in these areas.
Conducted training on general topics that developers are not
usually familiar with, like writing a UNIX shell in C, deep dive
into TCP/IP networking or exploring the fundamentals behind TLS.