Jonathan A. Pierce - Jungle Creatures, Inc.

advertisement
Jonathan A. Pierce
20 Pine Street. APT 618
New York, NY 10005
Home: 212 737-9424 Cell: 917 664-0030 Email: jpierce@junglecreatures.com
Background Summary














Hands on enterprise .NET software architect, development manager, and developer, expert level knowledge in building
scalable multi-tier enterprise solutions.
Able to evaluate major new technologies and influence the business to adopt them when they provide significant
advantages over earlier technologies.
Encourage the utilization of .NET standards across the enterprise.
Able to contribute to multiple initiatives including cross-platform mobile and cloud based solutions that expose existing or
new business capabilities as a service.
Passionately committed to quality and timely delivery of products utilizing emerging technologies with agile and iterative
development processes centered on customer needs.
Products range from thin to smart client front-ends with web or restful service middle tiers and scalable back-ends including
cloud based solutions. Focused on C# and Microsoft technologies but have a strong history of java and C++ based
development as well.
Committed to long weeks as needed to deliver successful enterprise grade scalable, secure, high performing solutions, and
mentor junior talented resources to achieve similar levels of expertise.
Component decoupling and deferral of implementation commitments by maintaining boundaries between component
responsibilities, and utilizing bidirectional view binding to keep views decoupled from their models.
Start lifecycle with a well-defined logical architecture based on component decomposition, and sequence diagrams, and
including platform and data services as request/response or message based, and external interactions with other
components or host container. Consider performance, scalability, security and other tenets of the software development
lifecycle.
Utilize architectural review followed by design and iterative agile processes including daily standups, biweekly sprints,
shared code ownership, continuous integration, as well as continuous and periodic code reviews, static analysis with custom
rules.
Full knowledge and expertise utilizing design patterns, object oriented development.
Proactive in reviewing and evaluating new technologies and industry trends and considering utilizing them based on
customer needs, their stability, and any cross-platform or deployment concerns to utilize and reuse the best technologies
for the product.
Wrote several successful commercial .NET tools including an accurate combination decompiler, obfuscator, language
translator, and refactoring tool that supports full round-tripping from MSIL to C# back to MSIL that compiles and runs
correctly.
Full understanding of platform and data services including Authentication with STS (WIF), Entitlements, User data storage
services, Service Bus, Streaming data services using SignalR.
Recent Technologies Include:







IOS SDK, Xamarin, IPad/IPhone development, SOA, WPF, WCF, C# 5.0, .NET 4.5, Multithreading, Silverlight, CEF# wrapper,
Chromium Embedded Framework (CEF), restful web services, Relational databases including SQL Server 2012, Oracle, and NoSQL unstructured databases such as Mongo DB, Azure table storage. Real-time messaging utilizing Azure Service Bus for
maintaining queues and topics, SignalR for sending and receiving messages. Reg-Free COM, JAVA, zero-install deployment,
JavaScript MVVM data binding frameworks like Angular.js and Knockout.js, HTML5, ASP.NET MVC, Entity Framework (EF),
Dependency Injection(DI), Inversion of Control (IOC) (Autofac) TSQL, Data Modeling, Smart Client, Add-Ins, SignalR for real-time
streaming, IPhone, IPad, Xamarin.
Deep knowledge utilizing C#, .NET Runtime, and over 10 years of development with Visual Studio and Resharper.
Extensive application development experience with SQL Server, SVN, GIT
Experience with LINQ, Team Foundation Server
Years of front-end development experience with MVC frameworks, and ASP.NET, JavaScript, CSS, JQuery.
Experience writing and consuming REST web services.
Use of AutoFac for dependency injection and inversion of control (IOC).




