Responsibilities included developing a private API for internal use at Syncarpha. I was the sole developer of the API as of the time of my departure. The API had a vast suite of tools and CRON jobs that were the backbone of many important accounting and asset management processes. The API interfaced with a number of third party APIs including: Sage Intacct, Box.com, SmartSheet, ReTool, and proprietary APIs within the solar industry.
A massive accomplishment of the tool was creating a robust library to interface with Intacct’s SOAP XML API in a repeatable and iterable way. This was done by designing a system via functional programming. The tool included but not limited to: the ability to parse an arbitrary JSON object which matches the schema of an object in Intacct into the appropriate XML insert or update query and effortlessly update that object. In the case of objects that had required fields that were found to be missing the program could optionally make a get request (using my api’s tools) to fetch the required data from the object before executing the insert. The tool was capable of doing fast and efficient batch inserts of thousands of records at once and was capable of iteratively fetching an arbitrary amount of data to circumvent the restriction of only allowing 2000 results per individual request. The tool also featured robust error reporting and cataloging tools. Any time an error occurred, if it was a data-entry/user error the API would be able to detect that and notify the user of the error and suggest potential fixes without IT intervention, and if it was a logical error or a bug, the API would know and notify IT instead with a stack trace of the error, a timestamp and details of actions that were taken that lead up to the error. This was achieved by creating an action queue that cataloged every action the API took in order to allow simple tracing of user activity and errors at any time.
I developed custom software in Rust to automate parts of the employee onboarding process. An example application is an executable that would automatically register a network drive pointing to the company NAS and take an inventory of the computer’s specifications and important applications installed and store them in our database. I established a database of employee information to enhance security and access to tools made by IT. This employee database was an integral part of the creation of Syncarpha’s proprietary task-management system.