VARUN SUDAN
**** ****** **** abnwrf@r.postjobfree.com
Apt#727 Contact No: 916-***-****
Sacramento, California -95834
PROFESSIONAL SUMMARY
Over 2 years of professional experience in IT Industry. Involved in various phases of Software development
including requirement analysis, design, development, implementation,integration, testing and
maintenance of web based applications using J2EE architecture.
Experience in full System Development Life Cycle using Agile, RUP (Rational Unified Process), Scrum
and Water fall methodologies.
Proficient in using Object Oriented Programming (OOPS) for building n-tier architecture systems. Hands on
development experience in UI, Application Layer including core business framework and middleware, backend
database layer.
Experience in Java, J2EE technologies, JSP, Servlets, RMI, JDBC and JavaBeans.
Extensive hands on experience in dynamic web development using Java Script and XML.
Experience using java based development frameworks like Struts, Spring, IBatis 2.2 and Hibernate 3.0
Extensive experience in Oracle (8i/9i/10g) SQL, PL/SQL, Database Design, JDBC programming.
Usage of ERWIN for data model analysis in RDBMS for generation of SQL scripts and SQL development
(Writing SQL Queries including Joins, Triggers, Stored procedures, Views) using MS SQLServer
2000/2005, Oracle and MySQL.
Experience in java application testing using JUNIT framework for unit testing, Component testing and
System testing.
Experience on working with various Application Servers like Apache Tomcat, Weblogic Application Server
and JBoss.
Experienced using CMMI processes for software development including defect tracking (Bugzilla) and
version control (CVS/VSS).
Proficient in implementing various Java/J2EE design patterns including Singleton, Factory, MVC, Front
Controller, Command, Inversion of Control, DAO, Service Locator.
Experienced in using Object Relational Mapping(ORM) tools like IBatis 2.2 and Hibernate 2.x/3.0.
Experience in configuring and deploying java web applications (WAR and EAR) on Web logic 7.x/8.x, IBM
Web Sphere (WAS 5.0/6.0), JBoss 4.x and Tomcat 4.x/5.x Application servers.
Hands on experience in using various Development IDE Eclipse 3.x, NetBeans IDE IBM WSAD, Oracle
JBuilder, Lomboz & JBoss .
Used ANT for build scripts and project release documentation.
Knowledge of XML, XSLT, DOM, SAX Parsers.
Good knowledge of Data Structures and Algorithm Analysis.
Good knowledge of Java Messaging Services (JMS).
Experience using UML tools like Enterprise Architect.
Ability to work independently or collaboratively in any product development assignment or system development
business because of excellent ability to understand business specifications (SRS) and System Design (UML).
Excellent analytical, oral, written, communication and trouble shooting skills.
TECHNICAL SKILLS
Languages : Java, C++.
J2EE Technologies : Servlets, JSP, JSF, JMS, JDBC, RMI
Scripting Languages : Javascript
Application Servers : WebLogic 7.x/8.x, Websphere 6.x/7.x, JBoss 4.x, Tomcat 5.x
DBMS : Sybase, MS-SQL Server 2005, MySQL, Oracle 8i/9i/10g
Frameworks : Spring, Struts, iBatis and Hibernate
Operating systems : Windows-95/98/2000/NT/XP and UNIX
IDE Tools : Eclipse 3.2, JBoss IDE 1.6.0, NetBeans
Version Control Systems : Microsoft Visual SourceSafe (VSS and CVS)
Modeling Tool : Enterprise Architect, Erwin
Messaging Services : JMS
XML Technologies : XSLT, XSD, XHTML
Defect Tracking tools : Bugzilla, Mantis, Rational ClearQuest
Version Control Systems : Microsoft Visual SourceSafe VSS, Subversion
PeopleSoft Technologies : Peoplecode, SQR
PeopleSoft Module : HCM (ver 8.9), ELM
ACADEMIC CREDENTIALS
Masters in Computer Science, University of Florida, Gainesville
Graduation Date: Dec 2008.
Current GPA: 3.35/4
Bachelors in Information Science & Engineering
Graduation Date: May 2005
First Class With Distinction (71.2%)
PROJECT DETAILS
Deutsch Bank Bangalore, India Oct 2006– Jun 2007
Security Pass Authorization Request Solution
Software Developer
This system was built to automate access card application process submitted to the security division. The manual
process was tedious and time consuming. SPARS was built to cater the above problem by making the request
and approval through web based application. Here once the user submitted the request, the application would
find a workflow scenario for the submitted request. The requests would be updated to pending status and email
notification would be sent across to approvers. Once a request has been approved by all the levels of approver
then Pass Admin Office will update the status of request and pass will be issued.
Roles & Responsibilities
Part of the team involved in the business requirement gathering and evaluation with the client.
Responsible for the helping other team member(s) to understand the business domain and technical
requirement of the system.
Understanding the module level functional requirements.
Developed the front-end web presentation layer using HTML, JSP.
Involved in the designing and developing multiple modules of the application using Java, Servlets.
Developed Hibernate classes for data retrieval from Database
Involved in writing SQL queries.
Extensively used Eclipse IDE for Development.
Responsible for unit testing and integration testing, bugs fixing, handling change requests and code reviews.
Implemented the build process using Ant.
Involved in development of user management module.
Involved in writing the user guide.
Environment
Java 1.5, J2EE, JSP, Struts, JavaScript, HTML, XML, Eclipse IDE 1.6, Weblogic, Oracle 10G, Hibernate,
VSS.
Ameriprise Financials Bangalore, India Oct 2005 – Sep 2006
Knowledge Management System
Software Developer
Was involved in developing Knowledge Management System (KMS) for Ameriprise Financial Systems. This was
a knowledge portal designed for internal use for the Employees and Advisors. KMS is web based and developed
using J2EE technology - JSP, Servlets and JDBC following Struts framework on Weblogic application server. This
facilitated in corporate training and tracking the performance of trainees. This application incorporated features
such as content management, enrollment, e-notification and performance evaluation.
Roles & Responsibilities
Implemented Spring MVC and Web Flow in the Web Tier.
Implemented Design Patterns such as DAO, DTO, Factory Pattern, MVC and Singleton.
Developed Java Server Pages for the system, involved in writing business rules validation.
Developed the front-end web presentation layer using HTML, JSP.
Was Involved in Developing JSP Pages.
Responsible for unit testing and integration testing, bugs fixing, handling change requests and code reviews.
Involved in writing Unix Shell scripts.
Was Involved in writing SQL Queries.
Implemented Struts MVC.
Environment
Java 1.5, J2EE, JSP, Struts, JavaScript, HTML, Eclipse IDE 1.4, Weblogic, MS SQL Server 2005, VSS.
ACADEMIC PROJECTS
Simple Stateful Network File Server (SSNFS):
Designed and implemented a Simple Stateful Network File Server (SSNFS) that supports remote file service
model in Java. The server provided for handling multiple clients. It implemented session concepts to keep
track of duplicate requests for client. The messages from client and server had specific format. Socket
programming concepts (instead of RMI were used) in Java. Error handling for incorrect message format,
incorrect message sequence, and invalid sessions were incorporated into the server side program.
The client program provided for a simple interface for the user to initiate a transaction build a message and
communicate with the server.
The server had the ability to recover from a crash and keep track of unfinished transaction and take proper
action.
The implementation was in Java.
Bibliographic Information System (Bibs):
Implemented a Bibliographic Information System (Bibs). This Project implements all the basic features of
Bibs. It provided for features such as to upload data to remote server as well as download data from remote
server. It also implemented features for searching the database based on input criteria’s specified by users.
The interface was designed using JSP. Validations such as type checking were also incorporated. Features
such as user authentication and data validation were also provided for. Parsing input file for extraction of data
as well as converting input data into bib format were also taken care in the implementation of this project.
This project was developed in Java, Swing, and Oracle.
Software Implementation of Pipelines:
This project was a simulation of pipeline of MIPS architecture. The objective of the project was to simulate the
execution of instructions in 5-stage pipeline. It also incorporated the score boarding technique. It incorporated
features such as caching. The implementation was for write back cache. It generated log file to trace the
sequence of instructions executed along with the data values in memory and cache. LRU replacement technique
was used caches.
It was implemented using Java.
Implementation of BitTorrent:
This project was partial implementation of the existing Bit Torrent. It implemented all the important features of Bit
Torrent such preferred neighbor concepts as well as optimistic unchoking, choking.
The application was developed using Java.
Implementation Traveling Salesman Problem (Dynamic Branch and Bound Technique):
Here the goal was to find the minimum path for a tour starting from any city as the starting point. This concept
was implemented using the data structure linked list (the static version was implemented using the concept of
tree). The input to the program was a Cost Matrix. Initial processing of the cost matrix was done to obtain
reduced cost matrix.
Every time the path along a particular node is expanded its cost (cost of the edge from the previous node to
current node is added to the reduced cost matrix) called the expected c value is maintained. Once we expanded
a particular path completely we set this c value as the minimum path. Now we look at unexpanded nodes (paths
which have not been explored completely) to check if a particular path will give us a feasible solution (that is its c
value is less than or equal to the existing Minimum value), if this is the case we explore the current path to obtain
c value and see if it is the new minimum value. On the other hand if the c value of a particular node is greater
than the current minimum c value it is not expanded.
Implemented in Java.