Resume

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

Programmer 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 solid background in health care and software testing.

Technical Proficiencies

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

Experience

SDET II, Microsoft Corporation
(6/2010 – Present)

3/2012 – Present
Building tests and test automation for Quality Essentials at Engineering Excellence.

6/2010 – 2/2012
Built tests and test automation for Amalga health care platform at the Health Solutions Group (HSG). Successfully turned around project by rapidly picking up accessibility, globalization/localizability, time zone and stress testing. Reduced execution time of C# test suite by 30% using binary caching strategy. Designed and implemented message generator using C# to achieve 100% path coverage of CMS state flow diagrams in parser service. Implemented suite of PowerShell scripts to find 300+ bugs in look-up table implementation. Designed and implemented test automation to achieve 100% condition coverage for back-end data transformation engine using C#. Championed performance testing through multiple feature teams resulting in performance being a first-class feature in the organization rather than an after-thought. Researched and recommended cache testing strategy that improved security design of product.

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

Delivered high-priority customer feature request ahead of schedule. Within 6 months, selected as lead developer for automated build framework (Bash/Python) for large-scale web application.  Achieved 3X speed increase for automated build as well as increased reliability. Improved testing of upload tool by building PyUnit test automation framework. Designed and programmed AJAX application using Python/Javascript for data transfer tool. Re-designed event broadcast architecture using Javascript. Selected to review team’s testing procedures. Selected to participate in GUI design review.

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

Programmed 100% of thick-client Tablet PC application using .NET C# and NHibernate/MySQL. Its data synchronizes with a SUSE Linux server that uses my Perl scripts to copy the synchronization records to a final database. Solved long-standing distributed synchronization problem. Built and deployed desktop software using VB and Access for use by clinical staff. Pioneered use of NUnit/VBUnit test cases, SVN, FogBugz defect tracking and Agile Timebox development. Launched division’s first intranet clinical website. Transitioned to consultant role from April 2009 to July 2011.

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

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. Built several Java Server Pages web applications using Tomcat for hospital staff. Oracle 10G consultant for graduate research projects at Stony Brook University.

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.

Education

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. Recommended and delivered JSP/Tomcat application ported from Windows to Linux platform. Selected from group of approximately 100 to develop Chemistry student-learning system.

Hobbies and Interests

  • Bioinformatics
  • Getting Things Done (GTD)
  • Software Blogging
  • Software Testing

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