James Sorce, Developer in Fanwood, NJ, United States
James is available for hire
Hire James

James Sorce

Verified Expert  in Engineering

Software Developer

Location
Fanwood, NJ, United States
Toptal Member Since
January 1, 2019

James has had a long career providing technology solutions that solve challenging problems. Software engineering is his craft, and he always seeks to learn to improve the quality of his work continuously. His past employers and co-workers value James for his ability to quickly understand a problem domain, for his clear and open communication, and for producing timely, well-organized technological solutions.

Portfolio

Client (via Toptal)
Atlassian SDK, Spring Boot, Java
Client (via Toptal)
Mockito, MongoDB, TypeScript, Java, Spring Boot, React
Self-employed
Python, Google App Engine, Firebase, MySQL, Java Servlets, CSS, HTML, Node.js...

Experience

Availability

Part-time

Preferred Environment

Git, Visual Studio Code (VS Code), IntelliJ IDEA, Eclipse IDE

The most amazing...

...thing I've ever done was taking a legacy system that was a support nightmare, and completely redesigned it to become a linchpin of our firm's technology.

Work Experience

Back-end Developer

2019 - 2019
Client (via Toptal)
  • Designed and implemented a major refactor of a popular commercial Atlassian Confluence spreadsheet macro's backend. Changed primary key from integer to UUID for Active Objects (an object relational mapping layer within Atlassian Java SDK), which allowed for macro data from different Confluence instances to be merged, avoiding prior problem of primary key collisions.
  • Wrote migration code to convert to new data model on Atlassian Confluence macro application upgrade.
  • Implemented REST endpoints which would allow migration processes (such as those running on AWS) to query for data needed to perform data mappings on Atlassian Confluence macro upgrade.
  • Used Apache POI (Java API for MS Documents) to add functionality allowing spreadsheet macro to export an Excel worksheet that mimicked data protection attributes of originating macro.
Technologies: Atlassian SDK, Spring Boot, Java

Full-stack Developer

2019 - 2019
Client (via Toptal)
  • Added UI functionality to a React web application by using Material-UI components and custom created React components.
  • Implemented RESTful controller endpoints for several web applications' back ends using Java under Spring Boot framework.
  • Created cleaner, clearer logic to a back-end email functionality by refactoring the implementation of a chain-of-responsibility pattern in Java on Spring Boot.
  • Added unit and integrated tests on several web applications' back end written in Java, using JUnit and Mockito.
  • Implemented tests for React components and TypeScript/JavaScript code using the Jest testing framework.
Technologies: Mockito, MongoDB, TypeScript, Java, Spring Boot, React

Entrepreneur

2009 - 2018
Self-employed
  • Developed a web-based virtual whiteboard application which allows users to collaborate in real-time. The app is a single-page application which allows users to edit a graphical document jointly. Changes made by any user are reflected in real time in other users' sessions. The app was built with JavaScript and jQuery on the browser side and uses Google's Firebase to store data and distribute it among user sessions. The browser communicates with the back-end using Firebase API.
  • Created a JavaScript library for building browser-based card games. The library handles functionality common across games, rendering a user interface, and capturing browser events. A library user can focus on game logic and avoid reproducing boilerplate code across game applications.
  • Developed iOS app prototypes in Swift using the Xcode development tool.
Technologies: Python, Google App Engine, Firebase, MySQL, Java Servlets, CSS, HTML, Node.js, jQuery, JavaScript, Java

Senior Software Developer | Project Manager

2001 - 2009
Bear Wagner (A Subsidiary of JPMorgan Chase)
  • Led a project to replace a legacy application ecosystem which performed a core function of the firm, namely collecting trade execution data and making it available to other applications in real time.Replaced a number of legacy C++ back-end applications with a new suite of Java applications that were designed from the top down to be modular and reusable.
  • Developed a message server-based pub/sub system in Java for use in multiple applications. The client components were created in Java and C# to allow clients to publish and subscribe.
  • Designed a Microsoft SQL Server database schema to house trade data. Created a series of tables, views, and stored procedures for persisting and retrieving data, and for enforcing business rules on data. Created a Java API layered over JDBC for accessing trade data in an object-oriented fashion.
  • Architected a trading compliance system. The system took raw trading data, consisting of tens of millions of records per day, in flat file format, and put the data through an ETL process which resulted in database records being created for various events. Reports were built from the transformed data and provided to traders to identify possible compliance violations they could rectify. The system was built in Java and was extendable by allowing pluggable Java classes to be instantiated at runtime via reflection.
  • Worked directly with traders to create a C# desktop application for recording orders and trades they placed via phone, and for which no other electronic record existed.
  • Designed and implemented a P&L server in Java which computed real-time profit and loss for firm's accounts. Server gathered and tied together both real-time quote and trading data, and pushed computed P&L out to web and desktop clients.
  • Simplified subscribing to Activ for real-time stock pricing by creating a Java component that wrapped the complex API provided, and exposed a cleaner, streamlined API.
