Manoj Cooray - Senior Software Developer (US Citizen)
Santa Barbara, CA, USA
SUMMARY
Design software systems that have some simplicity and elegance.
Full Stack Mentor Lead Communication Big Picture Resourceful Performance Testing Agile Micro
Services OOP DB Tuning Inquisitive
TECHNICAL SKILLS:
Azure Modern .NET Core C# + VB.NET ASP.NET MVC REST API + Swagger + Postman C/C++ JAVA PHP
MSSQL Postgres Oracle SingleStore Snowflake Tableau COSMOS MySQL SSIS + SSRS + SSAS
GIT + TFS Confluence JIRA Azure DevOPS + BASH + PowerShell + YAML Gatling Splunk New Relic Grafana Azure Metrics
MS Access API MS Word API MS Excel API
Experienced in all aspects of Enterprise application development. Including a lot of experience with Event Driven application development.
JSON XML/XSLT/Schema Messaging + TibcoRv + Azure ServiceBus + RabbitMQ + MSMQ WCF
Expert level knowledge of Event Management and Alerting from the development of the Vigilance system
EXPERIENCE
Senior Software Engineering Consultant Jan 2024 – Current
PSNAmericas (Remote)
• Technology stack for data ETL was implemented on AWS
• Created ETL pipelines to run in AWS to pull data from store fronts. Used Web API, Dynamo DB triggers, AWS streaming to collect data, The following AWS products were used S3, EventBridge, DynamoDB, Kinesis, SNS, SQS, Lambda, S3
• Data from the pipelines was transformed into SnowFlake using stored procedures, scripts
* Pipeline code was deployed on Docker containers via Bamboo CI/CD
• Used the Atlassian product set, Jira Confluence BitBucket Bamboo
Senior Software Engineering Consultant Jan 2023 - Dec 2023
Starbucks (Remote)
Performance Test team member for North America stores. Manually tested the backend system for performance issues. This team determined whether software was ready for release. Helped improve performance and quality of system services. Needed to understand the following end-to-end concepts:
oAzure authentication and authorization
oAzure VNet and DNS Zones
oIoTHub NATS Key Vault Storage Accounts Service Fabric Service Bus VM Scale Sets App Gateway
Responsible for determining the performance metrics of the mobile Starbucks apps Order Estimate Time of Arrival and Order Pickup Time. These metrics were used to tune the Starbucks Azure production environment to scale to the requirements of the mobile Order ETA and Order Pickup Time features.
Wrote code in C# to gather Perf reports using metrics from Azure Portal, Splunk, and New Relic. Used Grafana API to display reports. This application provided a dashboard to compare up to 10 performance tests side-by-side. Over a 100 metrics were available for comparison.
oProgrammed in C#, Python, Scala, PowerShell, BASH.
oEverything was executed on Azure DevOPS
oKey Vault access and authentication leveraged via C# programming.
oUsed to over 100 Azure Observability REST Api’s from Azure Monitor
oC# code was executed as an extension to the performance test DevOps pipeline.
oPostgres DB was used to store the metrics in JSON format. Native Postgres JSON querying was used
Following technologies were used as a client or modified.
oGIT + TFS Confluence JIRA Azure DevOPS + BASH + PowerShell + YAML Gatling Test Framework Splunk New Relic Grafana Azure Metrics Azure Functions
oAzure Cosmos DB MSSQL DB Postgres
Senior Software Engineering Consultant July 2018 - Dec 2022
PSNAmericas (Remote)
Ingest large quantities of Public Safety phone call data and Public Safety IoT type vehicle end points. Displayed this data inside the 911 Call Centers in a very large dashboard. Data had to be presented in real-time.
Responsible for all of the backend architecture.
Used CQRS, Repository, Dependency Injection pattern
.NET Core C# application written for Service Fabric clusters.
Scaled application via Service Fabric nodes and also C# threads.
Destination data repos included Postgres, MSSQL (IaaS and PaaS), SingleStore, and Snowflake
Snowflake was used to do OLAP based analysis on the OLTP data.
OLTP data was manually migrated to Snowflake periodically.
Ingestion of data from RabbitMQ, Azure ServiceBus, Public Safety CAD data stores
Tableau was used for both analysis and client presentation.
The data processing system is executed by an Azure C# Microservice based architecture orchestrated by Service Fabric processes. The system is instrumented for performance and status tracking. Contains alerting for monitored situations. It has custom support for parallel processing to scale the system for huge data flows. End user reporting is done using Tableau and a custom web dashboard.
Senior Software Developer Aug 2016 - May 2018
VSolvit (Ventura, CA)
Developed a REST based Web Service using WCF
Worked on legacy applications used by the US Navy. Tech stack was .NET
Senior Staff Software Developer Oct 2012 - Jul 2016
Mission Linen Supply (Santa Barbara, CA)
Architected and developed solely from scratch a new ecommerce system to tightly integrate multitenant web stores, 12+ national retail garment suppliers, SAP, MS Dynamics CRM, large in-house
Route Accounting system, CyberSource payments, support multiple suppliers per order
Achieved goal to have high margin sales via automation of the entire work flow: Customer web store order placement P.O. Shipment Notification Invoicing Credit Card authorization and capture
Customized Znode MultiFront 7.0 ecommerce platform extensively (expert level understanding), used
LogicBroker for EDI supplier integration, wrote custom components for back-end workflow, Windows Azure deployment (IaaS), architecture change to migrate all components to Azure PaaS. Used Telerik ASP.NET controls.
Senior Staff Software Developer Aug 2009 - Oct 2012
Strategic Healthcare Programs (Santa Barbara, CA)
Designed from scratch HHCAHPS healthcare survey processing application which serviced hundreds of Home Healthcare Agencies. SHPData,com became the leading vendor in USA for HHCAHPS survey processing. Used Task Parallel Library to support the large increase in customer data processed each month. System still used in 2023 and maybe the #1 vendor in HHCAHPS space.
Government HHCAHPS auditors were shocked at how small the survey processing team was at SHPData.com. This was a result of the software that automated the work flow with strong validation of all the steps.
Supported existing SaaS applications of company (ASP.NET/SQL Server)
Created many SSRS reports. Used SSIS and some exposure to SSAS (DAX)
Senior Software Engineering Consultant Apr 2008 - May 2009
Mentor Corp (Goleta, CA)
Helped develop a CRM application for Plastic Surgery Practices using .NET WinForms and C#
Developed Document Management layer, including an editor, complex data merge, and printing Refactored existing codebase to produce a more maintainable and clean software architecture
Designed the data access layer in ADO.NET to access MSSQL database.
Re-architected GUI to use several Infragistics WPF controls (hybrid WinForms/WPF GUI)
Implemented separate assembly around Windows AzMan framework to provide Authorization for main assembly
Migrated WinForms application to ASP.NET
AD LDS (using .Net Directory Services) + AzMan for authentication and authorization of ASP.NET version
Created a distributed database auditing solution for SQL Server using SQL Service Broker
Senior Staff Software Developer Sep 2005- Jul 2007
Retail Solutions (formerly T3Ci, Silicon Valley)
RFID Promotions Managements application written in Java/J2EE
Worked on all 3 tiers of the T3Ci J2EE applications (JSF/Java Beans, Java, business components, MSSQL)
Solely created the mobile phone Alerts and Feedback system for the RFID Promotions Managements application
Solely responsible for Vigilance product, including Product Management role, C++ development, QA, build
Managed several Vigilance (see April 2000) production instances running as both SaaS and behind the customer firewall (using VPN).
Created many advanced Microsoft Integration Services (SSIS) production components for automated ETL operations between the Vigilance system and the RFID J2EE applications across many enterprise configurations.
Created .NET 2.0 web services components to integrate Vigilance and the WebLogic application domains.
Senior Staff Software Developer Sep 2003 - Jul 2005
SSA Global (purchased Vigilance, Silicon Valley)
Responsible for running Vigilance product at SSA Global, including product management, C++ development, QA, build (had several million $ in yearly sales with only 1 sales and 1 developer). Enhanced the Vigilance system so that builds, production diagnostics, logging, etc. was improved so that technical support of the entire system could be done by a single person
Helped integrate Vigilance product with a Warehouse Management system
Software developer for the J2EE development of Arzoon Logistics Management system (LIFE).
Implemented the component for Customs Reconciliation in Java connected to an Oracle database.
Senior Staff Software Developer Apr 2000 - Sep 2003
Vigilance, Inc (Silicon Valley)
Core developer of powerful Windows enterprise software for Event Management space (Vigilance) Involved in complete product development cycle: high-level specs detailed design + use cases project plan coding + VB test programs always 100% on time QA (Water Fall Method).
Member of senior Core Technology Group that dealt with architectural vision of product.
Team lead for several critical large projects (Collaboration, Vigilance Enterprise Manager, Web Service Publish Adapter, MTS Shared Property Manager, User Exit, and others).
Developed many XML/XLST based Web GUI tier COM+ transactional middle-tier complex database queries and table design for both MSSQL and Oracle DBMS tier.
Created build process for 1 million line Windows based enterprise system.
Individually developed and enhanced many distributed multithreaded NT Services using Tibco messaging, C++ and STL; also created several critical MFC GUI Tools.
Sent on successful sales mission; sent to technology conferences
Software Developer Mar 1999 - Mar 2000
OneTouch Systems (Silicon Valley)
OTS FrontRow 2.0 - used to broadcast a live Interactive Distance Learning presentation.
Developed ISAPI extension which acted as a Proxy Server, created a Proxy Browser which listened for browser requests and then made navigation instructions on the ISAPI Proxy Server, created an ISAPI filter to direct HTTP requests to the local machines web site (configured on IIS).
OTS OnDemand 1.0 - used to capture a FrontRow Interactive Distance Learning presentation. Created a COM exe to control the capture of audio/video content (used C++ ATL, DCOM (incl. NT security), and XML DOM).
Created a C++ MFC GUI app to edit recorded data which included MS Media Player ASF audio/video content and XML business rules.
Established an automated build process for ActiveX, VB, and ATL components used in project.
Mentored junior programmers, acquired invaluable project life cycle skills, created a great product.
Other Experience:
Software Developer
AMF Bowling (Richmond, VA) - Sep 1998 - Feb 1999
Windows COM programmer
Software Developer
Dun & Bradstreet (Toronto, Canada) - Apr 1998 - Sep 1998
Software Developer
Accubid (Toronto, Canada) - Aug 1996 - Apr 1998
Software Developer
CaseWare International (Toronto, Canada) - Feb 1994 - Jun 1996
EDUCATION
McMaster University
Bachelor of Science (BSc), Computer Science
1987 - 1992
L'Amoreaux Collegiate Institute
High School, Science
1983 – 1987
Honors student
CalTech University 9-month DevOps course, 2024)