Post Job Free
Sign in

Software Engineer Java

Location:
8854
Posted:
July 23, 2010

Contact this candidate

Resume:

NUTAN SINGH, Email- ******@*****.***, *** Birchview Drive, Piscataway, NJ Ph: 609-***-****

Work Status:

F-1 post-completion OPT (valid till November 2011).

Summary:

Having Seven years of experience in Java, C/C++, Linux Technologies and, methodology processes,

software analysis, design, development in various domains including Applications development, Systems

Softwares(GNU C compilers, Fortran compilers and Ada compilers), telecommunications(VoIP),

embedded systems, web development.

• Worked on Android Platform in Samsung Telecommunication America.

• Worked in Core Networking with Motorola.

• Experience in programming with multiple threads, processes, sockets at application level.

Experience in Performance analysis of various application modules.

• Well versed in all stages of SDLC – gathering and analyzing the requirements, converting the

specifications into functional and technical design documents, coding and testing

• Experience in designing use cases and sequence diagrams.

Extensive experience with Systems Software development such as Compilers (GNU C compilers,

FORTRAN compilers and Ada compilers) and Operating Systems.

• Experience in build and debugging tools like Makefile, Batch-file, gdb, ddd.

• Extensive experience in using CGI Perl, HTML and Java Swing package for UI and web

development.

• Experience in using SQLite, Oracle 9i/10g, SQL Server 2000 and MySQL databases and Familiar

with Stored procedures, Triggers and Functions using PL/SQL

• Experience in analysis, design and development of a variety of game strategies such as A*

algorithm, genetic algorithm, simulated annealing, gradient descent, min-max search, tabu

search etc.

• Experience in programming TCP/IP concepts (IPv6) at kernel level, Sockets at application level.

• Development experience in various platforms like Windows (XP, NT, 2000, 98, 95), Linux (ubuntu,

suse, redhat),

• Exceptional ability to quickly grasp and master new concepts and technologies. Adapt easily to new

environment. Work effectively with diverse groups of people either as a team member or individually

Education :

New York University, New York, NY MS in Computer Science May 2009 Grade: 3.70/4.00

Courses: Fundamental Algorithms, Operating Systems, Programming Languages, Open Source Programming,

Heuristic Problem Solving, Distributed Systems, Applied Cryptography and Network Security, Unix Tools,

Foundations of Machine Learning, Foundations of Finance

National Institute of Technology (Formerly Regional Engineering College), Calicut, India B.Tech (BS) in

Computer Science and Engineering Aug 2002 First class (73.45%)

Technical Skills:

Operating Systems: Windows NT/2000/XP, Sun Solaris, UNIX, Linux, RT Linux, Android

Databases: Oracle, PostgresSQL, MySQL, MS Access

Languages & APIs: Core Java, C, C++, JDBC, Ada, Java Swing, Perl, Scheme, Assembly

Tools: Excel, LEX, YACC, GNU Tool chain, GDB, JTAG, HDI (Hitachi Debugger Interface), Hprof, DDMS

and HTML

Scripting Languages: UNIX shell programming, Perl, AWK, SED, CGI Perl

Networking: TCP/IP Protocol Stack, Socket programming, WINCAP, IS41

Additional: GCC source code, Assembly Instructions Used (8085, 8051, H8, SH, AMD

64-bit), Embedded Systems, Kernel internals, System V IPC.

Academic Experience:

• Implementing and optimizing iterators in Ada 2005 with professor Edmond Schonberg, who is also the

vice president of Ada Core Technologies.

• Built a wikipedia like site (proving most of the features like history, diffs, search, edit etc.) using Perl.

• Remote Caching in Distributed File Systems (Memcache) ( C++ )

. Designed and developed a scalable and efficient Distributed file system based on

FUSE on UNIX.

. Developed a generic remote caching solution to improve the performance of

Distributed systems.

• Wrote an AI program to learn and detect file extension type with the help of headers (corrupt or non-corrupt)

and file contents.

• Built a Dating Game (learning and optimizing score for a candidate to provide a better date) interface using

JAVA swing applet.

• Implemented Ipv6 protocol which included routines for Ipv6 header handling, end-to-end fragmentation and

reassemble, and routines to receive and send data to and fro the IP layer-device driver, using C on Linux.

• Implemented a compiler for a "C" kind of high level language to an assembly language, having definite

set of instructions.

• Implemented non-deterministic and deterministic finite state automation ( NFA, DFA).

Professional Experience:

