LinkedIn Profile: Ray Li | Stack Overflow profile: Ray Li

I’m a software engineer with diverse experience in designing, implementing and deploying .NET, Java and Python software applications.  Specific expertise includes graduate level education in Computer Science and Bioinformatics.  Strengths include a strong background in data analysis and software testing.

Technical Proficiencies

Highly Competent: ASP, C#, Java, JavaScript, JScript, Linux, Python, Windows
Familiar/Past Competence: ASP.NET, CSS, JSP, MySQL, Oracle, Perl, R, Unix, VB, XML
Formal/Self Education: C/C++, SQL Server, Win32 API


Software Engineer 2, Microsoft Corporation
(6/2010 – Present)

OFFICE (4/2014 – Present)

  • Pioneered the use of clustering on instances of an error based on log analysis using R. The approach allowed other engineers to characterize client-side errors without knowing the exact steps that generated the error.
  • Implemented and delivered team dashboard using COSMOS/Scope, BingDAT and JQuery to track key performance indicators. Allowed the team and partner teams across Office to gain visibility into key performance indicators throughout the File I/O stack.
  • Designed and implemented both client and server error dashboards to track and alert on errors. Allowed client and server error investigations to quickly assess the impact of a particular error and how it affects the service.


  • As an SDET, delivered rapid test feedback in all areas of Quality Essentials. The most notable being…
  • Designed and delivered C#/SQL Server test solution leveraging parity (PATs) for verification of a file upload implementation. Allowed the team to gain confidence over a broad set of real-life customer data.
  • Completely eliminated cascading failure and modal dialog reliability issues in automated C# functional test suite. Due to increased confidence, the Engineering Team is now using this test suite for end-to-end verification.
  • Tackled deployment and build testing resulting in a reliable automated C#/PowerShell deployment framework used by the whole Serviceability Team and Engineering Teams which brings deployments from a few days to about 1 hour.

HEALTH SOLUTIONS GROUP (6/2010 – 2/2012)

  • As an SDET, delivered end-to-end testing of multiple modules. The most notable being Quality Measurement Module (QMM) where I…
  • Reduced execution time of C# test suite by 30% using binary caching strategy.
  • Designed and implemented message generator using C# to achieve 100% edge coverage of CMS state flow diagrams in parser service.
  • Implemented suite of PowerShell scripts to find 300+ bugs in look-up table implementation.

Like what you’ve read? If so, please feel free to subscribe to my mailing list to get my updates and stuff you cannot find here on the blog.

Senior Computer Scientist, White Oak Technologies
(5/2009 – 6/2010)

  • As a full-time developer, I implemented solutions that:
  • Achieved 3X speed increase for automated builds as well as increased reliability.
  • Improved testing of upload tool by building a PyUnit test automation framework.
  • Reviewed team’s testing procedures and suggested areas for improvement.

Senior Programmer Analyst, Mount Sinai Medical Center
(11/2007 — 4/2009)

  • As a full-time developer, my key contribution was:
  • Designed and implemented 100% of thick-client Tablet PC application using .NET C#, WinForms and NHibernate/MySQL collaborating across health professionals and IT.
  • I also launched the division’s first intranet clinical website.
  • Retained as consultant from April 2009 – July 2011.

Lead Programmer Analyst, Stony Brook Medical Center
(2/2006 — 11/2007)

  • As a full-time developer, my most notable contributions were:
  • Programmed multi-threaded thick-client Java application for use in the operating room using Java Swing and RMI.
  • Automated monitoring of over 20 Oracle 10G databases using Java, Python and PL/SQL.
  • Developed and implemented distributed architecture making heavy use of Oracle Streams.

Software Developer/Project Manager, LifeTree Technology
(2/2001 — 2/2006)

  • Promoted in 1 year to project manager in start-up environment.
  • Led migration of clinical trial web application to .NET platform using ASP.NET, C#, CSS, JavaScript and SQL Server.
  • Improved and integrated Windows Service solution for DPAPI connection string encryption to address security vulnerability using ASP and C#.
  • Frequently recruited to resolve time-sensitive customer and production issues.


Johns Hopkins University
MS in Bioinformatics
GPA: 3.9
SUNY at Stony Brook
BS/MS in Computer Science
GPA: 3.8

Academic / Research

  • Awarded runner-up at Long Island Software Awards (LISA) for Java desktop application.
  • Led migration to AJAX for Marine Biology JSP web application. Learned (almost overnight) Java-based DWR AJAX technology for integration into JSP application.
  • Built Debian-based Linux web server from scratch on a VPS hosted VM.
  • Selected from group of approximately 100 to develop Chemistry student-learning system (LUCID).

Hobbies and Interests

Sample Articles (with reviews)

Top 10 differences between Java and C#

  • “good read, i forgot most of this…” -raveman”
  • This is a great list. Thanks for taking the time to post it.” -Chad Campbell

Why does an abstract class need to implement interface methods?

  • “Really great explanation, thanks!” -Nicolas Buduroi
  • “Great job writing this article, this has to be very confusing to Java people who also have to write C# – at least it was for me when I first started implementing interfaces with abstract base classes.” -Joonas Koivunen
  • “…Wanting to know why this craziness was required I was lucky enough to find your page through google. Thank you for the explanation!” -Arash

Overload the array square bracket operator in C#

  • “Thanks, that worked great. Plus the stackoverflow link helped too. Cheers mate!” -Chris

Quick and dirty “dirty checking” for Windows form, C#

  • “Seems to work like a charm! Thanks! You saved me a few hours (possible much more) with this snippet.” -Wayne
  • “This is a very good post. As you said, a straight forward time saver. This should go to the new blog.” -Guillaume JAY

Acer Aspire One Slow?

  • “Thank you so much, my system is running 500% faster!” -Mara
  • “thanks a lot. following these steps(including the RAM upgrade) improved the performance and the system is very responsive now.” -Saravana
  • “You rock. These should be the default settings for this computer. Seriously, just how are we supposed to know how to do this? Just wanna to thank you for this info. My netbook runs better because of you>Peace!” -Ernie