Post Job Free
Sign in

Software Engineer Manager

Location:
West Orange, NJ, 07052
Posted:
January 05, 2017

Contact this candidate

Resume:

Hello,

I am a PhD in Software Engineering with special focus on software maintenance and automation of business processes. In various projects and roles that span the software lifecycle development, I have moved from development to quality assurance to build-release-deployment cycle management and most recently, bare-machine environment setup on a cloud in a DevOps role.

My roles have consistently been that of a lead software engineer and responsibilities have included interacting with cross-functional teams, reporting into CTO, CEO or Head of Infrastructure management. As a lead I am able to craft organizations, processes and management of software systems that align with business requirements. Experience has also enabled me to set and manage business expectations to match technical and technology capabilities as well as deal with personnel management and issues.

DevOps is currently an exciting area as it brings about change in operations, making continuous integration and continuous deployment a higher priority and goal than ITILs structured and silos-based smooth operations focus. Agile DevOps is about having flexible processes in place that enable fast turnaround time especially in testing or deploying changes. Challenges in this area often have to do with non-Agile teams attempting to reach goals that are not in their reach and the solution to this is to make teams agile through small iterations that are unique to the team; i.e. the exercises and iterations the team requires to go through need to be identified and then executed till the team is Agile – and is able to evaluate itself as being Agile. Being able to prioritize and identify issues is just as important as being able to solve the issue.

In my most recent projects, I have undertaken the role of an end-to-end Solutions Engineer and in this capacity I am able to ensure different teams and solutions play well together and integrate in context of each other and not in isolation. To this end, I employ my own software engineering method, a post-agile matrixed approach that I call Tactile. Tactile maps a project’s requirements to verifiable tests and milestones for both tracking purposes and to ensure alignment of solution to expectations at each milestone (which is also a checkpost).

I have employed Tactile most recently to configuring a bare-machine on a cloud using Chef, a ruby-based framework. I have also researched Ruby as a scripting and web application language and Rails as a REST framework for web applications. This research was done to assess software maintenance needs of the Web Application stack that uses Ruby on Rails and SQL-based database.

With Best Regards,

Chandra Gupta

Chandra Gupta

623 Eagle Rock Avenue, PMB 363

West Orange,, NJ 07052

973-***-****

Email: ************.***@*****.***

Github Id: rubysoftwaredev

Summary

Full lifecycle software engineer lead with a background in program understanding, programming languages, databases, data structures and algorithms. Has direct industrial experience across multiple industries in all core aspects of development of software systems.

Skills

Software Engineering

Test-driven iterative post-Agile development

Programming Languages

C++, C, Java, Ruby 1.9.3, HTML, SQL, Javascript, shell, awk, sed

Programming Libraries

Boost, STL, RubyGems, Java classes

Database Systems

MySQL, SQLite, EmpressDB, Postgres, DataBlitz, TransRelational, ArcGIS, Luciad, Redis

Database Connectivity

OCCI, OCI, JDBC, ODBC, Hibernate

Operating Systems

Windows 2007, Unix, Linux

Content Management Systems

BrowserCMS, RefineryCMS

Web App Frameworks

Sinatra, RAILS 3.1.3

Unit Test Frameworks

cppunit, junit, dbunit, rspec

Build Tools

make, rake, rack, ant, maven

Source Code Managers

CVS, SVN, Git, Github, Perforce

Defect Progress Tracking

Jira, Bugzilla

Batch Processing Scripts

DOS commands, Unix commands in shell scripts

Message Formats

XML, JSON, BSON, Binary

Message Exchange Protocols

TCP, HTTP, SMTP, SOAP

Web Servers

Tomcat, Webrick,Passenger Phusion

Oct 2015 – Current

L&T Infotech Software Engineer

Using Chef for Provisioning Tomcat Apache on Virtual Linux Machines on a Cloud

Gained a deep understanding of DevOps, cloud hosting, continuous delivery and integration and paradigm shift and the different provisioning systems – chef, puppet, ansible, salt

Gained insight into the challenges of continuous delivery and integration and expectations imposed on a DevOps practitionerraig,

Learn and used Virtual Desktop Interfaces to Windows Desktop and Linux Virtual Machines on thin client hardware

Learn Software Provisioning processes including

oRequesting software or any other resource – headset, phone, SSH Techtia

oDealing with access, authorization, approval roles and process delays

oProvisioning a Linux Machine through a proprietary website that loaded parameters through excel spreadsheet

Learn Chef architecture and technology, another framework that relies upon convention-over-configuration and has a pull-architecture

Used multiple chef servers, workstation and a VM to develop and test cookbooks

Learn to develop chef cookbooks