Samsung Telecom America, US (Jun’2009 – Till Date)

Consultant

Samsung’s Lab is dedicated to research and bring out stable android based devices with attractive

features/applications. The framework and applications are being developed for Samsung’s new android

devices, to be launched soon. It also exploits Horizontal Services to achieve maximum integration between

different applications. Horizontal Services is a system which unifies data sources with an engine and provides

Android Content Providers for Email, VVM, IM, SNS, Contacts, Calendar, Backup/Restore.

Responsibilities:

• Installing android setup and implementing, debugging on that

• Involved in designing and developing various content providers

• Lead for Visual Voice Mail application and its integration with Call Log, Contact History, Dialer,

Launcher and other apps.

• Designed the architecture and developed the backend and frontend of Visual Voice Mail application.

• Developed and managed certain features in the Active-Sync email.

• Developed Active-Sync core module

• Developed JUnit tests for various functionalities.

• Continuously interacted with customer (Verizon).

Technologies: Core Java, Linux, Android

Stern School of Business, NYU (Jan’2008 – May’2009)

Programming Research Assistant

“Data Extractor Tool” is a software which reads and parses a huge excel file, creates different tables in oracle

database, executes queries from those tables according to user labeled options and generates DL and VNA files to be

used by network tools.

Responsibilities:

• Designed the architecture

• Implemented the entire software using JAVA multithreading and JDBC api

• Tested with various data sets

• Developed in Java, “Balancing Exploration and Exploitation through Structural Design” and other projects.

Technologies: Core Java, Oracle

Courant, NYU (May’2008 – Aug’2008)

To provide a plug-in for git in eclipse we developed JAVA library for git. JavaGit is a Java API that provides access to

git repositories. Our goal is to provide a library with an easy-to-use API that is intuitive for developers new to git and

developers who are veteran git users. Detail of the project can be found at http://javagit.sourceforge.net/.

Responsibilities:

• Designed the architecture

• Implemented various git commands’ APIs in Java

• Integrated the APIs with eclipse plug-in UI module.

• Reviewed the code and developed JUnit test cases for various APIs.

• Explored about licensing issues

Technologies: Core Java, Linux

Motorola, Bangalore, India (Jul’2005 – Jun’2007)

Senior Software Engineer

Push-To-Talk over Cellular (PoC) is a wireless feature that allows your subscribers to make direct,

simultaneous radio voice connection over any packet data network. They can make private calls or call an

entire pre-defined group…locally, or nationally. And all they have to do is “push to talk”. Motorola Push-to-

talk uses proprietary SIP based protocol for signaling and RTP/RTCP for voice. PoC is based on Motorola

Soft Switch and is deployed in several (over 30) countries across the world. The product was pioneered by an

Indian company called Winphoria Networks which was acquired by Motorola in 2003. PoC also supports

OMA standards and IC-PoC standards.

Responsibilities:

• Designed, developed and managed 4 features in PoC (Push to talk over Cellular) server.

Call blocking feature in PoC server; Feature to autoprovision PoC subscribers; OMA online charging;

Feature to deactivate an MPTT (Motorola Push to Talk) client.

• Created and maintained “Technical Requirement Document”, “Feature Analysis Document” and

“Unit Test” document for above mentioned features.

• Carried out bug fixes for these and several other features.

• Resolved support issues from the field.

• Carried out periodic installation and update of the PoC switch, which required setting environment,

updating the database, starting the tomcat server, Provisioning and starting the switch.

Technologies: C++, Linux, PostgreSQL server, Tomcat, OAMP, Makefile.

HCL Technologies, Noida, India (Feb’2004 – Jul’2005)

Member of Technical Staff

Prefetch tuning in GCC compiler, for AMD64 Target: GCC is a key component of the GNU tool-chain. By

specifying the architecture, the compiler can generate instructions for the particular target as well as enable

other optimizations available only to that target. This project was about identifying gaps with respect to

AMD’s recommendations and subsequently analyzing and identifying various opportunities to generate

different prefetch related instructions, with respect to target; to get the most optimized result.

Responsibilities:

• Understood GCC’s instruction generation mechanism.

• Worked out some sample C codes to generate appropriate prefetch related instructions such as

PREFETCHT0 (for lower temporal locality), PREFETCHT1 (for higher temporal locality), and

PREFETCHNTA (for non-temporal accesses).

• Identified gaps with respect to AMD’s recommendations.

• Subsequently analyzed and identified various opportunities to generate different prefetch related

