- Over 6 years of experience in developing web applications, software design, application testing and Software Development LifeCycle (SDLC) in Agile/Scrum environment
- Experience with MVC (Model - View-Controller) design, Responsive web design and Test-Driven Development (TDD)
- Experienced in creating branches, tagging, versioning using GIT and SVN
- Knowledge of Continuous Integration and Continuous Deployment using Travis-CI, Jenkins, TeamCity
- Experience with IDEs and code editors such as PyCharm, Confidential Visual Studio, Eclipse(pyDev), Visual Studio Code, Vim and SublimeText
- Experience with Confidential Azure IaaS
- Extensive use of the Linux command line, bash scripting, SSH and Putty
- Experienced in implementing Object Oriented Python, Hash Tables (Dictionaries) and Multithreading in Python
- Strong experience of software development in Python (libraries used: Beautiful Soup, Pandas, NumPy, matplotlib, requests, nose, etc. as well as python standard libraries such as json, unittest, unittest2, urllib2, os, socket, threading, pickle and datetime). Experience using the pdb python debugger
- Excellent written and oral communication skills with results-oriented attitude
- Excellent working knowledge in UNIX and Linux shell environments using command line utilities as well as GNU Makefile
- Object oriented programming (OOP) concepts using Python, Ruby and PHP
- Experienced in LAMP (Linux, Apache, MySQL, Python/PHP) Architecture
- Extensively followed development methodologies such as Agile (SCRUM), participated in daily standups and end-of-sprint sprint planning sessions
- Excellent analytical and communication skills with ability to interact with individuals at all levels
Project Domain: Standalone, Distributed and Web Application development
Web Technologies: HTML/HTML5, CSS/CSS3 jQuery, W3C standards, Typescript, XML, RESTful, JSON, Flexbox, Bootstrap, Selenium
Mockup: Balsamic, MS Visio
Application Lifecycle Management: Confidential VSTS, TFS, JIRA, HP Quality Center
Databases: MySQL, MS SQL, MongoDB
Operating Systems: Linux (Ubuntu, CentOS, RHEL. SUSE), Windows, Mac OS/X
IDE/Text Editor: Visual Studio, Eclipse, PyCharm, Sublime Text, Vim
Configuration Management: Git (Gather, Stash/Bit Bucket), SVN
Continuous Integration: Travis-CI, Jenkins, TeamCity
Confidential, New York City, NY
- Create applications following Agile methods, using iterative development and continuous integration
- Collaborate with the business team to understand requirements and clarify value, prioritization, and acceptance criteria.
- Create technical design specifications documents and participate in Business Requirements Specification discussions with software architects, business owners and project managers regarding Middleoffice finance applications
- Design & Develop Enterprise Data Architecture applications using Python, Django, Flask, Pandas and Numpy, using Big Data technologies like Apache Hadoop, Apache spark, Apache Kafka, Apache Storm and database technologies like MS SQL server, Hadoop-HDFS, Impala, Talend.
- Responsible for data modeling, logical & physical & partitioning database table, coding of triggers & stored procedures using various database products such as MS SQL Server, Apache Hadoop etc.
- Implemented a generic configurable python framework for parsing excel files, csv and json data and loading validated data to database.
- Implemented python DAL (data access layer) to expose data in database and implemented unit tests.
- Implemented python model for calculating rebalancing for cash flows/funds using Pandas module. The Model collects input from different sources, performs calculations on the inputs collected to get rebalancing values, which get written into the database.
- Implemented browsable REST API using to expose python data access layer (DAL) for users to query data in the form of API, json and csv. Currently implementing a UI using Django and Kendo Grid to allow user to view cash flow and rebalance calculation outputs. The python model can be re-run by the user, balance values can be overwritten, all changes being updated directly in the database.
- Implemented a custom python data validation framework that takes two different data sources and converts all incoming data into a Pandas DataFrame before creating a diff report. Automated reporting modules to email diff results to stakeholders. Used regularly for use cases such as quant data validation between stg vs prod. The framework was also used for major projects such as Pandas 0.16 to 0.23 upgrade, SQL 2012 to SQL 2017 upgrade as well as Data Center Migration.
- Define and automate acceptance tests.
- Collected real, reusable test parameters by monkey patching specific containers to publish the real-time params to Kafka. Testcases were created automatically by our in-house testing framework by consuming the Kafka stream.
- Datamined usage tables to collect valid test parameters.
- Performed root cause analysis for failures and defects. Followed up on application issues with developers and product management to improve product quality.
Environment: Python 2.7, Pandas, MS SQL Server, Jenkins, Confluence, Selenium, SVN, Gitlab, JIRA, Postman, JSON
Confidential, Redmond WA
Sr. Python Developer
- Followed UI mockups in order to create new features and update old components for the Python web application using Flask, with Jinja2 for templating
- Developed new RESTful web services and modified old ones using the Flask framework
- Created new features for a RESTful API that implemented oAuth for authorization and utilized Celery and Redis to create a reliable queue-based work flow in the back-end
- Developed merge jobs in Python to extract and load data into MySQL database.
- Converted MySQL stored procedures to SQLAlchemy ORM with complete data integrity
- Used Test driven approach for developing the application and wrote unit tests and integration tests using python testing libraries such as nose and pytest
- Performed UI testing using DevTools and Selenium
- Automated cross-browser testing using Selenium Webdriver (Python)
- Worked with team members in troubleshooting and root cause analysis of bugs/issues
- Actively participated in code reviews, bugfixes and code refactoring
- Participated in daily standups and regular sprint meetings, sprint retrospectives
- Used Git with Stash/Bitbucket for version control
- Maintained GIT branches, versioning and tagging for new releases and maintained release cycles for deployment
- Used Pylint for pep8 compliance
- Used JIRA/Stash/Atlassian for task creation, issue reporting and tracking, version control
- Manually tested features on Nintendo-DS and Wii consoles
Software Design Engineer
- As a member of Azure Log Analytics team, used Ruby, Python and shell scripting/bash scripting to support Azure OMS (Operations Management Suite) for Linux by creating new features and updating old ones
- Wrote new plugins for fluentd in Ruby. These plugins were used to munge the incoming log data to a generic format that would then be ingested by the Azure log aggregator.
- Extensively worked with XML Schemas (XSD) for defining XML elements and attributes
- Collaborated with other team members and stakeholders to understand/gather business requirements and translate them into technical specifications
- Used Confidential VSTS for Application Lifecycle Management, mainly for task creation, bug triaging and tracking
- Participated in daily scrum and standup in Agile environment
- Set up Travis-CI for Continuous Integration.
- Implemented the testing of new data feeds by validating business rules using Pandas data frames.
- Used Confidential Azure to set up test machines, Hyper-V to set up development VM
- Participated in hackathon to help onboard new customers to the Azure OMS Suite for managing their linux machines
- Owned comprehensive end-to-end regression tests on all supported Linux distros (Ubuntu, CentOS, SUSE, RHEL, and Debian).
- Wrote unit tests, system tests, integration tests. Unit tests for Python were written using unittest2 library. Unit tests for Ruby used Test::Unit, mocha and flexmock.
- Collaborated with partner teams for code reviews.
- Documented new procedures and new features in OneNote used by the Team. Also wrote/edited Markdown files on Gather.
Confidential, Philadelphia PA)
- Designed the front end of the application using Python, Django, HTML, CSS, AJAX, JSON and JQuery
- Developed views and templates with Python and Django’s view controller and templating language to create a user-friendly website interface
- Maintained internal as well as customer-facing PHP-based applications
- Used Test driven approach for developing the application and Implemented the unit tests using Python’s Unit test framework unittest
- Built SQL queries implementing functions, packages, views, triggers, and tables
- Developed Python scripts to extract and load data from xml into MySQL database.
- Involved in implementing the front-end of the application using MVC Architecture with AngularJS
- Used Selenium to write fully functioning test automation process that allowed the simulation of submitting different requests from multiple browser to web application
- Rewrite existing Python/Django modules to deliver certain format of data
- Responsible for debugging the project monitored on JIRA (Agile)
- Wrote Python scripts to parse JSON documents and load the data in database.
- Used Python and Django to interface with the jQuery UI and manage the storage and deletion of content
- Worked on front end frame works like CSS Bootstrap for development of Web applications
- Worked in MySQL database on simple queries and writing Stored Procedures for normalization and DE normalization
- Used regular expressions frequently to match the pattern with the existing one
- Built SQL queries for performing various CRUD operations like create, update, read and delete
- Performed Unit testing, Integration Testing, web application and automation testing
- Developed server-based web traffic statistical analysis tool using Jingo, Pandas and NumPy
- Deployed the Django application on NGINX along with CI/CD tools
- Involved in deployment of project using AWS
- Developed skills in creating user friendly, simple yet effective web-based applications
- Was a part of the entire lifecycle of the projects including Design, Development, and Deployment, Testing and Implementation and support
- Worked in development of applications especially in UNIX environment and familiar with the UNIX command line.