Experience with HTML5 and JavaScript MVVM frameworks such as Angular.js and Knockout.js that support bi-directional
JavaScript data binding.
Working knowledge of Entity Framework (EF) for ORM.
Familiarity with native mobile device development and advantages of sharing the majority of the code using a common code
base such as Xamarin, while still utilizing device specific extension capabilities with native APIs when necessary.
Use of adapters to implement common interfaces across different implementations.
Other Tools and Technologies
VS2013, Resharper, NANT, Cruise Control, SVN, FxCop, NCover, MS-Test, NDoc , WCF, Javascript, Typescript, Knockout.js,
Angular.js, Entity Framework 4.0, Ajax, Restful Web Services, SignalR, Real Time Messaging, Dependency Injection, Inversion
of Control (IOC), Autofac, ASP.NET MVC, MVVM, WSDL, XML, XSD, XSL, DOM, HTTP, SSL, Smart Client, Click Once, XQUERY,
JAVA, JSP, Applets, Apache Tomcat, O/R Mapping, SCSI, EDI, Firewall management, SQL Server, Oracle, Sybase, TSQL, PLSQL,
Windows, Mac OS, UNIX, Chromium.
Experience
DOOR 3 9/2014 - Present
Responsibilities:
Build IPhone, IPad, and Android native applications for various clients using C#, Xamarin, Monotouch, IOS SDK, Android SDK, and
Visual Studio.
Build middle tier REST services and repository adapters against client CMS consumed by Angular JavaScript front end.
Accomplishments:
Delivered their IPAD native app to their largest customer, completing remaining taskas at an accelerated rate. Re-architected their
code base and changed the services and UI layer to be asynchronous and non-blocking. Improved performance and stability by
adding batch operations, logging, and exception handling. Taught IOS developers to use data binding, dependency injection, events,
coding style, naming standards, task parallel library, and asynchronous coding.
Assisted their 2nd largest client development team by writing remaining middle tier RESTful web services and a repository adapter
layer against their client CMS, and fixing their critical defects to deliver that project on time while it was in danger of being late.
Skills User:
C#, Agile, SOA, TPL, asynchronous tasks, data binding, inversion of control, IOS SDK, Generics, LINQ, GIT, Visual Studio, XCode
Genscape Inc. 2/2013 – 3/2014
Principal Architect - Strategy







Engaged in a small senior strategy team transforming the organization to prepare it for future growth by switching technology
stacks, improving workflows by providing custom tools empowering analysts without a dependency on IT resources,
consolidating and providing shared tools to business development teams so they focus on their domains, migrating the data
model to a common one across the business tiers, so data from multiple sources can be rendered on the same visualizations at
the same time, based on user data level entitlements.
Followed Agile methodology utilizing scrum development iterations, behavior driven development, daily standups, code reviews,
continuous integration, unit tests, regression tests, project, sprint and code review retrospectives, continuous refactoring,
shared code ownership, and occasional pair programming.
Developed an Excel Add-In for the oil team that supported simultaneous thread-safe retrieval and loading of multiple large
dynamic reports including macros in one month that went right into production to replace an expensive failing 3rd party product.
Developed prototype applications with emerging technologies and architecture to compare and recommend application
architecture and design strategies. These included both managed and web based technologies for use on the front-end, middle
tier, and backend. Prototypes included Node.js and SignalR for messaging, and Node.js for rendering.
Defined HTML5 technology stack for web based delivery utilizing a Javascript frameworks including Angular.js and Knockout.js,
for data binding on the front-end, with Ajax restful web service calls to managed middle tier web services and messaging using
Javascript SignalR on the client and managed SignalR on the middle tier. Provided HTML5 based solution template, samples, and
presentations to development teams to encourage use of data binding architecture for Javascript HTML5 front-ends.
Developed a mission critical application to optimize the capturing of scraper definition metadata and scheduling and running
scrapers to collect big data, accessible to analyst built models and exposed to customers.
Architected, designed, and delivered a data model driven tool. This application was implemented with a hybrid desktop /
browser implementation delivered with Smart Client deployment. It utilized the rendering and data-binding capabilities of WPF
while at the same time taking advantage of those same features in embedded HTM5 compliant browsers using the Chromium
Embedded Framework (CEF). Calls were passed from managed code to Javascript and vice-versa to getting and setting selected


elements and changing the appearance of elements from managed code and similar notifications to managed code from
Javascript.
Utilized Azure Service Bus with topics and queues for persistent scalable asynchronous messaging between the front-end
desktop application and the suite of server side applications that messaged among themselves as well as back to subscribing
clients. The application gave direct editing access to analysts and allowed them to capture, maintain, preview, and schedule
scrapers by recording web navigation metadata, and mapping web based selectors to data model attributes in such a way that
the scraper adapts to different input data with the same structure when run on the backend as part of the scheduled job. The
tool allowed analysts to preview scraped data in the data model before scheduling the scraper, and to execute the scraper on
the backend engine and see the scraped data resolved to known entities and inserted into the data model. Implemented a back
end engine that ran scheduled scrapes and a management process that received and queued requests from clients, and notified
them of scraper execution status changes. Server processes utilized Azure Service Bus topics and queues to manage and persist
scraper execution requests. Defined the application user experience.
Planned and prototyped new platform services including a federated STS, services registry, and a generic storage for schema
based objects with versioning and inheritance, streaming data services to clients. Developed cloud-based big data solutions for
clients and internal analysts, embracing strategic last minute problems and delivering them nearly instantly to meet new
commitments made to customers.
Thomson Reuters, New York, NY
4/2005 – 2/2013
Principal Architect and Team Lead – Thomson One Next Generation Smart Framework