oUnderstand the different setups of a chef workstation from a chef-node

oDeveloped a cookbook to install different versions of java using package resource

Develop a Tomcat Apache cookbook

oDecipher existed shell scripts that installed and configured Tomcat and then started Tomcat as a service

oConvert the shell scripts to a chef cookbook

oReduce and eliminate steps that were not necessary

oImprove provisioning by ensuring the cookbook had only necessary steps

oMapped openssl setup including salt key and keystore setup to a recipe

November 2010 – Sept 2015

HG Systems, Inc. Consultant

1.Content Management Systems Evaluation

Created an Analytical Evaluation Framework that includes a workflow, numbering scheme and scoring framework to evaluate Ruby-on-Rails content management systems as business enterprise solutions. The 3 CMS’s were BrowserCMS, Refinery CMS and Locomotive CMS. Created a seamless installation script to install browsercms and refinery cms on a controlled Linux RHEL 6.0 operating system

Researched and identified the use of Ruby on Rails tools and gems – bundle, rake, rails, rmre as part of identifying Ruby on RAILS development end-to-end infrastructure

Participated in Ruby on RAILS migration kick-off project planning effort and developed a project plan for evaluating CMS as the CMS lead

Reviewed the architecture of a large trading system, its use case scenarios and databases

Reviewed coldfusion code of a website and its databases for the purpose of rewriting it as a Ruby on RAILS project and developing a plan that preserves functionality and improves overall quality

2.HTML ETL System

Developed a system that extracts HTML pages from a public records website, transforms the files into an HTML table and loads table records into a MySQL database. The system includes a staging directory for the intermediate transformations and manual steps to convert the data into pdf format and excel format before sending it via email to recipients

Used Ubuntu Linux 13.04 using /bin/sh scripts, Ruby 2.0, REST API & MySQL 5.5

3.Effect of Duck Typing, Closure and Scope resolution on maintenance of Ruby on RAILS Applications

Identify Ruby language constructs that make program understanding and debugging difficult, such as the yield co-routine, scope resolution of class variables, duck tying, metaprogramming and the mix of syntax features from different programming languages

Identify and solve RAILs maintenance issues such as relying on programming conventions to ensure model-view-controller design pattern structure, connection between data model and app using plurals, routes.db matches based on regular expression matching. Also analyze the pros and cons of the DRY – “Don’t Repeat Yourself” principle and “Convention over Configuration” principle from a maintenance perspective and code change perspective.

Compare and contrast Ruby with other Object-Oriented and Scripting languages to improve Ruby scripts

4.Tactile Methodology – Work in progress

measures effectiveness of methods and techniques and analyzes these to provide correction actions

leverages and builds upon best practices from several existing methodologies and analytical processes

focus is software lifecycle quality and cost-effectiveness of maintaining software

5.Extend existing Ruby-on-RAILS-based Order processing system

Received requirements, executed and delivered working implementation in one week on a ROR system;

Extended an ROR Order processing system for Puma Shoes to support two new shoe styles; used routes.rb and extended appropriate files preserving the RAILS Model-View-Controller dependencies.

Used RAILS db migrate to add tables and columns to MySQL 5.0 database to make database model consistent with data design documentation

Developed a program using Ruby and Gem - Prawn - to email an order report in PDF format

Worked with a cross-functional team including development manager, product manager, customer relations manager, requirements analyst and business analyst

6.Sinatra-basedTwitter Feed

Designed a web page user interface using HTML frames and a dashboard design

developed web-server-side Ruby script and web-browser-client-side Javascript code that connects to Sinatra framework to display twitter feed

SOFTWARE ENGINEERING EXPERIENCE SUMMARY

January 2010 – October 2010

State Street Inc., NY Professional Software Engineer

Worked with cross-functional team of Development manager, Quality Assurance manager, Managing Directors to identify areas of improvement in team’s adoption of Agile and recommended corrective steps.

Used dbunit to stabilize the Global Ledger System regression test suite of 1500 tests. Developed an automated script to separate 1500 tests into two sets. Developed separate shell scripts to run the two sets simultaneously on two distinct environments. This halved total time taken from 20 hours to 10 hours. Designed an automated process to make each test independent of other tests.

Worked with TruView Risk Management Team to improved their release and installation process.

September 2009 – November 2009

Bloomberg, NY Senior Software Engineer

Fixed a production issue by tracing back code changes in code repository, manually reviewing logic and detecting defective logic. Extracted the design of a complex reporting process on the Analytical Desk (ADSK) ticket processing system to extend the system with a new ticket picking algorithm.