instructions, with respect to target; to get the most optimized result.

• Tested with spec benchmark CPU200. Have attained a significant gain in speed. The patch is

available at http://gcc.gnu.org/ml/gcc-patches/2004-08/msg01419.html.

Technologies: C, GNU, Linux.

Fortran SX Compiler: FORTRAN90/SX is a FORTRAN compiler developed to enable large-scale scientific

computations through FORTRAN programs on the NEC SX series of supercomputer. In addition, numerous

highly advanced functions, advanced optimization, automatic vectorization and parallelization features to take

full advantage of the SX Series, are provided. FORTRAN90/SX compiler conforms to the JIS Fortran

standard (JIS X3001-1994). The language is informally referred to as Fortran90. The compiler is written in C.

Responsibilities:

• Implemented support for FORTRAN2003 features/constructs “Interoperability with C”, “Argument

Passing by Value” in the compiler front end.

• Been involved in maintaining and optimizing the compiler. This involves optimizing the current

compiler front end by applying various sorts of optimizations like inline expansion, fusion of loops,

work array reductions.

• Worked to automate the generation of test plan and test suite generation. Automatic test suite

generator is a specialized script that generates the FORTRAN test cases.

Technologies: FORTRAN, C, Linux, SX compiler, NEC supercomputers.

KPIT Cummins Infosystems Ltd., Pune, India (Jul’2003 – Feb’2004)

Systems Executive

Building GNU tool chain for Hitachi microcontrollers: This project included building tool chain based on

freely available source code, working for compiler optimization in order to make development of complex

and embedded applications for Renesas targets, providing all kind of technical support related to compiler,

assembler, linker, GDB and some of Renesas’s tools (HEW and HDI) to the end user

Responsibilities:

• Built tool chain and debugger

• Provided all kind of technical support related to compiler, assembler, linker, GDB and some of

Renesas’s tools(HEW and HDI) to the end user; Fixed bugs in GNU assembler.

• Fixed bugs in compiler and assembler

• Carried out a few optimization in GCC Compiler for SH and H8 targets

• Conducted reviews

• Tested the tool chains and installers

Technologies: C, Linux, Windows 2000, Cygwin, Makefile, Batchfile, HEW (Hi-Performance embedded

workshop), HDI (Hitachi’s Debugging Interface), GDB.

LVS Technologies Pvt. Ltd, Bangalore, India (Aug’2002 – Jul’2003)

Software Engineer

Embedded Ethernet interface involves the interfacing between a microcontroller and LAN connected devices

using Ethernet controller CS8900a. This interface can be used to send any messages like alert signals etc from

8051 microcontroller to any individual workstations. The 8051 receive signals from devices like UPS such as

the backup time left.. Depending upon the tasks performed by different workstations, messages are generated

in the microcontroller individually. The Ethernet controller CS8900a will perform packet transmission etc.

This interface can be extended to other applications like temperature monitoring and controlling etc.

Responsibilities:

• Designed the Physical layer components such as Ethernet controller CS8900A and 8051 micro-

controller hardware.

• Designed and implemented the program to be downloaded to the programmable microcontroller

• Designed and implemented the logic to communicate microcontroller and the Ethernet controller

• Wrote socket programs

• Tested the system with simple LED application

Technologies: Embedded C, 8051 Assembly, Linux, Windows 2000, Sockets

Kerberos protocol for network security: The Kerberos protocol is designed to provide reliable authentication

over open and insecure networks where communications between the hosts belonging to it may be

intercepted.

Responsibilities:

• Implemented communication between Authentication Server, Ticket Granting Server and Application

Server

• Implemented DES encryption/decryption algorithm to encrypt/decrypt tickets

• Tested it for a LAN arrangement

Researches:

• Quantum Search Algorithm for Unstructured Search Problem and its Applications

• New Register Allocator in GCC with respect to AMD architecture

Activities:

• Presented program in ALL INDIA RADIO

• Senior executive of Hindi Cultural Association

• System Administrator in campus computer labs

• Active member of Cultural group “Connextions” at HCL technologies, Noida. Organized treasure Hunt,

Dramatics, Group dance. Participated in plays and group dance.

Awards/Accolades:

• I stood among top 2% in IIT JEE (Joint Entrance Examination) conducted for admission to the IITs,

the premier institutes of engineering and technology in India, in the year 1998.

• Was ranked 36th among about 50 thousands applicants on a state level examination in Bihar, India.



Contact this candidate