Eric W. Greene, Software Developer in Amherst, VA, United States
Eric W. Greene

Software Developer in Amherst, VA, United States

Member since December 13, 2013
Eric is a software programmer and teaches others how to program as well. He has been doing this since the summer of 1997. He has had the chance to travel throughout North America, Europe and India working with awesome people to solve challenging problems and to help people build their careers with new programming skills. He is very grateful for all of the exciting lessons learned and challenging problems solved through his collaboration with others so he could help the larger world community.
Eric is now available for hire

Portfolio

Experience

Location

Amherst, VA, United States

Availability

Part-time

Preferred Environment

Angular, React, Blazor, .NET, Python, JavaScript, TypeScript, GraphQL, Redux

The most amazing...

...thing I have done is to design and teach a multi-week front-end web development boot camp for Intuit over 30 times over a time span of seven years.

Employment

  • Cloud Software Programmer | Consultant

    2022 - PRESENT
    Cloud Contraptions LLC
    • Started a new company to redirect some of my teaching efforts to working on larger cloud computing and IoT projects.
    • Integrated web apps React and Blazor with Microsoft Azure Active Directory and Microsoft Azure B2C.
    • Worked with a healthcare industry startup to build wellness software to help patients recover from certain medical conditions.
    • Worked with a customer to build a plugin architecture for their existing software to enable them to ramp up the number of developers working on their code.
    Technologies: JavaScript, TypeScript, React, GraphQL, Jest, Next.js, Nexus, SQL Server, ASP.NET MVC, Azure, Azure Active Directory B2C (ADB2C)
  • Software Development Trainer | Consultant | Mentor

    2014 - PRESENT
    Training 4 Developers, Inc.
    • Transformed training business to focus on smaller, advanced, specialty classes and one-on-one programmer mentoring and training.
    • Delivered technical training for React, Redux, Angular, GraphQL, MobX, Relay, Apollo, Docker, Kubernetes, Python, JavaScript, jQuery, Node.js, HTML5, CSS, and ASP.NET MVC to clients ranging from small businesses to Fortune 100 Companies.
    • Specialized in delivering highly technical JavaScript/TypeScript and Python training for tech companies, primarily in Silicon Valley.
    • Created custom courseware for React, Redux, Angular, AngularJS, ngrx (Redux + RxJS for Angular), Backbone.js, JavaScript, HTML5, Node.js, Docker, Kubernetes, Python, Blazor, and Azure DevOps.
    • Delivered in-person training around the world and online.
    • Recorded numerous JavaScript-related training videos on topics such as React, Angular, AngularJS, JavaScript, Node.js, Python, Azure DevOps, SQL, and Underscore.js.
    • Earned Microsoft Azure Developer, CompTIA CTT+, and Microsoft Certified Trainer Certifications.
    • Taught around four two-week Front-End Web Development Bootcamps (HTML5/CSS/JS/React/Redux/GraphQL/Apollo/Node.js) at Intuit per year.
    Technologies: React, Angular, JavaScript, TypeScript, Python, C#, .NET, Azure, Redux
  • Senior Software Developer

    2011 - 2014
    nTelos, Inc. (via Sarnata Corp)
    • Completed contract with my business, Sarnata Corporation.
    • Earned two Core Value Awards for Teamwork and Continuous Improvement for my software development contributions toward two important business problems.
    • Architected and coded a large common code library for web applications, covering security, configuration, and especially data management.
    • Developed single web page applications and taught other developers to build such applications.
    • Wrote many new web apps and supported many legacy apps doing architectural, coding, testing, and analysis work.
    Technologies: SQL, Bootstrap, Less, Knockout.js, JavaScript, CSS3, HTML5, C#, ASP.NET MVC
  • President | Senior Software Developer

    2009 - 2014
    Sarnata Corporation
    • Founded and led the company in becoming a Microsoft Certified Partner (achieving competencies in Software Development and Web Development), primarily providing software development services for insurance, healthcare, and technology companies.
    • Participated in many community-organized Code Camps, providing valuable .NET training. Participated in many GiveCamps donating programming services to nonprofit organizations such as Respond, Inc. and the Literacy Council of Union County.
    • Commissioned a case study of a .NET/Telerik/SalesForce.com project which was co-branded with Microsoft, Telerik, and the customer, C5 Insight, Inc. Telerik posted an adaptation of this case study on their public website.
    • Worked with developers around the world to build software applications.
    • Provided software development and system administration services to customers throughout the United States.
    Technologies: Kendo UI, Knockout.js, jQuery, Bootstrap, JavaScript, CSS3, HTML5, PostgreSQL, MySQL, Microsoft SQL Server, PHP, .NET
  • Senior Software Developer

    2011 - 2011
    Silverchair Information Systems (via Sarnata Corp)
    • Architected and programmed a search engine and learned the client's semantic technology within five months as the primary developer and architect. Utilized another developer to help with some tasks and a QA person to test it.
    • Developed three distinct applications: an exporting tool to prepare content for searching, a WCF search service, and a search client implemented within an ASP.NET web application.
    • Implemented the exporting tool to leverage parallel processing and sophisticated SQL Server stored procedures for processing and exporting content searchable with the search device.
    • Constructed a search service using a highly modular structure inspired by Windows Workflow Foundation 4.0. Customized the service support client using hot-pluggable modules, enabling custom filtering, ranking, and other search activities.
    • Created the client portion to make use of a JSON-enabled WCF service to power a fully Ajax-enabled search results page.
    Technologies: SQL Server 2008 R2, Parallel Programming, LINQ, Windows Search, JSON, jQuery, Windows Communication Framework (WCF), VB.NET, ASP.NET MVC 4
  • Senior Software Developer

    2009 - 2010
    Delta Dental of Virginia (via Sarnata Corp)
    • Designed and coded numerous web and desktop applications used in the dental insurance industry.
    • Architected and coded a new multi-­user Windows Forms application to view, sort, and export faxed claim images.
    • Developed a website to collect and report on information concerning the client's AGILE software development process.
    • Implemented a webpage as a proxy for a dentist search on another website.
    • Supported and coded an application managing user accounts used by other applications.
    Technologies: Microsoft SQL Server, Oracle, XML, JavaScript, CSS, HTML, C#, Ajax, WinForms, ASP.NET MVC 3
  • Senior Software Developer

    2007 - 2009
    Benchmark Systems
    • Developed C# / PostgreSQL / SQL Server ASP.NET software applications with Visual Studio 2008.
    • Wrote a portal system providing single sign-on and access control to a web-based medical practice management system suite.
    • Integrated single sign-on with Dr. First's ePrescribing system. Implemented the portal to support desktop web browsers and web browser-enabled mobile devices.
    • Led a team of developers to implement pattern-based code generation tools and a web application framework.
    • Completed the Dale Carnegie World Class Customer Service Training and Supervisor Training courses.
    • Taught ASP.NET development to fellow programmers and provided internal and external customer support.
    • Participated and actively contributed to software development long-term planning meetings.
    Technologies: C#, ASP.NET, PostgreSQL, HTML, CSS, JavaScript, PHP, MySQL
  • Senior Software Developer

    2007 - 2007
    Site Builder Corporation
    • Advised business owners on all technology-related decisions and purchases (servers, T-1 lines, software).
    • Managed 7 Linux-based servers, 1 Windows-based web server, and 1 Microsoft Small Business Server.
    • Handled management tasks, including selecting the software for servers, initial bare metal installation, the configuration of the operating system and all applications, and hardening servers to prevent intrusion.
    • Worked one-on-one with internal and external customers to resolve various server-related issues.
    • Migrated 4 Linux servers to a redundant AppLogic grid server environment, including the configuration of the grid, contract negotiation, migration planning, coordinating vendors, customer support, etc.
    • Programmed PHP/MySQL web applications and PHP/BASH Linux scripts.
    Technologies: Linux, MySQL, PHP, Bash
  • Senior Software Developer

    2005 - 2007
    AREVA (via Greene Technology Corporation)
    • Completed this contract through my company, Greene Technology Corporation.
    • Designed, developed, and supported enterprise intranet applications using Classic ASP, Sybase, SQL, JavaScript, and Visual Basic.
    • Converted a legacy Classic ASP and Visual Basic apps, including integration with J.D. Edwards and SAP.
    • Wrote a Classic ASP-reporting web application using recursive stored procedures and custom functions to analyze and report on millions of data records. Optimized stored procedures and temp tables to generate reports in seconds.
    • Devised a method to update the Sybase database from SAP in less than five minutes with 20+ million records each day.
    • Participated in group planning and strategy sessions to solve SAP Legacy System migration problems.
    • Worked extensively with Information Services and customers they served in other departments.
    Technologies: Classic ASP, Visual Basic, HTML, CSS, JavaScript, Sybase
  • President | Senior Software Developer

    2000 - 2007
    Greene Technology Corporation
    • Established a new company and led this company through periods of growth, decline, and re-growth.
    • Coordinated software development efforts of employees and subcontractors (domestic and international).
    • Forged new relationships with customers (private businesses and government) and vendors throughout the United States.
    • Served as a Technical Advisor to numerous companies to assist them in making wise technology-related decisions.
    • Coded and supported many web database applications using .NET, PHP, Classic ASP, and Perl on Windows and Linux.
    Technologies: PHP, .NET, C#, JavaScript, Visual Basic, HTML, CSS, Linux, Windows Server
  • Senior Analyst

    1997 - 2000
    BRTRC
    • Developed database-driven Internet financial management applications for various government and military agencies.
    • Provided support services for Internet applications and managed workstations and servers (Linux, Solaris, and Windows).
    • Managed Linux servers hosting web applications and databases.
    • Developed an AJAX-enabled user interface for a web-based Classic ASP/SQL Server application to manage the configuration of electrical grids, including generators, distribution, and consumers.
    • Created several custom timesheet systems for commercial and government agencies.
    Technologies: Classic ASP, PHP, PostgreSQL, SQL Server, HTML, CSS, JavaScript, Perl, Linux

Experience

  • Custom Full-Text and Semantic Search Engine

    I architected a search engine in five months as the primary developer and architect. I learned the client's semantic technology to create a completely new search engine for a new online medical journal platform. I coded 95% of the project. The first implementation of the search engine was for the Journal of Bone and Joint Surgery. This platform search engine will be used as the basis for the new search engine of the journals of the American Medical Association and numerous other medical journals.

    Development included three distinct applications: an export tool to prepare content for searching, a WCF search service, and a search client implemented within an ASP.NET web application.

    The export tool leveraged parallel processing and sophisticated SQL Server stored procedures to process and export content that could be searched by the search service.

    The search service was constructed using a highly modular structure inspired by Windows Workflow Foundation 4.0. The service support client customization through hot-pluggable modules, which enable custom filtering, ranking, and other search activities.

    The client portion used a JSON-enabled WCF service to power a fully Ajax-enabled search results page.

  • SQL Editor Tool

    An application I created for nTelos to allow their application support employees to execute custom SQL statements in a controlled and monitored environment with safeguards to protect against undesired mass database changes. To complete the project, I performed technical analysis and wrote a detailed technical specification outlining the project requirements, goals and implementation strategy. I coded a web-based SQL editor that controlled and monitored the execution of dynamic, user-entered SQL Server queries in a production environment. As part of the UI, I implemented editor syntax highlighting using the CodeMirror component. To support the highlighting we needed, I created a custom highlighting scheme and a custom Knockout.js binding.

    In order to protect against mass unintended data changes, I found a third party SQL Parser component that I used to parse the modification query (which could include multiple modification query statements) into individual modification query statements where the user was required to specify the expected number of affected records for each individual statement. The tool then executed the queries in review mode before final execution to verify the expected affected number for each parsed statement against the actual affected number for each statement. This was accomplished through injecting SQL control and logging code into the dynamic SQL between each parsed modification query statement.

    To protect against data lost the user is required to enter a data verification query which runs before and after the modification query. The results of the verification query are logged before and after the modification query as well as displayed to the user. The challenge here was that the data verification query could return multiple result sets therefore KendoUI HTML grids, Dynamic C# and JSON via the Web API were used to produce a before/after grid for a variable number of parsed SQL verification query statements from the larger verification query entered by the user. The result sets were also stored as XML within SQL server for audit purposes. To accomplish XML/JSON serialization of the result sets custom serialization was written to serialize dynamic objects which the result sets were stored in. Extensive logging and error handling was performed in C# and SQL before the parsed modification queries were executed, as well as during execution and post execution.

    Using Bootstrap, I implemented a Responsive Web Design to take advantage of very large desktop monitors and still allow the application to be very usable with smaller screens. After the initial page load, the application executed all data transactions with the server through MVC 4 Web API via JSON, no additional full page loads were initiated.

  • Faxed Claim Image Viewer

    Delta Dental of Virginia needed an application to manually process images of faxed dental claims. The faxed claims would be delivered with multiple claims batched together in single TIFF files. They needed the ability to open each TIFF file, view the pages, group the pages into claims (each claim could be multiple pages) and mark unneeded pages as junk then save all of the grouped claims out as individual claim multiple page TIFF files. According to requirements, I architected and coded a new multi-user Windows Forms application to view, sort and export the faxed claim images. The application used custom events to keep the underlying data and UI elements in sync. Because of limitations inherent in the .NET Image Libraries, I utilized the FreeImage Library to load multi-page TIFF files then provided image manipulation tools to sort, rotate, classify and group pages within the TIFF file and then exported those pages as separated TIFF files based upon their grouping. The UI allowed the user to select, drag, and drop TIFF pages to re-order the pages as part of the classifying and grouping process. To integrate the viewer with existing systems, I updated the DCS2000 data entry module to handle faxed claims processed by the viewer. Updates included modifying the user interface, extensive C# and PL/SQL modifications affecting significant areas of batch automation. Finally, I wrote a custom PL/SQL routine to generate unique claim numbers for faxed claims which would not collide with various instances of DCS2000.

  • SalesForce.com Bulk Data Entry

    Architected and coded an ASP.Net AJAX application utilizing Telerik’s RadGrid control to provide a keyboard efficient line-item data entry tool for real-time updates to SalesForce.com. The RadGrid was dynamically created based upon XML configuration files and pushed/pulled data in real-time to/from SalesForce.com via a standard web services interface. The XML configuration process utilized LinqToXML. The RadGrid was configured to support a variety of column control types that conform to SalesForce.com data types including dates, formatted numbers, and drop downs. The values for the drop downs were loaded from SalesForce.com. Using jQuery, the RadGrid was keyboard enabled to allow the user to insert, update and delete records without the use of a keyboard. (The keyboard capabilities were demonstrated and explained at the 2010 DevLink Conference in Nashville, TN). To speed up the grid, all data was cached as appropriate and custom grid commands were written to perform multiple operations in one AJAX call rather than one operation per call. A case study co-branded with Microsoft and Telerik was written about this project by an independent firm and the study was largely paid for by Microsoft. Telerik posted an adaptation of this case study on their public web site.

  • Advanced Clinical

    Architected and coded a new web-based electronic medical records system that was created for a hearing and speech clinic located in Florida. The application utilized DevExpress controls and a PostgreSQL database. It was designed to support branding by resellers and as such master pages were dynamically applied at run time requiring resources such as images, style sheets, and JavaScript to be embedded and loaded at runtime through special resource handlers and a virtual file system. I created a custom coded object relational mapping (ORM) system which created objects based upon the database structure loaded in PostgreSQL. The custom ORM system was created using the MyGeneration tool that was used to run C# code against the database which created the C# object files and PostgreSQL stored procedures. Extensively used user controls to enable efficient development and usage of the very large forms within the application (500+ fields per form in some cases). Finally, I implemented a custom ASP.Net membership/role/profile provider for PostgreSQL.

  • Give Camps

    Business Analyst & Lead Software Developer
    2010 New England GiveCamp - Respond, Inc
    Donated my time to help Respond, Inc. develop a new web site at the June 2010, New England GiveCamp. I worked with 3 other developers and the staff at Respond before the GiveCamp and at the GiveCamp to produce a new web site which would allow them to better serve victims of domestic violence.

    Team Lead and Lead Developer
    2013 Southern Maryland GiveCamp - A Community That Cares
    Donated my time and expertise to work with ACTS (A Community that Cares) of Southern Maryland to migrate their old one page web site to a new Orchard CMS based web site that allows them to update their content through a web browser as well as manage their equipment and volunteer lists online. ACTS is a non-profit organizations who loans out medical equipment for those in need.

    Team Lead and Developer
    2010 Southern Maryland GiveCamp - Citizens' Advisory Committee for Special Education of Southern Maryland
    In March 2010, I attended the Southern Maryland GiveCamp where I had the opportunity to develop a web site for the Citizens' Advisory Committee for Special Education of Southern Maryland. It was a real honor to assist this organization in their efforts to help families whose children have special education needs.

    Business Analyst & Lead Software Developer
    2011 Charlotte GiveCamp - Literacy Council of Union County

    Team Lead and Developer
    2010 Philadelphia GiveCamp - North Philadelphia Health System

  • Video Player SharePoint Web Part

    Designed and coded a SharePoint web part to play videos on any of the popular web browsers (pre-HTML5). The player supported several file formats and would display the appropriate player depending upon the video file specified. The web part auto-detected the video file type as well as loaded meta-data about the video to perform dynamic sizing for the player. The web part automatically sizes the web player based upon the size of the client browser both on initial load and after browser resizing. This dynamic resizing especially within a SharePoint web part was unique in the marketplace at the time.

  • ASP.NET MVC 4 w/ Entity Framework on Linux Nginx Web Server

    For a fun and challenging project I wanted to run ASP.NET MVC without using Windows either for development or hosting. Using the Mono Project, Xamarin Studio, a Mac for development, and a Linux web server, I was able to build and deploy a very basic ASP.NET MVC 4 application to a Linux server. The application utilized the Entity Framework to connect to a PostgreSQL database.

    For development, I used Xamarin Studio with the NuGet package extension. I created the MVC 4 application, installed the NuGet packages and had it connect to the database. I then compiled it and deployed it to the server running CentOS, Nginx, PostgreSQL and Mono running over FastCGI. After doing some configuration and tweaking the application ran as expected. It was really cool to build a .NET application which did not depend upon Windows.

  • .NET Speaking Engagements

    I have spoken at numerous software developer community events:

    Spring 2010 - Pittsburgh Code Camp - Topic: Sitefinity
    Spring 2010 - Richmond Code Camp - Topic: Sitefinity
    Summer 2010 - DevLink - Topics: Expression Trees & Keyboard Enabled Web Apps
    Winter 2011 - Richmond .NET User Group - Topic: Windows Workflow
    Spring 2011 - Charlottesville .NET User Group - Topic: Windows Search 4.0
    Spring 2011 - Roanoke .NET User Group - Topic: Windows Server App Fabric
    Fall 2011 - Northern Virginia Code Camp - Topic: MonoTouch
    Winter 2013 - Richmond .NET User Group - Topics: Bootstrap/WebAPI/KnockoutJS/LessCSS
    Winter 2013 - Roanoke Code Camp - Topic: CoffeeScript

  • AngularJS Tutorial: Demystifying Custom Directives (Publication)
    One of the most capable, extensible and popular front-end frameworks is AngularJS, and one of the most useful components of the AngularJS framework is something called a directive. In this article, the four functions that execute as a directive is created and applied to the DOM will be explored.

Skills

  • Languages

    SQL, Sass, Less, HTML5, CSS3, JavaScript, VB.NET, C#, Go, TypeScript, GraphQL, CSS, PHP, HTML, XML, Python, Perl, Visual Basic, Bash, Visual Basic .NET (VB.NET)
  • Frameworks

    Angular, AngularJS, Bootstrap, ASP.NET MVC, .NET, ASP.NET, Mono, Redux, Knockout.js, Kendo UI, ASP.NET MVC 4, Windows Communication Framework (WCF), ASP.NET MVC 3, Blazor, Jest, Next.js, Classic ASP
  • Libraries/APIs

    React, Node.js, Underscore.js, jQuery, Modernizr, LINQ, WinForms, Backbone.js
  • Tools

    Atom, Visual Studio, SiteFinity, Azure Active Directory B2C (ADB2C)
  • Paradigms

    App Development, Agile, Parallel Programming, Virtual Insructor-led Training (VILT)
  • Platforms

    Microsoft, Oracle, Linux, Nexus, Azure, Windows Server
  • Other

    UI, UX, Microsoft Certified Solutions Developer .NET 4.5 Web Applications Developer, Microsoft Certified Professional Developer for ASP.NET 3.5, Front-end, Front-end Development, User Interface (UI), User Experience (UX), Software Development, Remote Work, Mobile App Development, Back-end Development, Remote Developer, Embedded Software, Freelance, Microsoft Certified Technology Specialist WinForms, Microsoft Certified Technology Specialist ADO.Net, Microsoft Certified Technology Specialist ASP.Net, Windows Search, Ajax, SQL Server, Training, Adult Learning, Coaching, Needs Analysis
  • Storage

    Microsoft SQL Server, MySQL, PostgreSQL, JSON, SQL Server 2008 R2, Sybase

Education

  • Bachelor's Degree in Computer Science
    1995 - 1999
    Virginia Military Institute - Lexington, VA, USA

Certifications

  • Microsoft Certified: Azure Developer Associate
    JULY 2021 - JULY 2023
    Microsoft
  • Microsoft Certified: Azure Fundamentals
    JULY 2021 - PRESENT
    Microsoft
  • Microsoft Certified Trainer 2021-2022
    JULY 2021 - PRESENT
    Microsoft
  • MCSA: Web Applications - Certified 2016
    SEPTEMBER 2016 - PRESENT
    Microsoft
  • CompTIA CTT+ Virtual Classroom Trainer Certification
    SEPTEMBER 2015 - PRESENT
    CompTIA

To view more profiles

Join Toptal
Share it with others