Worked on a reporting service that connected to a SQL Server Database and proprietary Fortran coded database to extract statistical data, calculate ranks for representative performance, convert the data to XML and provide it to GTK screens. Quickly learnt the Bloomberg Application Server (BAS) Services and Rapid/GTK

May 2009 – July 2009

ITT, NJ Senior Software Engineer

Conducted a database trade study to evaluate the use of EmpressDB vs SQLite in embedded software. Developed an analytic weighted average model using Ishikawa cause-effect analysis methods for comparing the two databases

Reviewed Request For Proposal document and provided feedback on the semantic and syntactic errors in the document

Designed two separate software components - Mission Manager and Mission Planner for JCREW 3.0. The Mission Manager is a distributed database application that interoperates with other systems in JCREW. The mission planner is a standalone application used to configure devices. The design of the two components was different because the primary focus of Mission Manager was interoperability whereas the Mission Planner was standalone software. Designed Use Case scenarios for an Event Logging System and for Mission Planner Device configuration

February 2008 – February 2009

Viecore FSD, NJ Principal Information Engineer

Worked on the following distinct projects and tasks with Subject Matter Experts (SME)

Performed complex system analysis for resource consumption (time and space) of Preparation and Planning Systems (PPS) for a multi-blade distributed computing platform, the Integrated Computing Platform (ICS).

Evaluated the impact of using LuciadMap and Lucy for Viecore’s Terrain Analysis Service (TAS)

Developed a Graphical Editor for Command and Control of Robotic Entities (C2ORE). The Editor was developed as an Eclipse RCP rich client platform (RCP) application. This editor implemented basic geometric shapes – a point, line segment, arc segment, closed polygons using ArcGis API

August 2007 – November 2007

Brown Brothers and Harriman, NJ Software Engineer

Used OCCI and OCI to develop a database scrub tool that read a BLOB column in an Oracle database, searched for a string in the BLOB, removed all occurrences of the offending string and wrote the BLOB back into the database.

May 2006 – May 2007

Bear Stearns Inc., Equities Division, NJ Software Engineer

Worked with a cross-functional team on project management tasks and co-ordinated work with young offshore team in India. This included business trip to offshore India team ; readjusted planning based on skill reassessment

Used Junit to test data validation rules for Bear Audit Tracking System BATS. BATS was a SOA-based system BATS served as a central repository for audit and compliance purposes

Developed performance specifications for BATS and used Guy Kawasaki’s evangelization methods to gain teaming and co-operation from project leads of 10 feeder applications

Worked on rules to incorporate Regulation NMS subpenny requirements

May 2004 – April 2006

Aleri, Inc., NJ Multiple Products Quality Assurance Lead

Executed the following distinct responsibilities teaming with 3 team developers

Develop regression tests from scratch for Aleri Information Engine. Suite contained concurrency tests, recovery tests,stress/volume tests and a data generator; used gdb to debug and localize bugs

Developed and executed a Software Componentization plan that reorganized the AIE Codebase into four separate components/products - Liquidity Management System, Adapter, Analytical Engine, OLAP

Maintained test, development and release build distinct environments across Windows NT, and Solaris for AIE. And Across Linux and Solaris for ASAP for a total of 12 environments

Developed a build and release process to track and prioritize bugs and manage Releases for 3 products and implemented this process as a workflow in Jira.

February 2002 – February 2003

Required Technology, Inc., NY DSAM Team Lead

Contributed in the following separate software engineering areas

Manage a team of 4 competent developers and individually develop the Data Structures and Access Methods (DSAM) interface and data structures for Transrelational Server

Serve as guide and mentor in the development of Query Execution Facility, a Java-based test tool for testing SQL queries on the Transrelational OLAP read-only cluster-indexed database

Contributed to the design and interface of storage allocation component

Contributed in developing a componentized architecture of the Transrelational Server

November 1995 – January 2002

Lucent Technologies and Bell Labs Innovations, NJ Lead Developer

Technical contributor to Arbor/BP Prepaid in the role of Technical Manager and to Datablitz in the role of generalist software systems engineer

Hired and managed a team of 10 developers and testers and co-ordinated among geographically distributed teams

Designed and architected a highly-available near real-time software solution that participated in the path of network service delivery

Design and developed a rule-based configurable, flexible service activity event-action framework

Developed the T-Tree data structure for DataBlitz. Also worked on the coalescing memory allocator, torture tester, concurrency control locking data structure, data structure audit system and cleaning up log messages

Education Qualifications

PhD, Computer Science, Louisiana State University, 1996. Dissertation “ Reverse Engineering Low-Level Design Patterns from Object-Oriented Code”.

MSc, Computer Science, Pune University, 1989. Thesis “Distributed Databases”

BSc, Physics, Pune University, 1987.



Contact this candidate