2812 Cozumel Circle • SANTA CLARA, CA 95051
PHONE 650-200-5044 • E-MAIL

Shannon Norrell

Objective
To work in a Senior Software Engineering capacity where my Presentation Layer skills in HTML5/JavaScript/CSS3, GUI Design and experience building richly-interactive, complex, web-based applications may be used to their full extent. I bring considerable technical expertise to the table.
I am an expert in HTML5, CSS3 and Javascript, having been at the Senior Software Engineer/Team Lead level for many years and working on some of the most complex web-based applications ever created including those in the Product Lifecycle Automation space, SalesForce Automation and e-commerce.
I have worked for various companies like Apple, Microsoft, AOL, McAfee, MS2, UpShot, eStamp, Webvan and Macromedia.
SkillSet Summary
I have been a programmer for over 30 years. For the past seventeen years I have focused on the “Presentation Layer” of internet-related application development. I am a skilled “coder”, proficient in Javascript, CSS/CSS3, (X)HTML/HTML5 etc. as well as a skilled User Interface Designer.
At Hewlett Packard, I have developed an app store, much like Google Play or iTunes that runs on iOS, Android and Web-based devices all using the same HTML5/Javascript/CSS3 codebase. I have also been working on developing some richly interactive 3D modeling software to tie in with HP’s 3D printer strategy.
As principal HTML5 Developer for EVEO, one of the nation’s top medical advertising agencies, I developed many “impossible apps” demonstrating complex medical concepts and treatment methodologies using a mix of HTML5, CSS3 and Javascript, all of which was hand-coded. Thevarious apps, typically associated with the release of a new drug, were deployed to pharmaceutical sales force on iPads or used at tradeshows.
Prior to that, I was brought in by Apple Computer as a “Javascript Ninja” to perform some exceedingly complex Javascript work related to an internal, Cocoa-inspired, JS Library. I also became somewhat of an expert in HTML5 and CSS3 during my tenure there, developing an HTML Showcase feature for Apple.com. I also wrote a slider control and a progress indicator that is used throughout the company to this day
I was recognized as one of the top Javascript developers in the world when I was asked my Microsoft to come on board as one of four developers writing Windows Vista Sidebar Gadgets (I wrote Stocks and Weather). Before that, I was hired by AOL as their Mac OSX Dashboard widget developer (where I wrote a Moviefone and an AOL Search widget), again in DHTML.
Formerly Senior Internet Engineer for Webvan Group, Inc., a high-profile home delivery startup. This website was a large scale, load-balanced, Windows NT/IIS-based, using Active Server Pages and ISAPI. DLL's with an Oracle back-end.
I was with this operation essentially from its inception (joining as employee
#25), and developed the very first webvan.com prototype as used in the "road show" and continued to play a significant part in its technology decisions, architecture and deployment. Certain parts of my work at Webvan, particularly those having to do with a unique Javascript compression algorithm (very similar to what is now known as JSON), were patented and I was listed as “inventor" of these technologies
Before that, I was Senior Internet Engineer for Macromedia, Inc., best known for "Director" and "Shockwave" where I was lead engineer on an extension to their product, "Dreamweaver". While there, I developed the first Drag-and-Drop DHTML code as well as a number of complex DHTML objects like a slider control, progress bars and decision trees. I also developed a predictive downloading algorithm based on Markov chains that was ultimately patented.
Before that, I was webmaster for the award-winning Trilobyte, Inc., site -
a leading edge computer game developer - best known for "The Seventh Guest" and "The Eleventh Hour".
SkillSeT HIGHLIGHTS
ASP I am quite conversant with Active Server Pages (ASP) and know Server-side VBScript and/or JavaScript backwards and forwards. I am also a Windows NT "expert" and am proficient in configuring and administering Windows NT 4.0 Server, NT2000 Advanced Server and all versions of Internet Information Server (IIS). Recently, I’ve switched over to ASP.NET and love it so far!
ACTIVEX I have authored nearly 100 commercial ActiveX controls including "RenderConnect" and "RenderInetInfo", and many smaller "utility-class" ActiveX controls. Most were written in Visual Basic.
ADSI ADSI provides a scriptable object wrapper to many common elements of Windows NT (and is in fact intrinsic to NT 5.0). I have been using ADSI since the early days and have written many scripts/code blocks that utilize this technology. An example of a script I wrote that is now being passed around the internet may be found at:

AJAX My work with AOL required extensive use of AJAX technologies. For the AOL Search Widget, I wrote several XML parsers to process data from disparate sources with varying structures, including some with SOAP Envelopes. I also wrote code leveraging AJAX to dynamically include “up-to-the-minute” versions of support code for the various widgets.
C# I am experienced writing .NET web applications using C#. Due to my extensive expertise in Javascript, Object-oriented programming approaches and various other programming languages, C# was a snap for me to pick up and quickly become proficient in. I use Visual Studio 2005, coding in C# on a daily basis.
CDO Collaborative Data Objects is a way of programmatically accessing/interfacing with Microsoft Exchange and Outlook. I have worked quite a bit with CDO, having developed and managed an automated Beta application/feedback system for the Webvan.com beta program, in which we had nearly 1,500 participants.
CRYSTAL REPORTS I was charged with the developed of a large-scale, distributed reporting module for Webvan.com. If you ever used the service, the invoice/receipt you received with your shipment was printed using the code I wrote to drive Crystal Reports. This reporting module had an API along the lines of PleasePrint(OrderNumber, Location) and, when called, would query the Oracle database, generate a report using the Crystal Reports API for that order number and then cause the report to print at any one of our dozens of cross-dock locations around the nation.
CSS Expert in Cascading Style Sheets, having produced many hundreds of pages that use CSS libraries of my design. I have also created a DHTML/CSS Client-side Spreadsheet that makes extensive use of CSS.
CSS3 My work at Apple gave me “the inside scoop” on developing WebKit/CSS3 technologies like webkit-animations, transitions, effects and web fonts.
DASHBOARD WIDGETS I was under contract with AOL for several months, charged with developing several Mac OSX Dashboard Widgets. Dashboard Widgets, are highly complex, single purpose, quasi-standalone objects that use DHTML, CSS and (in my case) AJAX.
Here is an example of one:

Notice the custom scrollbars, the custom resize handle, the custom search box, rounded corner look, etc. All stuff I wrote.
DHTML I am expert in DHTML, having written (to my knowledge) the very first drag and drop code blocks that you now see all over the internet as well as having several patents in my name for several complex DHTML UI Objects and mechanisms.
EXCHANGE I am quite conversant in running and installing Exchange Server. I have been running my own instance of Exchange at home for several years and set up/installed the Exchange 5.5 server for Webvan, Inc. I am also quite familiar with LDAP and programming using CDO.
FLEX I took a two courses on Flex development in 2008 (Flex 3: Developing Rich Client Applications” and “Lifecycel Data Services – Integrating with Data and Messaging” covered . I have created several prototypes using Flex. I have deployed both .SWF files and Adobe Air projects. As an expert in Javascript/DHTML, MXML and Actionscript 3.0 come very easily.
HTML I am an expert in (X)HTML. Every line I write is hand coded, exceedingly clean and as semantic as possible.
HTML5 Recently I was involved in a project at Apple designed to showcase the new HTML5 features like the <video> and <audio> tag, <input type=range>, the <canvas> tag and CSS3 transitions and keyframe animations.
INSTALLSHIELD I have written many production-level installers using InstallShield, Wise Installer, DameWare Web Transport and even the Windows Installer (.MSI Files). I wrote the installer for Macromedia’s Authorware 4.1 and Macromedia’s Pathware 3.0. the latter of which involved quite a bit of complex installation maneuvers like modifying the IIS MetaBase, installing new mime-type handlers and registering custom .DLL’s with MTS.
ISAPI I have written many ISAPI. DLL's / COM Objects for Internet Information Server (IIS) in Visual Basic
JAVASCRIPT I am expert in JavaScript. Code samples available on request, having been the Lead Engineer on Dreamweaver Attain (a JavaScript/DHTML code-generating tool by Macromedia). Some of my JavaScript code has even been patented!
JSON As one might expect with my emphasis on all things JavaScript, I am a big fan of JSON structures vs. XML structures when propagating data to the presentation layer. Turns out that the JSON semantics are very similar to those that are on my patent.
LOCALIZATION I developed a unique technology for e-Stamp Corporation that effectively "compiled" an entire website into a language of choice on a nightly basis and fired off "To Translate" Task Lists to linguists in countries around the world.
MAC Though by no means a Mac Expert, I was on the AOL MacStaff for six months and am conversant with Interface Builder, Mac OSX styles, Safari, have read the HIG (Human Interface Guidelines) in its entirety, and have developed UI’s according to it.
.NET I am a big fan of the .NET platform and have developed a number of .NET Web Services on my own using C# and VB.NET under ASP.NET. I look forward to writing more production code using these technologies. Code samples on request.
OFFICE AUTOMATION I have done many, many projects that involved “Office Automation” using VBA or CDO. I have generated Office Documents like Excel Spreadsheets programmatically based upon web-form submission(s) and have programmatically piped form submission information directly into Exchange Server’s Public Folders using LDAP. I have also used VBA to script Microsoft Access and Outlook.
ORACLE Very familiar with Oracle 7.X, having written many ASP pages that use ADO/OLE-DB to talk to Oracle on the backend. I have also written a coded generator that generates Visual Basic COM Object wrappers to Oracle Stored Procedures, using a simple text file of a "describe" of the stored procedure as the source.
PERL I am quite conversant with Perl and was frequently tapped by the web team at Macromedia to produce scripts for use at Examples of this code available on request.
PHOTOSHOP Having had the opportunity to work with some of the best artists in the business, I have become quite proficient in Photoshop and many other graphics tools - with, of course, a particular bent towards creating web-friendly images.
RUBY ON RAILS In 2008, I was on a Ruby on Rails project for six months. Although I primarily coded thousands of lines of Javascript and did the GUI design, I did become familiar with the MVC framework, how to use fixtures and RAKE and some of the conventions of Ruby coding.
SIDEBAR GADGETS As one of only four developers hired by Microsoft to write the Sidebar Gadgets that shipped with Windows Vista, I am certainly an expert in this regard. I also wrote a 67 page article for MSDN magazine detailing how to develop Sidebar Gadgets.
SOAP Simple Object Access Protocol is probably the most powerful manifestation of XML-based computing to date. The artificial intelligence program trading modules I have been developing use SOAP for platform independent, remote-procedure calls to objects. Update: I no longer use SOAP, unless it happens behind the scenes in Visual Studio auto-generated code. I believe REST is much more efficient.
SOLARIS When I was a WebMaster at Trilobyte, I had a Sun Netra loaded with Solaris v2.5 running Apache and Netscape Server Software that I ran on a day-to-day basis.
SQL Server I have worked extensively with SQL Server over the past 8 years. I have authored many stored procedures and developed schemas of varying complexity over the years. Lately, I have developed wrappers using C# for the stored procedures I wrote for SQL Server 2000. In my current position, I use SQL Server 20000 on a daily basis. I am familiar with the creation of SQL Views and Stored Procedures using Transact SQL. As an example of my work, I wrote an ActiveX control (in Visual Basic 5) that, when embedded in a client application or web page and instantiated a) makes the appropriate entries in the system registry to establish an ODBC DSN database connection to the remote SQL Server database, b) requests recordsets, etc. from the database via SQL Statements, c) serves the data up to the client app. and, finally, on termination of the app. or connection, d) removes the registry entries created to establish the ODBC connection from the system registry.
VBA Expert in Visual Basic for Applications. I have written many large-scale applications in VBA for both Outlook and Excel. I wrote a "Dashboard" application on top of the Outlook/Exchange database architecture that was used by many thousands of employees at Webvan as well as several many-thousand-line VBA programs in Excel/Excel2000.
I have also written two "off-line" clients that essentially generated and populated an Excel .XLS file from web-based form submission, results of which were able to be used and modified in an off-line fashion (ie not connected to the internet) by users. Embedded in these .XLS files was thousands of lines of VBA code representing the company's business logic.
VISUAL BASIC I am expert in Visual Basic, having developed many-thousands of lines applications and ActiveX controls over the years. I am quite conversant with some of the more esoteric aspects of VB such as making Win32 API calls and utilizing the Registry. Code samples available on request. For example, I developed an ActiveX control as a side-E-Commerce job while working at Macromedia that ubiquitously connects to a remote HTTP server from within a client application and transmits order information. This involved extensive understanding of Dial-Up Networking, low-level Win32 API calls and, of course, a mastery of Visual Basic. I have also developed major enterprise-size applications. For example, while at Virgin Interactive, I worked on "VISION" ... a networked VB app. That ran (and still runs) the VIE technical support department. Wrote several hundred .DLL's for Webvan during the course of my employment. Most of which are used on a daily basis by entire departments by many users.
WSH Windows Scripting Host is a relatively new Microsoft technology that I have made it a point to become expert in. I have written installation scripts for Webvan that are well over 1,000 lines long that make extensive use of this object-oriented command-line scripting language (in conjunction with ADSI objects, as mentioned above).
WINDOWS NT I have completed the Microsoft Certification courses for Windows NT and ran three Windows NT domains at Macromedia. At Webvan, I was responsible for the original networking put in place and, until the end, maintained the PDC "WEBVAN" at my desk. I am conversant with all aspects of NT Administration, including Proxy Server, DNS, WINS, DHCP and Exchange Server.
SYSTEM ADMINISTRATION I have administered Windows Server 2003, become familiar with Cluster Server and IIS6 and WIN2K, Advanced Server and am very familiar with Active Directory, DHCP, DNS, NAT and many other NT2000-specific technologies.
XML Conversant with XML and have written two of my own parsers and XML generator .DLLs for use by IIS. I am familiar with schema design and have written much code (both in C# and “classic” ASP) that directly manipulates XML Document Objects. I have also written many JavaScript parsers for XML.
XSL In my recent work, I have developed many XSL transformations that are applied to dynamically generated XML. I am familiar with some of the subtler nuances of XSL like character encoding differences for various locales, conditional XSL functions, generating plain text, etc.
Professional experience
10/2013 – Present HEWLETT PACKARD
Senior Software Engineer
Developing a rich HTML5/Javascript/CSS3 catalog similar to Google Play and iTunes for HP internal customers. Support for a multitude of mobile devices and desktop browsers including completely responsive design using one codebase. I have also become very involved in a 3D printing initiative that I pretty much can't talk about, but my piece of it involves quite a lot of rich, interactive HTML5/Javascript/CSS3 code using drag and drop and WebGL.