Architect, design, and lead the development of Thomson ONE 5.0, a full managed rewrite of their client desktop portal product.
Written with entirely managed code, designed with a service oriented architecture, and has better scalability, performance, and
user experience.
Followed Agile methodology utilizing scrum development iterations, behavior driven development, daily standups, code reviews,
continuous integration, unit tests, regression tests, project, sprint and code review retrospectives, continuous refactoring,
shared code ownership, and occasional pair programming.
Define goals, project plan, tasks, resource estimates, and scheduling of development tasks.
Hosted legacy ActiveX, .NET controls, and Web based views, supporting event handling, context translation and management,
link execution, etc.
Designed platform services and implemented client functionality for consuming them and persisting state for authentication,
authorization, services registry, context translation, preferences, UI state, global context, configuration properties, software
deployment, etc. Implemented a smart caching, compression, and batching strategy to minimize number and size of requests.
Designed and implemented workspace inheritance structure and workspace management allowing user versions of workspace
organization and pages to inherit from shared workspaces defined server side and local editing and persistence of user
customizations.
Isolated components so they run in separate UI threads, AppDomains, Processes.
Exposed a generic strongly typed transaction batch user object manager and web service with client side caching and a
transparent proxy that minimized request and response size and number of requests while service multiple client side
components simultaneously.
Explored alternative delivery options including Click Once, XBAP xaml browser app.
Explored porting to Silverlight delivery, and developed several prototype Silverlight apps.
Enterprise Architect / Senior Developer




Member of a small team of enterprise architects mentoring other teams across the corporation by developing shared tools,
researching and integrating new technologies, defining and incorporating standards and best practices through education,
recommendation specifications, tool development and architectural review. Extensive use of agile methodologies including daily
stand-ups, regular code reviews, extensive use of design patterns, refactoring, continuous integration, shared code ownership,
pair programming, and unit tests.
Developed an MVP toolkit in C# for view teams for both managed and web based views with common APIs and samples and
wizards for generating Visual Studio solutions for both ASP.NET and managed platform targets. Managed and ASP.NET samples
included clear separation between view, presentation, and model layers.
Developed a set of enterprise blocks with interfaces and implementations for accessing platform services for authenticating,
checking entitlements, accessing their view definition metadata, and persisting state. View developers linked against interfaces
only where the container team managed distribution of block implementations.
Generated solutions used a configured federated security token service to authenticate users.


Implemented a precursor to WCF that separated service contracts from their binding and endpoint definitions so views depend
only on their contract. Supported InProc, named pipes, and web endpoints.
Newer versions would use a JavaScript MVVM framework like Angular.js that utilized data binding for bidirectional
communication between web based views and their corresponding view models.
Jungle Creatures, Inc., New York, NY 10/2003 – 12/2010
Principal Architect / Senior Developer / President
http://www.junglecreatures.com/

As the owner of Jungle Creatures, Inc., I have developed and am currently selling several commercial products for resale direct
to consumers from the Jungle Creatures, Inc. web site that utilize newer .NET, XML, and B2B technologies.
Products:
Decompiler.NET


Decompiler.NET is a C# Windows Forms application that provides .NET developers with a combination decompiler, obfuscator,
and language translator tool for the Microsoft NET environment. It converts MSIL instructions in compiled .NET assemblies and
libraries into high-level optimized readable source code in multiple source languages.
XML Modeler
XMLModeler is a C# based graphical XML editor with real time validation.
Deploy.NET

Deploy.NET assists .NET application developers in protecting their proprietary code using encryption technology and shrinks the
size of deployed applications by compressing application components into a single dynamically loaded archive.
J2Sharp

J2Sharp is a Visual Studio plug-in that allows C# developers to directly link compiled java 2 classes into their .NET applications.
Diageo / Joseph E. Seagram & Sons, New York, NY
07/1993 – 10/2003
Senior Consultant - Principal Architect / Developer
Extranet B2B E-Commerce Portal (Java Servlets, Oracle DB)


Worked with senior management to conceive, architect, design, develop, and support a secure Extranet B2B E-Commerce web
site that allowed distributors to create and view orders and view their invoices with an internet facing portal.
The site, Web Oasis (https://www.custserv.diageo.com/) accessed billions of dollars of spirit and wine orders annually. Used core
java servlets to render high performant dynamic web based responses with queries over large data sets.
Invoice Retrieval Replacement Portal (Java, XML, XSL, JSP, JSTL, XPath, XQuery, SQLX, MySQL, Tomcat 5)
Document Management / Imaging Acquisition and Review (C++)

Designed and implemented a cross-platform, client/server, Document Management / Imaging System using MacApp and MFC.
Users are able to capture and share documents on a global network and access them from Macintosh and Windows based
desktop computers
Education
B.S., Computer Science, University of Maryland, College Park, MD
Download