Martin Goldberg, Developer in New York, NY, United States
Martin is available for hire
Hire Martin

Martin Goldberg

Verified Expert  in Engineering

Software Developer

Location
New York, NY, United States
Toptal Member Since
May 21, 2020

Martin is an innovative and motivated developer who has come up with many elegant solutions to complicated problems. Thanks to his excellent managerial, analytical, and interpersonal skills, Martin oversees projects with ease, communicates exceptionally well, and can effectively liaise between business and programming sides. Where Martin shines is his ability to meet challenges and to innovate when solutions are required.

Portfolio

Tinski-Tech
CSS, HTML, TypeScript, Rust, Tauri
Fyooshe LLC (via Toptal)
Python, Kivy, Python 3, Socket Programming, Raspberry Pi
CUNY Graduate Center
Multithreading, Socket Programming, Python, C#, Linux, Visual Studio 2015...

Experience

Availability

Full-time

Preferred Environment

Python, Computer, Linux, Databases, Back-end, SQL, Applications, .NET, C#, Visual Studio, MATLAB

The most amazing...

...project I've worked on is the creation of a smart environment including an interface that utilizes multiple threads with a communications protocol.

Work Experience

Solutions Architect | Applications Developer

2021 - PRESENT
Tinski-Tech
  • Developed ideas for a braille tablet. Designed and developed labelling for images being loaded onto the device. The device allows users to zoom in, as well as pan around the device, the labels had to accommodate this, and thus dynamically readjust.
  • Implemented an SQL database for the site to provide data to Razor pages.
  • Developed an editing application that lets instructors implement images on the tablet to allow adding labels. Labels included legends and long descriptions to aid with user comprehension.
  • Developed an app allowing instructors to load educational material such as in pdf format and allow them to extract the images for use in the labeling application.
Technologies: CSS, HTML, TypeScript, Rust, Tauri

Senior Software Engineer

2022 - 2022
Fyooshe LLC (via Toptal)
  • Developed an MVP version of a touch screen application run on a Raspberry Pi. I prepared the Raspberry PI with the required operating system and Python modules—Kivy and Pillow, the base modules used to make this application work.
  • Worked on a socket server that could read in images from another digital source, one that would shut down once all images were passed in was built to allow for updated image input into the system.
  • Built the client-server in Python, running on a Windows desktop. The system is designed to send a message to inform the server that all data has been sent.
  • Acted as advisor on what hardware to purchase and how the client could use and improve the product.
Technologies: Python, Kivy, Python 3, Socket Programming, Raspberry Pi

Ph.D. Candidate

2018 - 2019
CUNY Graduate Center
  • Built a prototype as a proof of concept for a dissertation on mobile cyber-physical system framework. Worked on Raspberry Pi and development in Linux using Python, also I2C.
  • Created a smart environment on a Windows server in C#, employing multithreading which included communicating between threads. Applied socket communication to build an interactive network.
  • Published papers on the subject; papers describe the work done.
Technologies: Multithreading, Socket Programming, Python, C#, Linux, Visual Studio 2015, Raspberry Pi, I2C, Algorithms

Ph.D. Candidate

2017 - 2018
CINY Graduate Center
  • Proposed a cyber-physical systems framework as a solution to the needs of disabled people when negotiating a signalized crosswalk.
  • Conceptualized a solution in response to the NYC DoT and Barcelona Dept. of Mobility call for innovation.
  • Used this as the basis of the dissertation and began the design of a proposed prototype.
Technologies: System Requirements, Requirements Analysis, Design, Systems

Ph.D. Student Working on Experimentation

2016 - 2017
CUNY Graduate Center
  • Experimented with Bluetooth Fingerprinting which was meant to help with localizing a cellphone.
  • Worked on 3D LIDAR generated data, including turning LIDAR data into PTX files for later use.
  • Developed code on edge detection in 3D models using Delaunay triangulation.
Technologies: 3D, C#, Image Processing, Computer Vision

Ph.D. Student

2014 - 2016
CUNY Graduate Center — CCCVCL at CCNY
  • Worked on Microsoft Kinect utilizing C# in WPF to test for face recognition.
  • Normalized face mask production by attained code through rotation and translation of the generated mask.
  • Re-engineered face tracking provided by Microsoft to do the work.
