Scroll To View More
Adam Wasserman

Adam Wasserman

Amsterdam, Netherlands
Member since April 21, 2017
Adam is particularly interested in multithreaded programming and distributing computing, however, any interesting challenge fits the bill. He believes that a successful project often requires a balance between following and breaking convention. He also prides himself on his excellent communication skills.
Adam is now available for hire
Portfolio
  • PositionTech
    Angular, TypeScript, PrimeNG, Android, Protobuf
  • CircleBlack
    Node.js, Angular, SAML, Liquibase, MySQL, WebSockets
  • Lille Group
    Spring (Security and RMI), Tomcat, Oracle, PostgreSQL, MyBatis, Amazon S3/AWS...
Experience
  • Java, 15 years
  • Perl, 7 years
  • Android, 4 years
  • Oracle, 3 years
  • JavaScript, 3 years
  • REST, 3 years
  • Public-key cryptography, 3 years
  • Node.js, 1 year
Amsterdam, Netherlands
Availability
Part-time
Preferred Environment
Linux, Git, Maven, Android Studio, Eclipse, Atom
The most amazing...
...thing I've coded is a PGP encryption library for Android.
Employment
  • Front-end Developer
    2017 - PRESENT
    PositionTech
    • Maintained and expanded an existing Android app using Protobuf to interface with back-end.
    • Supported and further developed a UI (based on Angular/TypeScript technology) using REST calls to interface with the back-end.
    • Collaborated with the in-house architect on the design.
    Technologies: Angular, TypeScript, PrimeNG, Android, Protobuf
  • Back-end Developer
    2017 - 2018
    CircleBlack
    • Created a SAML identity provider for single sign-on (SSO).
    • Overhauled the authentication strategies using Passport.js in Express.js (Node.js).
    • Implemented a message exchange server operating over HTTPS and secure WebSockets.
    • Generated use cases for a complex data feed.
    Technologies: Node.js, Angular, SAML, Liquibase, MySQL, WebSockets
  • Back-end and EDI Developer
    2013 - 2016
    Lille Group
    • Developed a HIPAA-compliant electronic health record (EHR) system written in Java.
    • Built a bundle of services that exposed data via traditional web browsers as well as mobile devices.
    • Created and maintained EDI interfaces based on the HL7 standard for updating patient records with lab results, doctor appointments, and demographics.
    Technologies: Spring (Security and RMI), Tomcat, Oracle, PostgreSQL, MyBatis, Amazon S3/AWS, GWT
  • Test Infrastructure Engineer
    2013 - 2014
    SVB | Sociale Verzekeringsbank
    • Established the architecture for running automated test scripts. The system, which is operated by the government of the Netherlands, makes social welfare payments to citizens. Based on IBM mainframes written in COBOL, the tests operated directly on the front-end.
    • Designed and implemented a thin-client tool for management of test scripts in Eclipse.
    • Expanded the core test engine which was written in Java and based on the TestFrame framework.
    • Implemented "action words" as defined by the test team.
    Technologies: Oracle Test Manager, Oracle Fusion, Eclipse Plug-in Development, TestFrame, Spring (Security), MyBatis, Tomcat, WebSphere
  • Software Engineer
    2012 - 2013
    Ministry of Justice, Netherlands
    • Optimized a JBoss app which was based on the Ministry's specific application that used FileNet. The application allowed access to documents, some of which were sensitive, based on credentials.
    • Implemented emergency bug-fixes on existing applications. A new version of the system was about to be released, but there were reliability problems involving the caching mechanism.
    • Established proper configuration and use of JBoss Cache.
    Technologies: JBoss (Cache, Clustering), JMS, Class Loading
  • Software Engineer
    2008 - 2012
    iBanx
    • Developed a risk-management tool for the operation, repair, and expansion of huge factories such as oil refineries running 24 hours per day.
    • Created custom modules for client-specific needs. These modules were written in Java and backed by a Drools rules engine.
    • Built an asset-management system for factory components; written in Java and backed by Drools.
    Technologies: Spring, Plexus, JBoss, Drools, Tomcat, WebSphere, Oracle
  • Software Engineer
    2011 - 2011
    Anva
    • Solved a bug emergency in an existing application with a hard deadline for Anva, a company that creates customized software for the insurance industry.
    • Built the software's components which exchanged messages via an ESB. The problems involved remote access via RMI of the ESB registry.
    • Reviewed the message exchange mechanism and made recommendations on improvements.
    Technologies: JBoss, JBoss ESB, RMI
  • Software Engineer
    2011 - 2011
    I Get It!
    • Developed a prototype for a menu application intended for restaurant chains which included a proprietary content management system.
    • Worked with Native Android (UI and services).
    Technologies: Android
  • Software Engineer
    2010 - 2010
    CliqDigital
    • Worked for CliqDigital which maintained a proprietary premium text messaging platform written in Perl. It was based in part on something that I had written for its predecessor, Blinck. My intimate knowledge of its inner workings was a unique qualification for this project.
    • Replaced the existing system with one written in Java using J2EE technologies. There was no documentation, but the existing system was the baseline and the new system had to behave exactly the same.
    • Created, with two junior programmers, a suite of E2E tests that functioned as the definitive technical determination of success.
    Technologies: EJB 3, JMS, JBoss, Perl, MySQL
  • Software Engineer
    2009 - 2010
    Unavalley
    • Adapted an existing premium text-messaging platform for a client's specific needs. Users subscribed via rich front-ends written in Flash and the traffic was provided by advertising affiliates.
    • Implemented the routing, tracking, and reporting services for advertising affiliates.
    • Worked with third parties to create interfaces for data exchange: status reports, subscriber activity, and payment.
    Technologies: Perl, PHP, MySQL, Apache, RESTful, Multithreading
  • Software Engineer
    2007 - 2008
    Compare Group
    • Worked for the company Compare Group which operates several sites in the Netherlands and Belgium where consumers can compare online prices for various projects. The platform scraped target websites and aggregated the data encountered there (products and attributes). Written in Java and backed by a series of SOAP web services.
    • Conduced emergency bug-fixing; the platform was delivered by a third party full of errors and missing a major functionality. It had a hard deadline to get it working. Worked closely with a test team in rapid iterations until all tests passed.
    • Introduced AOP as a non-intrusive technology to diagnose, supplement, and correct functionality.
    Technologies: Hibernate, Spring (MVC), JAXB, AOP, Tomcat, SOAP
  • Software Engineer
    2007 - 2007
    Venspro
    • Worked in a team on a variety of small projects, as needed. Venspro operated the Greetz brand of online cards and flowers.
    • Implemented the real-time data transformation as well as credit-card, bank transfer, and mobile billing interfaces.
    • Developed a thin HTML client with a Java/Spring back-end.
    Technologies: Spring (MVC), Hibernate, Tomcat, Oracle
  • Software Engineer
    2006 - 2007
    Glomobi
    • Swapped-out JBossMQ for the more advanced JBossMessaging in their proprietary premium text-messaging platform. Dealt with resolution of race conditions exposed by the update.
    • Built a freestanding interface to manage (start, stop, reload) endpoints using JMS and EJB. An endpoint is a combination of gateway and mobile short code where text messages originate and can be received.
    • Created a strategy for running the system in a cluster of JBoss nodes.
    • Implemented the strategy and demonstrated its viability in a test environment.
    • Deployed code changes to production in a non-clustered environment.
    Technologies: EJB, Timers, JMS, JBoss (Messaging, Remoting, Clustering), JMX, SOAP
  • Software Engineer
    2005 - 2006
    Philips IP&S
    • Developed an online product license verification system where customs agents checking cargo at the border could use the system to request documents confirming that the products were genuine.
    • Created a series of SOAP web services for receiving requests. The product universe varied considerably, a fact which had an impact on the schema describing our XML.
    • Ensured that the requests could be processed asynchronously. The software was backed by a state machine written in Java. The eventual output was a PDF sent via email.
    Technologies: SOAP, EJB, SAP
  • Architect | Software Engineer
    2003 - 2005
    Blinck International
    • Designed and implemented a platform written in Perl for delivering premium content via SMS/text-messaging to mobile users all over the world.
    • Conduced Apache configuration and optimization including Mod_perl.
    • Created and implemented modules to interface with gateways (text-messaging providers) for the purposes of sending text-messages, receiving status alerts, and billing.
    Technologies: Apache, Perl
  • Software Engineer
    2003 - 2003
    MarviQ
    • Worked on a single sign-on application based on the SAML and Liberty specifications for identity management.
    • Created a web-based application to keep track of billable hours (for internal use only).
    • Experimented with EJB technology deployed into WebSphere.
    Technologies: JBoss, Tomcat, WebSphere, EJB, Struts, SOAP, SAML, ATG
  • Software Engineer
    2002 - 2003
    Expresso Paper Platform
    • Worked in a team to build and expand an eCommerce message exchange connecting clients with suppliers in the paper industry. Orders arrived via SMTP (email) and were processed in a queue-like system (ECXpert), each segment in the pipeline feeding into the next. Message exchange between stops in the pipeline occurred via SOAP. ECXpert was cumbersome, CPU-intensive, and no longer being actively supported.
    • Replaced the ECXpert proprietary system with a series of JMS components replicating stages in the pipeline and a daemon using JavaMail to retrieve incoming SMTP messages and submit them to the first stage.
    Technologies: JMS, LDAP, JavaMail, XML, ECXpert, Oracle, iPlanet
  • Software Developer
    2002 - 2002
    Holland House
    • Benchmarked an existing, proprietary printer spooling system and set a baseline for further improvement.
    • Designed a new interprocess communication layer for their printer management system based on JMS.
    • Worked directly with architect to create prototypes as proofs-of-concept in migrating architecture from a proprietary system to a J2EE-based system.
    Technologies: JBoss (JBoss MQ), JMS, XML, Solaris
  • Software Engineer
    2001 - 2001
    KGBE
    • Designed and implemented a distributed content-management system for streaming video and audio. The content was used in a variety of branded media portals. Meta-data about the content was stored in LDAP. The web pages themselves were generated via JSPs with access to LDAP.
    • Worked directly with Flash designers to create a tool to allow them to plan content in time slots, similar to TV programming.
    • Ensured that the content management tool had to populate LDAP and copy the corresponding media files from the designer's machine to the appropriate locations on the server.
    Technologies: EJB, JSP, LDAP, JBoss
  • Software Developer
    2000 - 2001
    Anachron
    • Worked on an online bill presentation and payment system.
    • Created a payment interface for Equens (Interpay).
    • Functioned as the team lead.
    Technologies: Java
  • Software Developer
    1999 - 2000
    NedStat
    • Worked on a web traffic tracking system written in Perl and Java with both free and paid services.
    • Created a JNI component written in C for performing UNIX-specific functions required by the platform.
    • Developed an interface in Java between a remote JDEdwards system and NedStat's internal system.
    Technologies: Java, JNI, C, Perl, PHP, JDEdwards
  • Software Developer
    1997 - 1998
    Community of Science
    • Worked on a system for providing access to paid academic articles online. Clients could subscribe with various levels of access.
    • Kept track of user sessions which had to be done manually.
    Technologies: Perl
  • Software Developer
    1996 - 1997
    Credit Management Solutions
    • Created one of the first online tools accepting applications for consumer car loans.
    • Developed a Windows DLL for processing loan results and making them available to the online system.
    • Worked with the team in charge of the core credit scoring engine to ensure the online system's compliance with various state laws.
    Technologies: C
  • Software Developer
    1996 - 1996
    Applied Physics Lab
    • Helped to develop software that was intended to predict mechanical problems in tank engines before they actually occurred. It involved real-time data acquisition and comparison to previously obtained data profiles.
    • Worked closely with a mechanical engineer to make the physical data in the form of electric signals accessible to a computer system programmatically.
    Technologies: C
