Post Job Free

Resume

Sign in

Software Engineer Senior

Location:
New York, NY
Posted:
January 22, 2024

Contact this candidate

Resume:

John Cowan

New York City area or remote only 212-***-****

Work authorization: Citizen ad20ec@r.postjobfree.com

PROFESSIONAL SUMMARY

Senior level back-end or full-stack programmer, document analyst, and ontology developer with experience in full-life-cycle work across multiple technologies. Experience with team leadership (not hire-ad-fire management). Both formally and informally, including mentoring. Very flexible, fast learner, proven ability to adapt to new technologies.

Industries:

15+ years in financial services

6 years in news wire services

3 years at Google

3 years in online publishing

TECHNICAL SKILLS

Programming languages:

Scala (2 years), Java (13 years), Python (6 years), Perl (5 years), JavaScript (2 years), Scala, C, UNIX/Linux shell and standard toolkit, SQL, C, and many others

Strong knowledge of the UNIX/Linux API including sockets. In-depth knowledge of UNIX/Linux /BSD OS and development tools including system commands, ‘awk’, ‘make’, ‘sed’, version control tools, shell scripts, etc. Very strong knowledge and experience with XML (including Atom, XSLT, XML Schema, RELAX NG and Web Ontology Language) and Unicode

Automated many development and testing steps using shell scripts to reduce the development time

Operating systems and environments:

Solaris (5 years), Linux (20 years), FreeBSD (2 years)

Functions:

Document design, schema design, programming, standards development, presentation, R & D, systems design (structured, object-oriented, flow-based), database design, design walk-through and review, code walk-through and review, program testing, product testing, documentation, occasional systems administration as needed

Deep experience with both REST and non-REST (microservices) styles of APIs on both server and client sides.

PROFESSIONAL EXPERIENCE

BANK OF AMERICA, New York, NY Nov 2022 – Apr 2023

Senior Software Engineer

Added support for authentication and authorization to Global Stock Loan API.

Wrote a generic conversion utility to convert between an AMPS publish/subscribe topic and a corresponding Oracle database table. The details of the conversion from topic to table are driven by a custom JSON file. The utility is integrated into the bank’s eixstin batch systems so that it can be run daily.

KYNDRYL, New York, NY Mar 2022– Nov 2022

Senior Software Engineer

Led a conversion effort for a medium-sized data lake for client operations

Switched from Java synchronization to Oracle PL/SQL synchronization. This involved writing PL/SQL scripts to fetch the data from MS SQL Server and other databases and pushing it into Oracle.

eBREVIA, New York, NY May 2019 – Jan 2022Senior Software Engineer

Fixed many complex and long-standing bugs in the Java code base

Designed a health checker for the whole multi-server system

Modified user-level reports to provide the user’s local time

Greatly enhanced a statistically-based open-source morphological segmenter written in Python. My contributions included processing whole texts, dividing German words at multiple points, and using open-source German word lists to verify the results of segmenting

Implemented many new features from end to end using Java and Angular

Used AWS EC2 and S3

SEAMLESSDOCS, New York, NY Aug 2018 - May 2019

Senior Software Engineer

Wrote code in Scala (using the Slick library for PostgreSQL) as part of a complete rewrite of the company’s main product, a PDF-to-webform conversion service and content management system for state and local governments

Performed extensive code review and security remediation both the new system and the old system (in PHP)

Provided and reviewed technical design documents for several different projects with details on the current system, research done, possible alternatives, and the preferred alternative, making it possible to create tickets for the implementation

Used AWS EC2

PRECISION HEALTH AI, New York, NY Nov 2017 – Aug 2018

Senior Software Engineer

Wrote Python code to merge medical ontologies available from OMOP, UMLS, RXNORM, and drugs.com into a SQL database and wrote SQL queries to retrieve the merged information.

Mentored a junior programmer extensively, including design advice, API review, and code review

Helped to design the data flow for the company’s proprietary AI engine

Used AWS EC2 and S3

1010DATA, New York, NY July 2016 – Sep 2017

Senior Cloud Engineer

Lead the project to extend the company’s “big data” management and analysis platform onto AWS.

Wrote benchmarking software to discover the appropriate VM and storage types for 1010Data’s applications, including improved disaster recovery and a not-yet-released project

Contributed to the ongoing migration from Windows Server to Linux on AWS EC2, EBS, IAM, Lambda, and other AWS services.

Technical interviews for many intern positions

PULSEPOINT, New York, NY Mar 2016 – Jun 2016

Senior Software Developer

Developed the automated Facebook marketing and reporting interface using Scala and Akka with MongoDB. This involved integrating the existing Facebook system with the new interface.

TABLET HOTELS, New York, NY Jul 2015 – Jan 2016

Software Developer / Team Lead

Permanent full-time position as back end team lead

Maintained and developed an online hotel reservation application in Python using MySQL

Introduced modern development processes including unit testing, enhanced code review, and systematic use of Git

Designed and ticketed out an interface to Expedia to improve Tablet's reach and stickiness

Led a task force to re-engineer the back-end software to clean up many years of technical debt

Used AWS EC2 and S3

BANK OF AMERICA, New York, NY Oct 2014 – Jul 2015

Software Developer

