![](images/avatar.jpg)
About Me
Hello! I’m Joel York. I am passionate about software design and elegant code. I am a skilled Software Engineer and a master of applied best practices in real world situations.
Email
Joel.York@gmail.com
Phone
+1 847-530-6931
Address
Greater Chicago Area, Illinois, U.S.A
Professional Skills
C++17
Golang
Python
Git / Github
Linux
MySQL
Other techincal skills:
Computer Languages | Java, Python, C#.NET, C, SQL, Perl, HTML, CSS, Shell |
Development Tools | Visual Studio Code, Visual Studio, Jenkins |
Databases | Microsoft SQL Server, Microsoft Access |
Network Protocols | HTTP, TCP/IP, Winsock, FTP, SMTP, DNS, POP3, LDAP |
Operating Systems | Mac OS X, Windows, Android, Unix |
Work Experience
Software Engineer at Cisco, Cloud and
Network Security division
May 2021 - Present
- Adapted Golang open source DNS project to serve as load balancing, geographically aware DNS resolver for Cisco's Secure Web Gateway.
- Created tools for DNS resolver for operational support using Jenkins, Python and scripts.
- Designed and developed dashboard to display DNS status and operational information for support team to identify issues and drill down into specific problems.
- Resolved security concerns in large Java codebase by updating components and applying mitigations.
- Participated in agile development process via standup meetings, code reviews, grooming and planning sessions.
Senior Software Engineer at
SecureTrust
November 2019 - April 2021
- Developed and maintained application to help merchant's computer systems conform to PCI DSS (payment card industry data security standards) primarily in C++.
- Lead an effort to conform to Apple's requirements for MacOS security applications, including signing and notarization.
- Participated in agile development process via daily standup meetings, code reviews, bi-weekly grooming and planning sessions.
Software Engineer at Trading
Technologies Intl
February 2019 - October 2019
- Created C++ service to connect to a Bitcoin exchange and download pricing information using Websockets.
- Prioritized login requests to get users connected quickly even in the presence of high network traffic.
- Modified C++ high availability, low latency service to continue to function in the event of administrative server failure.
- Participated in agile development process via daily standup meetings, code reviews, weekly grooming and planning sessions.
Software Engineer at Groupon
April 2018 - February 2019
- Refactored Golang service hosted in Docker container to move from handling single user authorizations to servers to authorization groups of users to groups of hosts.
- Created process to get proper approval for changes that impact hosts handling SOX/GDPR sensitive data and create an audit trail to ensure policy compliance.
- Added new forms, updated and maintained Ruby on Rails applications running in a Docker container that provided an interface to the Golang service.
- Developed unit tests as new features were developed to function as part of our CI process.
- Participated in agile development process via daily standup meetings, code reviews, bi-weekly grooming and planning sessions, and retrospectives.
Semior Software Engineer at FactSet
Research Systems Inc.
July 2011 - March 2018
- Refactored C++ data access code to yield 10-30% speed improvements in client-side reporting on Linux platform.
- Designed and developed ETL tools in Perl, C++, and Shell on Linux platform to import data feeds.
- Designed and developed C++ API for accessing metadata and relationships of financial debt instruments.
- Developed web service to take customer supplied financial instrument identifiers and resolve to proprietary FactSet identifiers, as of a certain time.
- Assisted in company-wide modernization effort to migrate from legacy C++ / VMS system to Linux with C++11.
- Developed web service to lookup debt instruments and return database storage information.
- Rewrote an old legacy ETL tool to pre-check the data for inconsistencies and enclose all inserts to the database in transactions.
- Performed maintenance as needed as part of on call duty.
- Mentored new employees on current projects and company specific requirements to bring them up to speed quickly.
Interactive Programmer Senior at The
Oklahoman
May 2009 - June 2011
- Developed Android application to display newspaper content and play video for subscribers. Deployed to the Android Market.
- Managed technical implementation of FAST Enterprise Search Platform for real-time search of newspaper content dating from 1981 to present and business and entertainment content with a total content size in excess of sixteen million documents.
- Developed PHP system to capture data feed for car available for sales into MySQL database.
- Developed Java program to send updated documents and expire old document in search system from MySQL database.
- Developed collection of PHP and Shell scripts to send updated data to cloud-based search system.
Software Engineer at NCI Building
Systems, L.P.
March 2009 - April 2009
- Developed and tested changes to builder system reports in Visual Studio with C++ and Microsoft Access.
Software Engineer at Navigon,
Inc.
April 2007 - November 2008
- Designed, developed, and tested programs to test functionality of GPS navigation software in C++ with MFC.
- Designed, developed, and tested web application in C# to reserve test servers for tests and to distribute long running tests runs across non-reserved test servers.
Programmer / Analyst at Graduate School
of Business at the University of Chicago
March 2003 - April 2007
- Designed, developed and implemented user account provisioning system with C# for Active Directory, iPlanet LDAP, and Ingres and SQL Server RDBMS systems.
- Developed application in C# to integrate legacy Ingres DBMS and Java-based online application system.
- Provided support and enhancements for legacy applications in C++ and OpenROAD for student management, and provided reporting with C++ custom applications and Crystal Reports.
- Developed single sign on functionality for enterprise web applications.
- Acted as member of architecture team for development of standards and methodologies for coding, peer code review, and reusable code library development base on Industry standards and accepted best practice guidelines.
- Designed and developed data access layer for new applications in C# and DBMS APIs.
Software Engineer at Motorola
April 1999 - November 2002
- Designed, implemented, and tested a parser for ASN.1 messages from the cell network using C and C++, while following SEI process model.
- Developed and maintained an internal website for our department using Perl to develop dynamic content and the Apache webserver to serve content. Setup areas for specific teams within our department to upload and manage their own content.
- Developed custom reports for software defect reporting, using Perl and shell script to extract the data, Java to parse the numbers, and MS Access to display the data in graphical format.
- Designed build process (based around ClearCase, ClearDDTS CM tools) and coded several tools in Perl to speed up the build process while removing the chance for any mistakes for our cell phone software.
Software Engineer at Anyware
Technology, Inc.
January 1998 - March 1999
- Developed and debugged a GUI for sending and receiving email securely using Java and Swing for the interface and used SSLava and JSafe for the security implementation.
- Gathered requirements, designed the protocol and architecture, and developed the code for one-on-one text based chat using Java socket classes. Options were included with the design to make the chat encrypted for business use.
- Advocated, installed, configured, used, and maintained CVS, removing time lost (about 30% of the day) dealing with version change conflicts.
- Represented company and provided on site tech support at trade shows. Demonstrated technology and explained product usage to potential customers
Staff Analyst at Failsafe Computer
Systems, Inc.
May 1994 - December 1997
- Created project architecture for large project to convert legacy COBOL terminal-based app to Windows GUI application. Made appropriate technology choices. Created application to do the actual conversion using C, yacc, and lex. Created COBOL BNF grammar. Implemented a shared dynamically linked library (DLL) with C++ to run the converted client code, using PowerBuilder on Windows as the user interface. All server access used remote procedure call (RPC) to transparently access the legacy server on a Tandem mini-computer system.
- Installed Windows 3.x / 98 / NT operating systems on new computers. Installed network cards in computers and connected them to a TCP/IP network I laid out and managed. Setup backup system for entire network on Windows NT using a tape backup system.
- Advocated, installed, configured, used, and maintained MKS RCS (now MKS Source Integrity), removing time lost (about 20% of the day) dealing with version change conflicts.
- Represented company at annual trade shows. Set up computers and provided tech support on site. Explained product and gave demonstrations to potential customers during show.
Intern at Failsafe Computer Systems,
Inc.
May 1993 - May 1994
- Investigated a variety of technologies for possible use in new products. Some technologies researched include IBM OS/2, and several Windows technologies: dynamic data exchange (DDE), dynamically linked library (DLL), and Winsock.
- Converted the Remote Procedure Call (RPC) library designed for use on Sun Unix platform and proprietary TCP/IP libraries on Windows to use Winsock on Windows 3.x/95. Also fixed code to be 16-bit and 32-bit correct regardless of platform.
- Designed and developed small GUI application project using cross platform toolkit to download data from Tandem mini-computer.
Education
Bachelor of Science in Computer Science from Illinois Institute of Technology
1990 - 1994
Foundations in algorithms, engineering practices, programming languages, and
operating systems.
https://github.com/jyork
https://www.linkedin.com/in/joel-york-software/