Experience
  • Software Entropy Explained: Causes, Effects, and Remedies (Publication)
    In this article, Toptal Freelance Developer Adam Wasserman explains what software entropy is, what causes it and how it manifests itself, and what can be done to prevent it or mitigate its effects.
Skills
  • Languages
    Java, XML, Core Java (J2EE), JavaScript, SAML, TypeScript, Perl, C
  • Frameworks
    Spring, Angular, Express.js, GWT, Hibernate, Apache Struts, JPA, Espresso Testing Framework
  • Libraries/APIs
    Java RMI, JMS, MyBatis, Node.js, Passport.js, PrimeNG, Mod_perl, EasyMock, JAXB, JMX, WebSockets, Liquibase, Protobuf
  • Tools
    Apache Tomcat, Maven, Git, JBoss Drools, AWS Key Management Service (KMS), Gradle
  • Paradigms
    REST, Agile, HL7 FHIR Standard
  • Platforms
    Android, Linux, Solaris, FreeBSD, Oracle, WebSphere
  • Storage
    MySQL, PostgreSQL, AWS S3
  • Other
    Public-key cryptography, SMS, Multithreading, SOAP, SAML-auth, Asymmetric Encryption, EHR, Risk Management
Education
  • Bachelor of Science degree in Computer Science
    1991 - 1995
    Johns Hopkins University - Baltimore, MD, USA
I really like this profile
Share it with others