Venkatraman Lakshminarayanan
Flat No. 2, "INDIRA" Apartments,
New No. 8, 4th Avenue,
Indira Nagar, Adyar
Chennai 600 020
Phone: (91)-(44)-
Email:
Cell:-
-
OBJECTIVE
To offer professional consulting services in the areas of
Software design and architecture
Software development
SUMMARY
Several years of experience in software development and management of several
demanding projects in key technology areas; Expertise in areas of
Internet programming using Java, ruby (RoR) technologies (on both
client and server sides)
UNIX systems programming
SCSI device drivers on Unix Systems
SKILLS
Languages:
Systems:
Tools:
Other:
C, C++, Objective C, Java, PHP, ruby
SunOS 4.x, Solaris 2.x (SPARRC & x86), SGI IRIX
make, perl, php, sccs, dbx, adb, kadb, ksh, emacs, ant,
Perforce, CVS, SVN, git
J2SE, J2EE, J2ME, JFC (Swing), JavaBeans, RMI, XML, XSL, XPath
JavaIDL (CORBA), JDBC, EJB, Servlets, JSP, Struts, Tiles,
Drupal, Ruby On Rails (RoR)
WORK EXPERIENCE
Software Consultant, SegAna LLC., April 2018 – Present
Working on Server side code enhancements and bug fixes related to the
PredictRT software, a cloud-based software platform for enhancing
radiation treatment of cancer.
Developing and enhancing NVidia GPU based CUDA based C parallel
programming tasks and also the C++ integration code that use the former
Developing a C# based Windows Service that would seamlessly handle job
requests that come in as both on-demand and batch requests
Software Engineer, AppOrbit Inc., June 2014 – April 2018
Worked on the design, architecture and development of RoR based 'Platform'
which controls and orchestrates application and data migration across
clouds. The architecture involves publishing requests to and collecting
responses from myriad micro-services, over a framework-agnostic Message
Bus.
The services were developed in multiple languages using appropriate
frameworks to perform specific operations. The entire 'workflow' is
stitched together dynamically by the 'Platform' and executed as a sequence
of steps (each of which invokes a service call), parsing responses and
handling errors.
Workflows for cluster creation (on any cloud), for app deploy,snapshot,
clone, migrate etc. were developed.
Among the many gems, used 'concurrent-ruby' for concurrent tasks (threads)
in workflows, 'bunny' for RabbitMQ message bus brokering, 'passenger'
(with nginx) for app server etc.; 'guard', 'factory_girl_rails', 'faker'
etc. for RSpec testing;
built complete REST API for the 'Platform' with json payload and
responses; used 'swagger-docs' for documenting the API
developed Docker container for the above and specified networks, volumes,
ports etc. in Docker Compose file for proper inter-operability with other
containers
Software Professional/Freelancer (on various projects sourced at oDesk)
Duration: May 2006 – May 2014
Completed and presently working on several different projects for various
clients. The areas of work include:
Java, Swing, XML, JXTA (Peer to Peer), JDBC
PHP, Drupal, MySQL, DHTML (JavaScript, CSS), Python
Ruby on Rails (RoR), MySQL, DHTML (JavaScript, CSS) using JS
frameworks like prototype, Scriptaculous etc., Yahoo UI and Ext
toolkits, several Ruby Gems like comatose, serialport etc.
Following are the details on some of the recent projects:
Drupal 7 based E-commerce site:
(Site URL: http://www.brokenstuff.com)
Used Commerce Kickstart module and customized (by creating custom module and
theme) for client's requirements. Created required code expanding on PayPal
module to successfully make PayPal Adaptive Payments (chained payments with
multiple receivers - the original seller paying a service fee to the website for
listing the product) using PayPal Sandbox (for testing) and Live server (for
actual payments); customized 'offer system' enabling seller and buyer to
negotiate product prices with messages exchanged between them via 'private
message' module; custom views and themes extending 'commerce kickstart' for
additional features.
Drupal based Online Television channel website:
(Site URL: http://www.mun2.tv/)
A site that hosts online version of a commercial television channel - videos,
serial episodes, slide shows, clips, images etc.; offers social networking and
tools for registered users to interact - Facebook & twitter interfaces etc.;
used several Drupal modules and customized and/or extended by programming custom
themes and templates - some modules include features, context, nodequeues,
brightcove (for video integration), Organic Groups, Rules & Triggers, facebook
suite, activity log, rules & actions, web forms, mollom (content monitoring to
filter out spam etc.); did Drupal module development and used jQuery extensivley
using and customizing plugins; used drush, git (for version control), Eclipse
PDT (for PHP debugging) etc.
Integration of Drupal with Android app:
(Site URL: http://managinglife.com/)
A PHP/Drupal project where I have used Drupal 6.x extensively in creating custom
modules, did lots of DHTML using AJAX/jQuery. Importantly created a RESTful API
for the next generation Android App - ManageMyPain - to invoke calls on the
Drupal server and retrieve responses. The API is used for user registration,
user login, change password and mainly for 'data synchronization' of pain
records, the vital 'core' of the application. Users may synchronize and
add/update/delete pain records from/to their various Android devices. Developed
custom module that uses dompdf and Google Charts API (via Drupal chart module)
to create rich, dynamic, multilingual (utf-8 support etc.) PDF reports that
contain various types of charts (chart data dynamically created using user data
via templates) such as line, pie, histogram etc. Customized usage of
'simplenews' module to sending out tailor-made mass emails and managing
subscriptions.
Drupal based Community portal:
(Site URL: http://uppereast.com/)
A site about a specific city, its streets, neighborhoods, businesses, other
organizations (integrated with Google Maps for all such classifications), other
services like apartment renting/sale/buy etc.; created several modules, themes
and used JQuery/Ajax extensively.
PHP/Ajax Programming:
(Site URL: http://www.OurLetter.com)
A PHP project where I used my extensive Ajax and PHP experience and researching
new techniques to complete tasks, such as adapting to the client's model-viewcontroller setup and re-sizing images using imagemagick. The features included
drag &drop, sorting, calendaring, gallery management and other functions such as
editing the content of the newsletter etc.
Drupal based Private community portal:
(Site URL: http://www.omrgpowa.is-great.org/)
It is a private site where most features are available for registered users and
administrators only - created the site from scratch (all module/theme
development) for plot owners to register their personal particulars, plot
details, association payment & receipts, membership details, payment details,
documents, feedback, Notifications,generation of vouchers, Auditor reports and
export of the same to PDF, facility to send bulk Email and SMS (using gnokii)
etc.; Used JQuery extensively on the client side and JSON for transferring data
by invoking AJAX calls etc.
Python API Library development:
Created API library in Python for Zuora API - Zuora powers the
Subscription Economy with enterprise-class, cloud-based billing and
payment solutions. Zuora offers the Z-Commerce SOAP API which provides
precise, powerful control over client's Zuora data and processes etc.
Created a Python library to connect and execute the various SOAP methods
provided by the API
Ruby Rails Project:
(Site URL: http://www.fynanz.com/)
Developed web pages, modules and scripts in Ruby language on the Rails
framework. Deployed & customized many gems as needed and created scripts
for performing complex Mathematical and Financial equations etc.
Integrated with DocuSign PDF library and API to embed digital signatures
etc.
RoR / Ajax / Web 2.0 Project:
(Site URL: http://www.flockphotography.com/)
Developed RoR controller, model and views for an online gallery for
contemporary photographic and digital art. Task included using gems such
as ImageMagick etc., to do imaging functions such as water-marking images,
scaling etc. Used tools like capistrano, mongrel etc.
Please refer to this URL for complete details:
https://www.odesk.com/users/~01d-b044168a
Software Consultant and Freelancer
Client: Appnomic Systems, Bangalore
Duration: February 2013 – June 2013
As a consultant, worked on a project for collection of Key Performance
Indicators (KPI) on Ruby/Rails environment and integrate the same with Appnomic
Performance Management products.
Specific tasks include:
Design and Develop a ruby/rails plugin to collect KPI (various levels)
metrics
Integrate the plugin with other suitable third-party plugins for
collection of additional metrics (as deemed fit) such as sevos/kpi, New
Relic Ruby Agent, arya/bluepill, god, ruby-prof, Phusion Passenger Memory
Stats etc.
Provide means for configuring the plugin regarding its own usage and above
integration; for some used Jruby, JMX (Java Management Extensions) and
jmx4r gem (a JMX library for Jruby) to create custom Mbeans that invoke
methods on the third-party KPI tools (gems/plugins)
Provide documentation to facilitate integration with Appnomic Performance
Management products.
Software Consultant and Freelancer
Client: Cybernet Software Systems, Inc. (CSS)
Duration: April 2002 – July 2010
Providing consulting services for several key projects of CSS, developing
Technical design and architecture, product conceptualization, software modules’
design and code development, documentation etc.
Specific tasks include:
Porting of CSS client’s Enterprise Project Management and Collaboration
software tool, onto Solaris platform
This involved porting of the existing application (that runs on
Linux) onto Solaris; as a consultant, provided inputs on key Solaris
specific issues and provided appropriate solutions; specifically
provided solutions in the areas of PAM, LDAP, nscd, cron related
modules; also helped out on packaging issues, install and un-install
scripts; provided technical advice regarding perl modules, daemons
and OS run level scripts, setting up runtime library path etc.
Participation in technical review meeting with the client personnel;
presented and discussed architecture of prospective J2EE based future
releases; provided technical inputs on the rationale for the design and
presented pros and cons.
Enhancement of CSS IntelliView product’s capability
This involves design and development of a software module for
IntelliView that would provide the ability to export IntelliView
data into a leading Spreadsheet file format, in a native manner;
designed an extensible solution by using XML and related
technologies; this module can create native Spreadsheet files with
support for text, numbers, formulae (basic and advanced in various
reference styles); support for additional features such as embedded
images and charts; this module has been integrated as a middleware
component into IntelliView’s server-side software.
Design and development of next generation of IntelliView server side
components; this involved design of JSP, Servlet pages and other
components including, parsing of XML data as SAX and DOM objects and
serialization of the same; also, worked on enhancing the multithreaded IntelliView Server Engine, which can read and write the
proprietary XML data format.
Design and code development for the enhanced release of the client’s Task
Dependency Browser; this is a Java Swing based GUI tool, that allows for
managing and tracking Projects – tasks, schedules, resource allocation
etc. It is a homegrown Project Management tool, on similar lines of MS
Project and would support displaying project timelines (with details on
resource names, milestones, slippages etc.) and generating Gantt charts
etc.
Software design, architecture and development of key modules for another
CSS client (Marimba and later BMC who acquired Marimba). The work involves
design and development of
core components using Java core classes and techniques, such as
threads and synchronization, java.io, java.net, java.util packages
and client’s API etc.
server side web components – JSP, servlet and Java classes using the
Struts Framework
SAX and DOM parsers and serialization for XML data, along with
validation using Schema files
XML schema files for validating XML files
perl scripts for parsing XML files and collecting regular
expressions (regex) and inserting them into schema files, from
within GNU makefiles
ANT scripts for automatic build generation
JUNIT based test suites
Software Consultant and Freelancer
Client: FCI Technology Services Ltd., Bangalore
Duration: May 2004 – July 2005
Providing consulting services for several key projects of FCI, by way of
crafting Technical design and architecture, software modules’ design and code
development, documentation etc.
Specific tasks include:
Design and development of FCI Internal Document Retrieval, Storage and
Access System
Design and development of FCI Interconnect Portal web page (external,
public homepage) for the dynamic content
This involved creating a portlet solution for use within the
Oracle Portlet Server. Created Oracle PL/SQL scripts and used
Oracle’s HTTP support packages (for document upload and download,
RDBMS access etc.); developed several DHTML and JavaScript portlet
pages.
This involved creating a portlet solution for interfacing with
Saqqara Enterprise Content Management Server on one side and with
the Oracle Portlet Server on the other. Developed SOAP client and
glue software that would retrieve content for various products, subproducts, their features etc. as XML from the Saqqara SOAP service;
this was converted into HTML/DHTML using XSL stylesheets using
Xpath functions and other features.
Design and architecture of FCI ER-Approval project
This involved analyzing and evaluating several Workflow Engine
architectures and solutions, such as Bonita, Enhydra Shark, JBPM
etc.; after evaluation, presented the recommendations of using Shark
and created design/approach document on how to use Shark to realize
FCI ER-Approval project’s requirements.
Software Consultant and Freelancer
Client: Helios & Matheson Information Technology Ltd.
Duration: July 2004 – August 2004
Providing consulting services on a key project of Helios, by way of preparing
Technical design and architecture, software modules’ design and code
development, documentation etc.
Specific tasks include:
Design, architect and development of a J2EE based Enterprise Banking
System
This involved designing a J2EE based Enterprise Banking System;
used appropriate J2EE design patterns and associated technologies
such as Struts and Tiles; created the entire architecture and
crafted the design using UML diagrams and code snippets.
Software Consultant and Freelancer
Client: Focus Infotech
Duration: September 2003 – October 2003
Designed the software architecture for Focus Infotech’s client; the
project involved designing an enterprise Vehicle Safety Management System
- it would use proprietary hardware for detecting key vehicle parameters
and relay the same to a central application server. Used J2EE as the key
technology for the System and designed the software architecture – which
would use an n-tier architecture – database connectivity using JDBC for
the data layer, Enterprise Java Beans (EJB’s) (session, entity and
Message Driven beans) for the business layer, UI components (JSP’s,
servlets and Struts Framework) for the presentation layer
Created Use Cases, Sequence diagrams, Collaboration diagrams and Class
diagrams as per the Unified Modeling Language (UML) standard; used
Rational Rose as the modeling tool for creating these diagrams and also
generated Java code for the various classes; later enhanced the generated
code by adding further code snippets and comments; handed over the design
to the implementation team
Software Consultant and Freelancer
Client: SIP Technology and Exports Ltd., (Siptech)
Duration: April 2003 – December 2003
Providing consulting services to several key projects of Siptech.
Specific tasks include:
Developing porting skill sets by means of porting of Open Source
applications from the Linux platform onto Solaris x86 platform. Some of
the ported applications include:
UPS - A source level C, C++ and Fortran debugger
WINE – An open Source implementation of the MS Windows API
TWIN - Native platform libraries and an emulator program to
emulate the Microsoft Win32 API
FlightGear - An Open-source flight simulator
Development of Games and demo applications using the J2ME technologies
such as the MIDP, CLDC profiles etc.
Design and development of internal projects to develop track record in the
areas of JNI (Java Native Interface) programming; developed a Generic
packager tool on Solaris x86 machines for reading and writing RedHat Linux
packager format (RPM) using the RPM libraries and JNI
Design and development of LDAP adapters for J2EE compliant application
servers by means of the JCA (Java Connector Architecture) technology
Senior Program Manager – Pervasive Computing, SIP Technology and Exports Ltd.,
Chennai, India
April 2001 – March 2002
Management of key projects and highly focused teams of developers, in the
area of Pervasive Computing – which covers the area of Mobile & Wireless,
Embedded Systems and Smart Devices.
Job role involves conceptualization, design and development of solutions,
which would either mature into full-fledged products or provide critical value
addition to clients’ products. Key tasks include downloading, analyzing and
interpreting technologies, research on capabilities offered by competing
players/products and analysis of the same; creation of white papers, evaluation
reports, prototypes and demos; creation of Software Requirement Specification
documents, Technical Design documents with Use Case and class diagrams, Flow
charts, User interface designs etc.; adherence and conformance to company’s
Quality Assurance initiatives and associated processes
A sample of such key projects that utilized Java technology areas on both
the Server side and the Client side and some Database related API’s include:
Development of SNMP stack for the TINI system.
Porting of Zaplet Appmail Client on a CLDC enabled Palm.
Evaluation of J2ME, CDC and CLDC technologies and development of
prototypes/demos using Kada VM, Jeode JVM etc.,
Evaluation of OpenWave Wireless/Mobile SDK and porting of Zaplet
Appmail Client on a Mobile Phone simulator.
Evaluation of JXTA (P2P technology) and development of Chat and File
Sharing demos.
Evaluation and development of Security applications on devices such as
DiskOnKey.
Evaluation of the IP TelePhony area and development of powerful Chat
and HRIS demos on PingTel XPressa IP Telephone environment.
Technical Manager, SIP Technology and Exports Ltd., Chennai, India
July 1999 – March 2001
Management of more than 25 software developers in 8+ projects for Java
Software division of Sun Microsystems, Inc. USA, all in the areas of
Java technology. Job function involves preparation and tracking of
project plans, schedules and milestones; providing technical direction in
design, development, training and programming guidance to developers; also
involves hands-on development of critical and complex code of the project;
performing complete project and people management.
Projects involve development of typical test suites (API coverage,
functional, stress and regression), Java Compatibility Kits (JCK) which is
a collection of test suites developed for testing a particular Java API
based on the API Specification and Sun Reference implementation. Sun
uses these JCKs to enforce clean room implementation by licensees to
realize the "Write Once, Run Anywhere" paradigm of Java. Projects involve
development of,
JCK tests for Java2d API (java.awt.color, java.awt.font,
java.awt.geom and java.awt.image) and JavaIDL API (org.omg.CORBA)
TCK (Technology Compatibility kits) for Java Security Network (JSN)
JDK Compatibility lab - execution of several test suites on a dozen
machines, each sporting several configs derived from combinations of OS
APIs - Java Authentication and Authorization (JAAS), Java Secure Socket
Extension (JSSE) and Java Cryptography Extension (JCE)
Product tests (API coverage, functional etc.) for Java tools (java,
javac, javah, jar, javadoc, javap, javax and appletviewer), Java
Debugger Interface (JDI), JarIndex, java.util.zip and java.util.jar
packages
(Win95, Win98, WinNT, Win2000, Linux and Solaris), service packs and
kinds of browsers, in a 56 config matrix; compiling logs, filing,
tracking and verifying bugs.
Product tests and Spec file to be used with JavaCheck tool for the
Personal Java 1.2 Application Environment (PJAE) of the Java 2 Micro
Edition (J2ME)
Product tests for the Java Blend product
Other projects that involve product/solution development such as,
Human Resources Information System (HRIS), PayRoll and e-discussion:
all projects use a 3-tier architecture with the middle tier using a
Java 2 Enterprise Edition (J2EE) based Application server and
Leveraging several Java technologies like EJB, JDBC, Servlets, JSP,
JavaMail, XML, Swing, JNDI etc.
Porting of a client's middleware based, email platform,
work involved porting the platform on WebLogic appserver onto Sun'
J2EE reference implementation and Iona App Server (IPAS).This
involves, automatic conversion of Oracle PLSQL procedures to
equivalent Cloudscape Java programs, using a parser based on the
JavaCC tool; creation and modification of jsp files and servlet
code.
Member Technical Staff, Software, Sun Microsystems, Inc., CA
August 1996 - April 1999
Design of Dynamic Reconfiguration (DR) support in SunCluster product for
the Sun Ultra Enterprise 10000 Server hardware (Sun StarFire). This involved
developing new and enhancing existing interfaces to the Cluster Membership
Monitor (CMM), which is the key framework program that coordinates and
orchestrates cluster-wide reconfiguration in achieving High Availability (HA).
Extensively used Solaris Multi-threading (MT) primitives - mutex locks,
condition variables etc. in synchronizing the several threads within this realtime (RT) process.
Developed Java based Cluster Monitor Client API to work within the Sun
Enterprise System Monitoring (SyMON) framework. This provides an industry
standard, SNMP based System Management tool for the SunCluster.
As the project lead, directed and developed Java based Cluster Console
tool, which provides multiple window access to the consoles of multiple hosts
from within a single Command Input Window; the tool also features a
sophisticated data engine for filtering and processing command outputs from the
several hosts to present a unified and customizable output in the
Command Output Window; Used Java AWT and JMAPI's AVM to implement highly
intuitive GUI with multi-color filter chains, multi-color/multi-font Output
Window etc.
Led the development of the SunCluster HA Internet Pro, a Highly
Available (HA) version of Netscape Web, News and Mail servers; developed the
required data service methods that will be invoked by the Cluster HA framework
during the various states of the services; coordinated and managed other members
of the team in the areas of installation, packaging and documentation of the
project.
Served as the technical lead for developing the Cluster SNMP agent;
defined and created the Cluster Management Information Base (MIB); developed a
super monitor agent to acquire data from individual monitor agents running on
several cluster nodes and to present a comprehensive cluster-view of the same;
the SNMP agent would also generate Enterprise SNMP traps for critical cluster
events.
Software Engineer, AvniSoft Corporation, Sunnyvale, CA
Jan 1995 - July 1996
Developed an X/Motif GUI software for configuring Sun SPARCStorage
Arrays as bootable devices in the SPARCCluster environment.
Enhanced the X/Motif based Cluster Monitor software (client) and other
cluster administration tools; also enhanced functionality of the monitor daemon
(server) to support the new sun4u architecture based UltraSPARC family of
servers.
Designed and implemented printing suite for the Solaris Migration
Product. This involved development and integration of Sun Printer Products'
SUNprint software and SunSoft's Lplite software. The printing software provided
a flexible yet powerful printing mechanism to read printer information from
system files and also from name servers like the NIS and NIS+. The print jobs
were spooled directly to the remote print server, thereby decreasing the usage
of CPU resources on the print client. As project lead, directed and coordinated
the testing, packaging and documentation.
Developed printing functionality for SunSoft's OpenStep project. This
involved developing print classes and methods in Objective C and also
integrating the SUNprint libraries into the OpenStep environment.
Software Engineer, Focus Graphics Inc., Foster City, CA
Oct 1992 - Nov 1994
As the technical project lead, developed SCSI device drivers on Solaris
2.3, SunOS 4.1.x, SGI IRIX for the Focus Graphics' Digital Film Recorder (DFR).
For the Solaris platform, used Sun DDI/DDK and Sun Common SCSI Architecture
(SCSA).
Developed Sun NeWSprint drivers, model files, PS prolog and
configuration files on SunOS 4.1.x for the DFR and the ImagePrinter to output
PostScript files.
Developed SGI Impressario drivers, GUI front-ends, model and
configuration files for the SGI IRIX 4.0.5x and IRIX 5.x systems, to output
PostScript files on the DFR.
Developed SCSI device drivers for Kodak XLS8300 Color Dye-sublimation
printer , Mitsubishi S3600 Color printer and the EFI Fiery Color servers on Sun
and SGI systems.
Developed customized drivers to support printing of proprietary image
files of medical OEMs like Toshiba, GE, Siemens, ADAC and SOPHA, on the Focus
DFR and printers.
Developed an Ethernet driver for the Helios 810 Laser Imager for
printing medical image files from Sun and SGI systems.
Research Assistant, University of Alabama, Tuscaloosa, AL
Aug 1990 - Aug 1992
Developed TFTP client and server software for file transfer. This
software was GUI (X/Motif) based and was implemented over TCP/IP using BSD
sockets.
For a term project, implemented Teitelman's algorithm in C on a SGI
system, for recognizing varying sizes of hand-written characters.
Engineer, Centre for Development of Telematics (CDOT), Bangalore, India
Jan 1990 - July 1990
Along with another member of the group, worked on the design of Digital
Trunk Service (DTS) card for the 128 port Rural Automatic Exchange (RAX) system.
Engineer Trainee, TVS Electronics Ltd., Tumkur, India
June 1989 - Dec 1989
As a member of the Customer Quality Engineering group, interfaced with
the R&D personnel in tracking and resolving design failures in the Computer
peripheral products - LAN, modem and FAX cards.
EDUCATION
MSEE, University of Alabama, Tuscaloosa, AL
GPA: 4.0/4.0
Thesis:
3D Surface Rendering and Complete Disparity Mapping from
Binocular Stereo Images.
BSEE, Regional Engineering College, Trichy, India
80% with First Class Honors