Technologies: Windows Presentation Foundation (WPF), Image Registration, Microsoft Kinect, Microsoft, C#

Solutions Architect | Applications Developer

2009 - 2009
Manhattan Telecommunications (MetTel)
  • Redesigned a payment portal by replacing an old Visual Basic app with a newer C# version separating the application from the SQL Server extended stored procedures that precluded the SQL Server upgrade.
  • Utilized WCF to facilitate a multiplatform interface to the payment processing app. This allowed interaction with a ColdFusion program using a web service.
  • Built a data access set of functionality based on a SQL Server statement that generated all tables and their properties.
Technologies: Windows Communication Foundation (WCF), C#

Founder | Self-employed Developer

2005 - 2009
Hands-on Data
  • Created this company in May 2005 and disbanded it in December 2009.
  • Developed the initial concept of helping small- and medium-sized businesses obtain websites that afforded them applications at a reduced rate.
  • Provided services so that multiple companies would each have a few applications built which would then be available to all companies utilizing Hands-on Data’s services.
  • Thought up of a way to dramatically reduce the cost of any single app. This was later deemed to be a precursor to cloud computing. Marketing was not successful and so, after a period, the company was used for acquiring corp-to-corp work contracts.
Technologies: IIS 6, Microsoft SQL Server, ADO.NET, ASP.NET, .NET, C#

A Mobile Cyber-physical System Prototype

https://academicworks.cuny.edu/gc_etds/3266/
As a part of my Ph.D. thesis, I built a prototype for how it would work was created. For this prototype, several aspects were dealt with.
Build:
1. A smart environment, i.e., a server that would anticipate connectivity via wireless communication and form an ad-hoc network.
2. The agent aspect of the system, i.e., the client system that would connect to the smart environment.
3. A language of communication.
4. Several other aspects of the smart environment and agent internet of things.
To facilitate the system, the server portion was built in C# in a console application that ran three main threads:
a) The main process. This process had an open port waiting for socket communication from a potential client. On receipt of the communication, this process would read the message and then act upon it. This included spawning new agent threads when a new client connected to the system.
b) A file watcher thread, whose purpose was to watch the FTP folder for incoming files.
c) The SE_Process thread (smart environment) which served as the backbone of the system. This process received messages designed for it from other threads and then acted upon them.
d) Agent threads were impermanent processes that communicated messages back to agents.

Agents' Internet of Things (IoT) for the MCPS System

https://academicworks.cuny.edu/gc_etds/3266/
I built Raspberry Pi single-board computers, the agent or client system that connected to the server system or smart environment was written in Python 3.

Two main pieces were created for the prototype with the understanding that more could be added if required. Using the language developed for this purpose, one machine was designated the personal information hub (PiH) of the agent system.
The main function of this device was to control the conversation with the server and to pass on instruction to other parts of the IoT.

The second Raspberry Pi computer was set up to take photographs and send them to the server. Thus, a command would come from the PiH, the image would be taken, and then sent back to the server via FTP.

All communication was done through socket communication with ports being known to each device.

Facial Identification with Microsoft Kinect

https://projet.liris.cnrs.fr/imagine/pub/proceedings/ECCV-2014/workshops/w22/W22-11.pdf
As a part of the work in the CUNY Visual Computing Lab, I worked on the Microsoft Kinect face tracking algorithm. My main contribution was building the WPF interface using C# and then reengineering the face-tracking algorithm to capture the points detected by the machine to generate a face mask and the rotation and translation to the 3D point set to create a forward-facing mask that could then be used for registration.

The basic project was taken up and developed into a gesture-recognition algorithm.

Payment-processing System

On this project, I've built several pieces in C# including the following:
1. The main processing system
2. A web-service interface for non-.NET applications to utilize

Using a WCF architecture, the system used an interface to accommodate the communication from outside. Class libraries were generated to give the system its shape and allow for data management. The back-end data access layer talked to a SQL Server database using T-SQL stored procedures.

In addition to the basic system, we added a ticketing system to generate tickets which allowed a second system to capture the tickets and display them as needed in other applications.

Survey Processing System Improvement

Given an incorrectly working application that was built to aid in processing survey data, we were then tasked with reverse-engineering the system, then correcting the problem, and finally to generate new screens.
The application was written in classic ASP 3.0. The back end was a SQL-Server database.

