Sujee Maniyam
Email : resume@sujee.net
Web : http://sujee.net/tech/ , http://sujee.net/blog/
San Francisco Bay Area, USA
Objective
Engineer with 8 years of software development experience seeks a great
position to design/lead/develop/launch cool stuff.
Skills
- Domains :
developing enterprise and web applications, RFID/EPCIS systems,
software development infrastructure, Eclipse tooling, cross platform
development and porting, open source software, startup advisory, GPS,
photography
- Software Development Experience
- Worked on large scale software projects through all stages of
development: concept, design, development, testing, deployment and
support from startups to big companies
- Enjoys writing end-user software and tools and libraries for other programmers
- 'user friendly software, not developer friendly software'
- very good development experience with Java, C++/C
(now focusing on web languages : PHP, Ruby (on rails), Javascript)
- practices test validated programming
- experience in cross platform portable software development
- Passionate about Linux and Open Source software. Use a lot of them and
contribute to a few. Also work on my own personal projects
(http://sujee.net/projects/), to learn new technologies and to test ideas
- Infrastructure Experience
- Have been using Linux for almost 10 years and very comfortable around
Linux as a development / desktop environment
- Deployed Linux/Solaris boxes for developers / testers at work.
Trained windows developers on software development tools on Linux
- Setup file server (NFS/RAID), Mail server (Imap, fetchmail, procmail,
spamassassin), Code repository Subversion) and LAMP
- OS : Linux (system admin expertise), Unix, Windows
- Languages: Java (performance, networking, JNI, threads, NIO, RMI), PHP,
C++/C, Shell, Ruby
- Technologies :
- Web : Ruby on Rails, LAMP stack (worked with : Javascript [Prototype, Dojo,
Scriptaculous], Ajax)
- Web Services, WSDL, XML, Eclipse (SWT, Jface, EMF)
- Tools
- IDEs : Eclipse, Visual C++
- Build : Make, ANT, cruise control
- Java Performance tools : Optimizeit, JProbe
- Linux/Unix development environment
- version control : CVS, Subversion (admin expertise), ClearCase
- Cross platform GUI tool kits : Eclipse SWT, Java Swing
- Open Source :
keen Open Source software user (http://www.sujee.net/tech/software.php).
Have a couple of my own projects (see below) and contributed to various
projects including
My projects
- tripyogi.com
Co-founder of TripYogi - a meta travel site for Indian domestic air travel.
Site featured route calculation with multiple airlines, discount fare
comparison and trip planning with trains and planes.
[LAMP stack (php), spidering airline websites, route calculation, MS Live maps]
- GPS way point viewer
Developed this mash-up to help me and other photographers who use GPS
waypoints to mark locations for photography. See waypoints in a Google map
and search the waypoints for a keyword (sunset) within a area defined by
the map
[Javascript - dojo, Google map APIs, GPX file format, geo-coding ]
- Holiday Lights Googlemap mash-up
Displays nice holiday decorations around bay area in an Google map
along with photos
[LAMP stack, Google Map API, javascript, photos ]
- When It Happened
Social experiment to find out where people were and what were they doing
when monumental news stories broke (e.g. space shuttle Challenger incident)
[wordpress blogging software, ratings, spam comment control]
- 304 card game
A Multi player, network aware card game in Java (in beta stage)
[Java server with chat + user authentication + game logic, Java NIO and
threading for scalable connections, firewall friendly networking, pluggable
client architecture for human clients and AI robot clients, cross platform
GUI client in Eclipse JFace]
- ProjTimer
Measures time spent on various tasks on a working day with minimal user
intervention. Useful for status reports and consultants billing by hour A
small Java application with intuitive Swing GUI, fast and responsive, and
easy to use. The GUI and core code are re-used in another open source
project SimpleTracker
[Java swing]
- Facebook Apps exploring Facebook APIs
[RFacebook rails plugin]
- exploring location aware searches with GPS + 'yellow pages data'
- Technical articles and HOWTOs
- Startup involvement
- QodeBook.com : A micro mobile payment startup.
Setup software development infrastructure (svn repository, daily
builds and backups). Wrote majority of payment processing server in
Java (scalable network layer with Java NIO, data base connection
pools). Collaborated with developers over different time zones
- building facebook integration for a stealth startup
[Facebook API, Symfony]
- advisor and consultant for startups and entrepreneurs
Work Experience
- Software Engineer @ IBM, Burlingame, CA : (2002 Feb - Present)
Former company Crossworlds was acquired by IBM
- working on RFID middleware. Designed and developed software in Java
according to EPCIS spec. Built automated testing framework and
coverage tools. Customer deployments and support
- Added Web Services support for business work flow design tools,
making it easier to discover and invoke web services ( patent granted [# 20060271537])
screenshot1,
screenshot2,
screenshot3
- Eclipse tooling development (JFace, GEF, EMF). Worked on a graphical editor (that is part of IBM developer suite) that allowed to easily expose an operation as web service - screenshot
- Software Engineer @ Crossworlds, Burlingame, CA : (1999 July - 2002 Feb)
Crossworlds did Application Integration Middlware.
- Responsible for porting the product to Solaris platform (primary
platform was NT). Code is 80% Java, 20% C++.
Made existing C++ code portable with MSVC++ and Sun CC compilers (JNI
layer / building dynamic libraries). Defined a standard to write
portable C++ code. Implemented a build system on Solaris and
administered Solaris SPARC boxes. Found platform specific JVM quirks
(thread scheduling, DLL loading) and wrote work-arounds.
- worked on performance tuning of Crossworlds system (Java performance).
Created and analyzed prototypes for improved performance. Used profiling
tools - PerfMon (windows NT) Optimizeit, and JProbe - to analyze
program behavior / bottlenecks / thread operations. Compared
performance of different JVM implementations (Sun / IBM and JIT
compilers). Studied scalability (system and JVM) across multi-processor
(SMP) systems. Benchmarked Crossworlds releases. Implemented
performance tools to measure Crossworlds System performance
- designed and developed integration components in Java
- Introduced many coding standards and practices into the team
(IDEs, Makefile templates, version control strategy, code reviews)
- Engineer @ Open Software Associates , Melbourne, Australia : (1999 Jan - 1999 April)
OSA ships a cross-platform GUI(C++) and a program deployment tool.
Handled Mac OS release. Wrote automated test cases
- Internship @ Indian Institute of Science (IISc) Bangalore, India. : (1997 Nov - 1998 Feb)
IISc is a premier post graduate research university in India. I worked as
an intern part of IBM's global university program. Wrote a message passing
toolkit based on IBM MPL (Message Passing Library) to make it easier for
parallelizing computationally intensive programs on IBM SP2 cluster.
OS : AIX, Language : C++
- Intern @ CSIRO Melbourne, Australia
: (1996 Nov - 1997 Nov)
CSIRO is a government research organization in Australia. I worked in the
Melbourne branch as an intern during summer vacation and also part time
during my final year at university.
Developed a Java Applet for an online 'remote diagnosis tool'. Developed
utilities like text parsers, Swing GUI controls, graph layout algorithms to
aid programmers working on a large scale projects.
University Education
B.S. in Computer Engineering, University of Melbourne
Australia , 1998
- honors with many Dean's List awards
- Final Year Engineering project :
Developed a system that allowed a dish
antenna to be controlled over the Web. A PC running RT-Linux
controlled the motors and actuators of the
dish. Another Linux machine served as the firewall and web gateway. It ran a
custom Java web server that took input from the Java applet and sent commands to
Dish controller. A Java applet on client side had controls for moving
the antenna and displayed real time status. Client UI also had high level
commands to track satellites or celestial bodies.
(RT-Linux, C, low level hardware drivers, satellite motion algorithms and
orbit data from NASA, Linux, a custom built
Java Web sever, Java applet [screen shot 1, screen shot 2])
I was part of a 3 person team that worked on this complex project for a
year. It was chosen as as one of the top projects of the year. Future
Engineering teams built projects on top of our work.