12 month consulting position working in core Python development in the Quartz core team

Developed a tool for detecting anomalous trading events and displaying them to auditors

Developed automated tools for checking and displaying team-level annual audits

AMERICAN MEDIA INC. (AMI), New York, NY Jul 2014 - Oct 2014

Software Architect/Engineer

This was a week-to-week consulting contract for system design, Scala and Python programming

Enhanced a set of APIs providing a proprietary back end for AMI's in-progress content management system. The system is written in Scala and needed a set of extensions for both the ingestion and retrieval systems

Designed an improvement to AMI's proprietary search engine to prevent it from returning links to properties that were not available to the user performing the search

Wrote functional tests in Python using AMI's proprietary connection library

LEXISNEXIS, New York, NY Jun 2010 – Mar 2014

Senior Content Architect / Ontologist

Designed and documented modular entity schemas that specify the standard LexisNexis representations of information about judges, legislatures, expert witnesses, and commercial organizations

Reviewed and updated modules written by other team members, and led the reviews of my own modules

Enhanced a widely used schema module for legal citations to handle cases where text explaining the purpose of the citation appears in separate sections of a document)

Wrote and supported several internal tools in Perl and XSLT for crude XML analysis, generating "version 0" schemas reflecting what is actually present in large samples of existing documents (up to a million documents per run)

Led the development team for the Lexis Content Ontology, a high-visibility, high-pressure, loosely specified project with a hard deadline for its first version

Learned essentially from scratch the principles of ontology design, how to convert logical data models from PowerDesigner, and the Protégé OWL editor

Delivered six major sub-ontologies based on the entity schema modules and data models, contributed to all other sub-ontologies, and reviewed all team results, making possible the on-time delivery of the ontology

Developed a strategy for migrating all schema development source control from the LexisNexis legacy system (IBM ClearCase) to Subversion and implemented this migration

Identified platform requirements, wrote installation and migration plans, and communicated strategy to the architecture team

Implemented a continuous-build server for schemas analogous to those used for code

GOOGLE, New York, NY 2009 – 2010

Developer Advocate (Internal)

Led Google Data API orientation, design review, code review, pre-launch, and new technology evangelism meetings for about 25 Google service teams, including Google Book Search, Calendar, Contacts, Spreadsheets, and Webmaster Tools

Wrote and maintained a variety of checklists so that others could lead these meetings in future

Wrote code and configuration files for a sample Google Data API to be used by Google engineers to help them develop their own APIs

Wrote internal programmer documentation, including feature design documents and HOWTOs, on issues like specifying postal addresses and handling unauthorized requests among others

Maintained the extensive (25-page) internal Google Data API FAQ

Wrote extensive and detailed reviews of many internal proposals

Interviewed 35 candidates for software engineering jobs at Google

GOOGLE, New York, NY Jul 2007 – Apr 2010

Senior Programmer Analyst 2007 – 2009

Designed a backward-compatible standard format for all the errors reported by the Google Data API engine and the various services that expose GData feeds, and provided a central internal registry of those errors

Made extensive modifications to the internal Google Data APIs engine to bring it into full compliance with HTTP, specifically to support standard concurrency control

Wrote Google's XML Document Format Style Guide, published at http://google-styleguide.googlecode.com/svn/trunk/xmlstyle.html

Earlier work history available on request.

EDUCATION

Ph.D. coursework in Social Systems Sciences, UNIVERSITY OF PENNSYLVANIA

B.A. with honors in Communications & Mass Media complete except for thesis, CITY COLLEGE OF NEW YORK

Physics coursework, CASE WESTERN RESERVE UNIVERSITY

SPECIAL XML ORGANIZATIONS

Member of the W3C XML Core Working Group and their predecessors, the Infoset and Linking Working Groups

Editor of the XML Infoset and XML 1.1 W3C Recommendations

Member of the former OASIS Entity Resolution and RELAX NG Technical Committees

Provided the base draft for XML Catalogs from which the committee built the OASIS standard

Individual member of the Unicode Consortium and regular participant on the Unicode members-only mailing list, Unicore

OPEN SOURCE

Sole author of Moby Latin and Whacking Latin, keyboard drivers for Windows that allow users to easily type almost 1000 different characters

Sole author of TagSoup, a SAX parser written in Java and XSLT that makes HTML look like well-formed XML to applications

Full details available at http://www.tagsoup.info

Contributor to Chicken Scheme, Chibi Scheme, and Q/Pure programming languages

Editor and major contributor to the R7RS-large standard for the Scheme language, now ongoing

TEACHING / PRESENTATION

Taught popular and well-received tutorials at the XML Conference, 2001-05 and at Extreme Markup Languages 2004–2006 on Unicode, RELAX NG, W3C XML Schema, and the proposed XHTML 2.0 standard

Presented at Balisage 2013 (successor to Extreme Markup) on document transformations based on source and target schemas

Peer review for papers submitted to the Extreme Markup/Balisage conference, 2005–present

PUBLICATIONS / BOOKS

The Complete Lojban Language Logical Language Group, 1997

What Is Lojban? (editor). Logical Language Group, 2003

Revised7 Report on the Algorithmic Language Scheme (co-editor). Scheme Language Steering Committee, 2014



Contact this candidate