The program was built to provide similar data to unrecognized or ambiguous data entries. It considered partial strings for names and common nicknames, so Tom could be Tomas or Thomas, Jack could be John, and so forth.

The Tinskirox Website

I created this website for generating information among friends The site would load articles from an SQL Server database. These were displayed on a screen, the markup tags being part of the saved texts. The site could navigate between pages ensuring a limited visual on the page.

It was written in ASP.NET using C# with stored procedures in T-SQL from SQL Server databases.

To facilitate the input of the texts to the database, a WinForms application would read the text, allow for editing to match HTML tags, and upload it to the SQL Server databases. This was written in C#.

The site Tinskirox.com is no longer on the web.

Search Engine for a Recruitment App

I designed a search engine for a recruitment app; this included an advanced search. The app was built in ASP.NET and it was meant to aid recruiters in searching for potential employees based on various search criteria. It was based on a wireframe built by the architect and we also generated an interface.

Technologies: ASP.NET, HTML 4.0, JavaScript

Windows Active Directory Membership Condenser

A client was combining the memberships of two separate Windows Active Directory libraries. In the case of double entries, the system had to remove duplications. In order to manage this, we built an application in C# that also interacted with the Windows Active Directory through LDAP.

Hands-on Data Concept

A precursor to cloud computing (2005), we created a company with a specific design in mind. It took into consideration that small companies, as well as small departments within a large company, might need to rapidly expand their data needs.

Ideally a B2B interface between interested companies could be generated. To facilitate this, we created a table generator using C# which would take in the parameters and generate SQL Server tables with keys and build stored procedures to allow for an ASP.NET interface to talk to the data.

Library Catalog and Circulation App

A certain nonprofit with field offices in various countries needed a means for the field offices to store data.
Given a template of the required information, we built an application using MS-Access and VBA. The application allowed for cataloging and circulation management of the materials.

Marketing Calendar

I was brought in to solve an issue. The coordinator would receive marketing program and product information. This was presented on an Excel spreadsheet of 125 lines on a single page. The data was collected over a period of 30 days, sent in for processing within the next 30 days, and then after a 30-day evaluation, it would be returned to the interested parties.

The data was transferred into an MS=Access database. After numerous meetings to ascertain what the data meant, normalization of the data happened. Once an interface that was built-in VBA was devised. the company requested the generation of reports in MS Excel.

Once all was set up, managers were asked to review the system. They came back and asked for the system to be created in a web interface. This was done in ASP 3.0 (2001). Once the managers were satisfied with the result, they could input potential marketing plans and get instant information on how this might affect the management of marketing.

In short, a 90-day process was made near-instantaneous.
2012 - 2019

Ph.D. in Computer Science

City University of New York, Graduate Center - New York, NY, United States

2010 - 2012

Master of Science Degree in Computer Science

City College of New York (CUNY) - New York, NY, United States

JUNE 2004 - PRESENT

Microsoft Certified Application Developer

Microsoft

Languages

C#, T-SQL (Transact-SQL), Python, C#.NET, SQL, HTML4, HTML, C++, HTML5, JavaScript, C, CSS, Python 3, Rust, TypeScript

Frameworks

ASP.NET, ADO.NET, .NET 5, ASP.NET Core, .NET, Microsoft Kinect, Windows Presentation Foundation (WPF), .NET Core, Tauri

Libraries/APIs

Windows Forms (WinForms), Kivy

Tools

C#.NET WinForms, Visual Studio, Visual Studio .NET, Spreadsheets, MATLAB, Visual Studio 2015

Paradigms

Database Design, Desktop App Development, Requirements Analysis, Data Science, Parallel Programming, Socket Programming

Platforms

Raspberry Pi, Microsoft, Linux, Azure

Storage

Databases, Database Triggers, Azure SQL, Microsoft SQL Server

Other

Computer Vision Algorithms, Image Processing, C# Operators, Desktop App Design, Responsive Design, Scope Management, User Requirements, System Requirements, HTML Email, Accessibility, Presentations, Applications, Back-end, Computer, Algorithms, Windows Communication Foundation (WCF), 3D, Machine Learning, Networking, Networks, Data Compression, Video Compression, I2C, Systems, Design, Computer Vision, Image Registration, IIS 6, Multithreading, Data Compression Algorithms

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