I am a software engineer and technology architect in Central-NJ/NYC area specializing in Big Data, analytics, high- performance computing, and cloud architectures. I am also a recognized expert and published author on the topics of cloud computing, and software engineering. Throughout my career I solved complex business problems with creative applications of computing technology.
Cloud Platform Architect / Lead Engineer
Nov 2011 - Present
I am currently the lead engineer in the design and implementation of the multi-tenant cloud PaaS platform for mobile big data analytics in the wholesale and distribution vertical. I provide technology and thought leadership in a team, which I've helped build. I've been called upon to offer technical advice and guidance on various aspects of customer solution implementations involving AWS, SAP CRM, and Cassandra.
In collaboration with our enterprise customers, several SPA, mobile apps, and natural-language processing chat bots were built on top of this platform. The chat bot that I built was a recommendation engine used in an events app: a user is an event attendee; they can join interest group chat rooms; the bot monitors the conversations and offers venues, activities, and vendors the users may be interested in. Three SPA apps I worked on are the OAuth 2.0 authorization server (Angular, Bootstrap, and Node.js), a data-center health-monitoring app (JQuery Mobile) and a survey management and collection app (JQuery and Bootstrap).
The PaaS is split up into micro-services modules. Most of the micro-services are Liquid-built and run in AWS Lambda as Node.js functions and ECS as Docker containers. Some micro-services and APIs reside on-premises. Additionally, many apps built on top of the PaaS require single sign-on. The OAuth 2.0 Authorization server solves the challenge of distributed micro-service security and improved SSO experience for enterprise users, while maintaining compliance with OAuth 2.0 standards.
The OAuth 2.0 authorization server supports most of the OAuth 2.0 flows, including implicit, password, and authorization code grant types. The PaaS implements the API for granting tokens. The tokens are signed and encrypted JWT tokens that expire based on customer's preferences. The token carries all the information the apps and micro-services need to act on behalf of the user: userId, name, entitlements, and so on. There is ability to authenticate users against enterprise OAuth 2.0 providers, such as Office 365 and Salesforce. The authorization server is built using Node.js backend, AngularJS and Bootstrap. It is deployed using Docker to AWS ECS. I built the Node.js and Angular part of it, and the UX team styled it using Bootstrap and CSS.
Technologies used include Node, Angular.js, Cassandra, PostgreSQL, Java, Docker, AWS, Spring, ActiveMQ, Oﬃce 365 REST API, AWS SQS, S3, AWS Machine Learning, and other AWS technologies.
Oct 2015 - Present
As a technology expert, I contribute blog articles to "Computerworld" on the topics of cloud computing, big data, and building apps for the cloud. With each article my goal is to share my knowledge and experience, and to explain complex topics to my readers. Each post reaches a worldwide audience of hundreds of thousands of "Computerworld" readers.
Assistant Vice President, Lead Developer
Jersey City, NJ
Apr 2005 - Nov 2011
At KCG I worked on the OMS platform used by all sell-side traders at Knight. Early on I proposed and lead the migration from WebLogic to a light weight application server platform based on Spring. I sought out leadership opportunities and in the process obtained Series 7 General Securities Representative registration. Later on I moved on to work on the Knight Direct EMS platform. Throughout my tenure at Knight, I was instrumental at reducing devops costs, eliminating trading errors, and improving trading systems performance.
Technologies used included: Java, TIBCO, Spring, Oracle and Sybase SQL, propreitary socket protocols and compression algorithms, and domain-specific languages.
Director of Engineering, Lead Developer
Aug 2004 - Apr 2005
As one of the shareholders of a startup sold to Convergys I led the effort to build an Eclipse plugin that would help advanced users and developers build XML applications and process XML documents utilizing multiple schemas. Used open source components to the maximum extent possible. Co-authored patent applications and was instrumental in selling the company to investors.
Following the Convergys acquisition of the startup I worked on a multi-jurisdictional payroll automation PaaS utilizing the patented technology. That included an implementation of an ETL data mapping tool based on the technology acquired by Convergys. Part of the project involved automation of error detection to eliminate manual effort on behalf of HR and payroll reps. Technology used: Java, Tomcat, XML, XSD
Patent ﬁlings: "System and Method for Mixed Language Editing" and "System and Method for Document and Data Validation"
Feb 2003 - Aug 2004
As one of the shareholders of this startup I lead the effort to build an Eclipse plugin that would help advanced users and developers build XML applications and process XML documents utilizing multiple schemas. Helped the business minimize costs by setting up an efficient environment for telecommuting. Used opensource components to the maximum extent possible. Co-authored patent applications and was instrumental in selling the company to investors.
Technologies used included SWT, Swing, XML, XSLT, Xalan, Xerces, Apache, Tomcat, Mozilla, XUL, XML Schema, Xindice, XMLDB, Linux, JUnit
"System and Method for Mixed Language Editing" https://patentimages.storage.googleapis.com/pdfs/US20050268233.pdf
"System and Method for Document and Data Validation"
New York, NY
Sep 2000 - May 2003
Taught the basics of UNIX and Java, Java development under UNIX, UNIX administration and shell scripting, and software engineering process. Received high ratings from students.
New York, NY
Jun 2001 - Dec 2002
Worked on JPMorgan Asset Management Global Cash Portal application. Identiﬁed ways to reuse legacy cod and developed a conﬁgurable framework for interfacing with a money market fund trade routing system.
Dulin Research Corporation
Founder and Principal Consultant
New York, NY
May 2001 - Jul 2003
I founded and operated a privately held consulting firm focusing on SOA, enterprise application integration, and software engineering process improvement in the financial industry in the New York City. I was aiming to build a business around OpenAdaptor (https://www.openadaptor.org). My company was a sub-contractor on a big project in finance where I was able to utilize OpenAdaptor. Eventually I learned that I needed a bigger sales operation to grow and instead joined ConfigureCode (see above)
Nov 2000 - May 2001
Contributed to the design and implementation of an integration platform. Helped improve efficiency and productivity through the use of open source technologies and facilitated code reuse across different parts of the product.
New York, NY
Jun 2000 - Oct 2000
May 1998 - Mar 2000
IBM Global Services, Southbury, CT
IBM Research, Yorktown Heights, NY
B.Sc. in Computer Science
1996 - 2000
Earned bachelor's degree in Computer Science. While at Clarkson, I founded Clarkson University Linux Users Group and worked in campus IT as a UNIX admin.
New York University
M.Sc. in Computer Science
2000 - 2004
Earned master's degree in Computer Science. My focus was on software engineering methodology and practices as well as application server design and implementation.
- Cassandra, PostgreSQL, Sybase, SQLite, SAP HANA
- HTML 5, AngularJS, JQuery, JQuery Mobile
- Docker, Linux, shell scripting, automation
- AWS, Office365 API, Azure
- Messaging, TIBCO, ActiveMQ, JMS, Streaming
- Public speaking, team leadership
- Thought leadership, persuasive writing
- Financial technology (#fintech) background
- High performance computing, high frequency trading