ATUL GARG
Summary:
A full-stack Developer/Architect with over 16 years of experience in programming across various technology stacks, having a Master’s Degree in Computer Science from NJIT (New Jersey, USA).
Developed Multiples app with some over 5 million plus downloads.
Expert in Mobile Development with Flutter, Android (Kotlin/Java), React-Native, iOS
Experience with various Design Patterns such as MVC, MVVM, MVP, Clean Architecture
Experience in Front End Technologies such as HTML5, CSS, React, Bootstrap, Material-theme, Responsive Websites, and SPA
Experience in managing of applications in Cloud Infrastructure such as AWS, Digital Ocean etc. Wrote article on stack overflow to deploy JavaScript App on Amazon Cloud.
Extensive experience with application servers and web servers such as Firebase, Node.js, WebLogic, Web Sphere, Tomcat, Jboss
Hands-on experience with high-volume systems, handling more than 20 million messages in a business day.
Experience in design and development of Java oriented applications with strong understanding of Core Java, Hibernate, JMS, SOAP, JSON, REST-API, XML, EE, Unix Scripting.
Hands-on experience with databases like SQLite, Postgres, MySQL, Mongo DB, Oracle, Sybase and MS-SQL Server, databases. Experienced optimizing SQL and query tuning.
Experienced in the leading and mentoring of project teams.
Worked on agile methodologies. Participated in sprints, Project Planning, Backlog Grooming, Task Management etc.
Programming Skills: Flutter, Android (Kotlin/Java), iOS (Swift), Golang (Go), JavaScript, React, React Native, Redux, Angular, WordPress, Core Java, EE, C#, EJB, JMS, JDBC, JNDI, MVC, Threads, Collections, Java Beans, JSP, Servlets, XML, Spring Boot, JPA, Hibernate, Unix Shell, Struts, Gradle, Ant
Software/Tools: Git (Git Pull Request, Merge's, Branches, Rebase, release) NPM, NVM, Chrome Debug Tools, Ng-Cli, Webpack, ClearCase, Subversion, VSS, Rational Rose, MS Office, MS Front Page.
Database: Firebase, MySQL, Mongo DB, Oracle, Sybase, MS-SQL Server and MS Access, Excel
IDE: Android Studio, XCode, VS Code, Atom, Sublime, Eclipse
Automation: CI/CD, Unit Tests, Selenium
Operating System: Linux, UNIX, Solaris, macOS, Windows, MS DOS
Cloud: AWS, Digital Ocean
Agile: Jira, Sprints, Backlog Grooming, Task Management
Documentation: Preparation of Design Documents
Protocols: TCP/IP, HTTP, REST, Web-services
Messaging: MQ-Series, TibcoRv
Application/Web Servers: Node.js, Meteor, Express, Firebase, Parse Server, WebLogic, Tomcat, Web Sphere, Jboss
Android Kotlin Coroutines, Android Architecture Component, Navigation Component, ROOM Database, Dependency Injection - Dagger, Retrofit, Offline Cache, Data Binding, View Model, Live Data, Material Design, Jetpack Compose
Flutter BLOC, River Pod, CI/CD, Unit tests, Widget Tests, Caching, Secured Local Storage, DIO, Router, BLE (Bluetooth), Service Locator, Face ID, Fingerprint Integration, i18n(to support multi languages), Camera, YouTube player, Flavors Custom plugins, Geolocation, Firebase, File Upload, Push Notifications
Experience
Mobile Apps
Huntington Bank (Top 25 in the USA) [Oct21-Current]
Principal Developer
A Flutter App for Huntington bank's customers to check balances, do money transfers, view statements and more. App has over 5 million plus downloads. JD Power Top Ranking.
https://apps.apple.com/us/app/huntington-mobile/id441599004
https://play.google.com/store/apps/details?id=com.huntington.m
SHOWX Music Startup [Sep20-Oct21]
Flutter Architect (Polymorphic Design)
A Flutter app where musicians can select any non-traditional venues to do events, with complete control over ticketing. Artists can book events, select non-traditional venues such lawns, houses, backyards to play and control ticket type, price, quantity etc. Artists can invite fans, search for venues, do ticket sales, chat with fans and other Artists and more.
https://play.google.com/store/apps/details?id=com.showxlive.showxlive
https://apps.apple.com/us/app/showx/id1536020194
XoKind Travel Startup (AI) [Sep19-Aug20]
Lead Developer/Flutter Architect
UNA Travel App (AI): Travel planning app based on artificial intelligence. The app will show attractions of visiting city based upon user preferences and behavior. Users can plan trips, select passengers, share trip, minimize driving distance etc.
https://apps.apple.com/la/app/una-travel/id1532534307
https://play.google.com/store/apps/details?id=com.xokind.una
MGM Grand Resorts International, Las Vegas [Jan19-Aug19]
Senior Developer
MGM Resorts International App: A Flutter Redesign of mobile apps for MGM Groups of hotels (LAS VEGAS) having 15+ five-star hotels. Apps allow users to check in/check-out via digital key on the phone. The app uses geolocation, GPS, rest API etc. Users can perform hotel room booking, check-in, checkout and other services.
https://play.google.com/store/apps/details?id=com.mgmresorts.mgmresorts&hl=en
https://itunes.apple.com/us/app/mgm-resorts-international/id366518979?mt=8
Innovative Products of America [Jan18-Dec18]
Mobile Architect
IPA Hub: An app to connect various trucks and trailers hardware to trouble shoot measure pressure, electrical circuit’s currents, air brakes, tires air pressure etc. The app uses a Bluetooth connection to get data from truck & trailers hardware.
ABS App: An android to interact with truck computer and find faults & clear faults. It is developed for OEM truck tools manufacturer Innovative Products of America. It uses Bluetooth custom hardware to interact with truck computer and is made using Flutter.
Alpha Mutt App: Android app to connect to BLE (Bluetooth low energy) device to send & receive data on connected vehicles. The App can activate air pressure measure, indicator test and other functions. It is developed for OEM truck tools manufacturer Innovative Products of America.
Green Films LLC [Jun 17-Dec17]
Lead Developer
Ragamuffin TV: A React-Native Christian TV app with movies, series, shows and videos regarding religion. It is for both iOS and android. It is in android play store, apple iTunes store.
https://play.google.com/store/apps/details?id=com.colorgreenfilms.ragamuffintv&hl=en
https://itunes.apple.com/us/app/ragamuffintv/id1312401437?ls=1&mt=8
Evidence-Based Primary Care [Oct16-May17]
Lead Developer
A React-native app where a doctor can select a disease and associated test & find out the probability of test being negative and positive. This app is for both android and iOS.
https://itunes.apple.com/us/app/evidence-based-primary-care/id624029737?ls=1&mt=8
https://play.google.com/store/apps/details?id=com.lohrdesigns.EBPC
Machine Maintenance App [Jan16-Oct16]
Senior Developer
App for the company, which sells medical machines to clients (hospitals, laboratories). The company has technicians on the field to take care of the machine's maintenance. Each time their clients have problems with their machines, they call the company for the maintenance and a maintenance task is added with the machine and client information. The technician sees the task and goes to the client's location to check the machine. All this information is managed in the app.
Wall Street/Finance
Credit Suisse, NY [Jan09-Dec15]
Lead Software Engineer
OPUS (Options US)
The application automates the processing of options assignment/exercise/expiration (AXE module), corporate actions on options (CAP module), OCC trade reconciliation (TOT module), OCC position reconciliation (TOP module) and position inventory (PIN). The Option System provides the daily accounting of all customer and firm trades for option products. It balances option trades entered at CS daily with trades cleared through Options Clearing Corporation (OCC) by various exchanges.
Responsibilities
Mentored and led an offshore team in Pune (India).
Helped the London team in rolling out our system on EMEA-based exchanges.
Designed and developed a multithreaded trade processing application which can process trades different types of messages at fast speed.
Wrote XML parsers for different Fixml OCC feeds such as prices, positions, security master, security definition etc. and persisted data using hibernate.
Designed web front end screens using JSP & Struts.
Fine-tuned oracle queries to improve their query execution time.
Designed framework to fetch data from and updates to GMI Systems (AS400) in real time.
Integrated hibernate with JPA to persist data into oracle and fetch query data from oracle.
Integrated yahoo UI, Direct Web Remoting Ajax frameworks in current system.
Optimized performance to support heavy volume for application by introducing caching techniques.
Build application and released to Production.
Environment: Java 8/6/5, JSP, JMS, WebLogic Application Server 9, Oracle 11g, Solaris, Linux, Hibernate, Subversion, ClearCase, MQ-Series, Tibco RV, Log4j,
Bank of America, NY [July06 – Jan09]
Senior Software Engineer
Trade Matching Manager (TMM)
The Trade Matching Manager is a high-volume system to match street side and house side trade for Bofa Securities (BOA) and its customers. The TMM matches trades in real time, replacing the old overnight (T+1) batch system, thus mitigating a lot of risk from P&S group. TMM is responsible for matching Equity, Options and Fixed Income (RTTM) trades. The implemented solution was based on MQ-Series as the messaging middleware, WebLogic server as the application server for Gui and oracle as the database.
Responsibilities
Designed and developed a multithreaded trade processing application which can process trades more than 1200 Msgs/sec.
Designed and implemented the archiving process for the TMM application.
Wrote XML parsers for different Fixml OCC feeds such as prices, positions, security master, security definition etc. and persisted data using hibernate.
Processed different kinds of SWIFT messages MT501, MT509, MT515 from RTTM.
Wrote ant scripts to build application.
Designed web front end screens (Dashboards) using JSP.
Developed tools to replay message to MQ-Series messaging (JMS) Bus.
Fine-tuned oracle queries to their query execution time.
Parsed and processed different types of FIX (4.4) messages.
Optimized performance to support heavy volume for application by introducing caching techniques.
Performed Query Tuning.
Building jars and releasing for Production.
Designed and implemented a framework to copy data from AS400 systems to Oracle database.
Wrote various reconciliation tools and reports to reconcile data with ADP.
Create various jobs scheduled jobs in autosys and scripts to deploy components to production.
Environment: Java 1.5, JSP, JMS, WebLogic Application Server 8.3, Oracle 10g, Solaris, Linux, CVS, MQ-Series, Tibco RV, Log4j, Autosys
Asset Transfer System (ATS)
The Asset Transfer System (ATS) is used to manually and systemically process different types of wire and check disbursement and deposit activity for users of the Fixed Income and Equity business units. ATS enables manual user payment requests and automated payment generation based on ADP BPS files and alternative systems that generate wire transactions (e.g., FMTS). The system is a web-based application with an extensive rule workflow database engine that automates much of the manual transaction processing workflow of these transactions through rule-based system edit checks and status assignment. The implemented solution was based on AS400 (OS) Servers and web-sphere as the application server for GUI and db2 as the database.
Responsibilities
Developed the component to generate fed call exceptions for various accounts.
Designed process to margin extension request to NYSE.
Used Struts Framework to design Front End using JDBC for database persistence.
Wrote ant scripts to build application.
Designed web front end screens (Dashboards) using JSP and JavaScript.
Building jars and releasing for Production.
Environment: Java 1.5, JSP, Web Sphere (WAS), DB2, AS400, Log4j
Instinet Corporation, NY [Jan04 – July06]
Senior Software Engineer
Repository
The data repository is a real - time, high-volume system for company-wide data warehousing needs where data for various order handling systems & trading systems is processed. The data for business entities such as orders, trades, market data, tickets, allocations is converted into business objects and persisted to the database. This high-volume application is responsible for handling over 10 million messages during a single business day. The implemented solution was based on Tibco rendezvous as the messaging middleware, WebLogic server as the application server for processing and oracle as the data warehouse.
Responsibilities
Worked with the business analyst and project manager to understand business requirements to build the application in a more robust fashion.
Designed classes in Rational Rose, showing relationships. Developed Class and Sequence diagram to describe the interaction of objects over time.
Developed shell scripts for launching different components of application.
Wrote ant scripts to build application.
Coded various MDB and Session beans to process business data.
Developed business objects to persist and update data efficiently using JDBC.
Optimized performance to support heavy volume for application by introducing caching techniques.
Created WebLogic domain for application.
Created multithreaded publisher and subscribers for various topics to send and receive messages on Tibco messaging wire.
Created deployments scripts for deploying applications on WebLogic server.
Building jars and releasing for Production.
Developed tools for QA to publish messages to Tibco bus from text file.
Environment: Java 1.4, J2EE, EJB, JMS, WebLogic Application Server 8.1, Oracle 9i, Rational Rose, UML, HP-Unix, Linux, Clearcase, Tibco, Log4j
Broker Execution System (BEEHIVE)
This application provides execution processing and settlement for domestic broker clients, built upon
N-tier architecture. The Beehive architecture utilized BEA/WebLogic 8.1, Oracle 9i, Java, XML, JMS.
It uses Oracle as the data store and WebLogic JMS as the messaging layer. Messages are sent to a JMS
queue via the trading system. Once the message is ready to be delivered, message-driven beans
consume the messages, persisted and send notifications to other processes. After the execution has been
processed, a ticket will be generated and sent out to the external parties. Tickets are aggregated together to
save on clearing cost.
Responsibilities
Changed the Beehive Execution tool to support one-sided trade modification using swing.
Provided production support and solved various production problems.
Developed shell scripts for launching different components of application.
Wrote ant scripts to build application.
Coded various MDB and Session beans to process business data.
Developed business objects to persist and update data efficiently.
Created WebLogic domain for application.
Created deployments scripts for deploying applications on WebLogic server.
Building jars and releasing for Production.
Provide guidance to the other team members as to how to design their application at a more detail level.
Environment: Java 1.4, J2EE, EJB, JMS, WebLogic Application Server 8.1, Oracle 9i, Rational Rose, UML, HP-Unix, Linux, Clearcase, Tibco, Log4j
Institutional Trading Middle Office (MIDWAY)
This application provides execution processing and settlement for domestic institutional clients, built upon
N-tier architecture. Midway architecture utilized BEA/WebLogic 8.1, Oracle 9i, Java, XML, JMS.
It uses Oracle as the data store and WebLogic JMS as the messaging layer. Messages are sent to a JMS
queue via the trading system. Once the message is ready to be delivered, message-driven beans
consume the messages, persisted and send notifications to other processes. After the execution has been
processed it will then be associated with a block, using the appropriate blocking rule, upon completion of the
blocking process, a ticket will be generated and sent out to the external parties.
Responsibilities
Developed object model for application with technical lead.
Provided production support and solved various production problems.
Developed shell scripts for launching different components of application.
Wrote ant scripts to build application.
Created deployments scripts for deploying applications on WebLogic server.
Building jars and releasing for Production.
Provide guidance to the other team members as to how to design their application at a more detail level.
Environment: Java 1.4, J2EE, EJB, JMS, WebLogic Application Server 8.1, Oracle 9i, Rational Rose, UML, HP-Unix, Linux, Clearcase, Tibco, Log4j
NJIT, NJ [Sep02 – Dec03]
Programmer/Developer
Project: PLTW Tracking tool
The System mainly used by staff to keep track of various activities happening in NJIT.
Roles and Responsibilities:
Implemented business logic on the server side using Session Bean.
Designed Forms for Data Entry Screen using HTML, CSS
Designed and Coded java beans for various modules
Used JDBC for connecting to the main database.
Coded some core Java Classes.
Coded stored procedures
Environment: EJB, JSP, JAVA, HTML, DHTML, JavaScript, XML, Jboss, Web Sphere, SQL-Server, Windows and Unix.
Education:
MS Computer Science & Engineering, NJIT, USA
BS Computer Science & Engineering, MD University, India