Technologies: Shell Scripting, Shell, JavaScript, Sybase, Oracle, Microsoft SQL Server, C, C++, Java

Software Engineer

1996 - 2000
S&W Innovative Solutions (Contractor for Lockheed Martin)
  • Added functionality to numerous human resources applications by closely working with end users to determine their business needs and to formulate requirements.
  • Helped the company reduce the costs of software licenses for users by implementing an internal web application which functioned as a facility-wide (approximately 3,500 employees) software license request/tracking system. The web server functionality was implemented via C++ CGI scripts.
  • Assisted Lockheed Martin's application development and maintenance department in achieving Y2K compliance. Reviewed the code of numerous internal applications and identified and documented potential Y2K problems. For each at-risk application identified, I created a remedy plan which detailed code changes and a test plan. Implemented code changes and ran tests in conjunction with users.
  • Created a reporting tool in C++ which allowed managers to track calls made from department phones. The application parsed raw phone data from company internal phone switch and performed SQL queries to join employee and manager data.
Technologies: Shell, JavaScript, HTML, SQL, CGI, C, C++

Aho Corasick String Matching Algorithm | Java Implementation

https://github.com/jscorch/aho-corasick-java
Aho Corasick is an efficient string-matching algorithm that can locate all occurrences of any number of keywords in a string of arbitrary size. Working from the original paper describing the algorithm, I developed a version in Java for my personal use.

Floor Trading Compliance System | Bear Wagner, JPMorgan Chase

Working with a business analyst, I created a daily reporting system which was designed to help our NYSE floor traders recognize and correct potential compliance violations.

I created an automated process which took in gigabytes of flat files, performed an ETL (extract, transform, load) procedure on the data and created database records representing compliance events. A report builder tool was then run off of those database records and produced a PDF report for the floor traders.

By putting this system in place, potential compliance violations went quickly from thousands daily to near zero.

I created this system in Java and designed it to be highly modular. The system could handle new compliance event types by implementing a Java class which conformed to the needed interface, then making a change to the application's configuration. The app would instantiate the new class at runtime via reflection and include that class in its processing.

Position Server | Bear Wagner, JPMorgan Chase

I designed and created a position server framework which was the central point of collection and distribution for all the firm's off-floor trading. I also created reusable components that provided functionality for different tiers of the project's architecture. Java and SQL were among the main technologies used.

I replaced the legacy system "in-place," that is I introduced reengineered components and retired legacy components with no disruption to end users. By creating this system, I effectively freed both developers' and end users' time from focusing on support issues to being able to focus on their primary business tasks.

React Multiplayer Game Prototype

I developed a prototype of a browser-based multiplayer game. Browsers would use WebSockets to communicate via a back-end server, and the game state was updated in real-time using React in the browser.

Languages

Java, JavaScript, SQL, HTML, CSS, Python, C++, C, TypeScript

Other

Freelancing, RESTful Microservices, Shell Scripting, CGI, Pub/Sub

Libraries/APIs

REST APIs, jQuery, Node.js, Java Servlets, React

Tools

Git, Eclipse IDE, IntelliJ IDEA, Shell, Atlassian SDK, Grunt, Apache Maven, Microsoft Visual Studio

Paradigms

Object-oriented Programming (OOP), Test-driven Development (TDD), Agile Software Development, REST

Platforms

Eclipse, Visual Studio Code (VS Code), Firebase, Oracle, Google App Engine, Docker

Storage

MySQL, Sybase, Microsoft SQL Server, SQL Server Management Studio (SSMS), JSON, MongoDB

Frameworks

Mockito, Spring, Spring Boot

1992 - 1994

Bachelor of Science Degree in Computer Science

Binghamton University - Binghamton, NY, USA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring