Scott Wlaschin

Senior software architect/developer with 20+ yrs experience

Goals

·         My goal is to work collaboratively with a small cross-disciplinary team to architect, design and build elegant and usable software systems that create business value. I have a wide variety of software-related skills, from high-level to low-level, and I enjoy being versatile and doing whatever is needed to help the project.

Software development skills

·         15+ years experience with architecture and software design.  Very familiar with design patterns, SOA and service contracts, Enterprise Integration Patterns and messaging, CQRS, and general API design. I am pragmatic and technology agnostic. I prefer to use a mixture of top-down and bottom-up design, getting the best of both, and using iterative development and proofs of concept to mitigate risk.

·         20+ years with object oriented programming, especially using C#, Smalltalk, Python. I have written OO books and organized OO training seminars. Also familiar with functional programming using F#.

·         10+ years experience with .NET, including use of ASP.NET, WPF, WCF, data access libraries and ORMs such as LINQ and NHibernate.

·         15+ years web programming on client and server. Very experienced with hand-coded HTML, standard server languages (PHP, ASP), page design and templates (XML/XSLT, CSS), client-side scripting (DHTML/DOM, JavaScript, AJAX), admin of web servers (IIS, Apache), various web frameworks (ASP.NET, Django), SOAP and RESTful web services (contract first development with WSDL/XSD), authentication and authorization, other internet protocols (FTP, SMTP/POP).

·         20+ years with relational databases. Particular experience with SQL-Server, Access, MySQL, ODBC, etc. I have written many thousands of lines of T-SQL stored procedures. I understand database design theory, and have designed data warehouses and ETL using SSIS.

·         Very experienced with Microsoft platforms and tools: Visual Studio, MS Office programming, and most development and design tools for Windows.  Also have graphic design experience with Photoshop, Illustrator, etc.

·         20+ years experience with documentation and requirements gathering. I actually enjoy writing documentation, and I am an advocate of understandable writing with lots of visual representations using diagrams and flow charts.

·         Familiar and comfortable with good development practice, including design (UML), source control (Subversion), unit tests (NUnit), code reviews/inspection, design documents, rapid prototyping, continuous integration, etc. I know what is required to build production-ready enterprise apps.   

·         Experienced as a development manager and team lead. I have successfully introduced and managed Agile development processes such as Scrum and Test-Driven Development.

Job History

Oct 2007 – Present.  IT Architect/Senior Developer, Liz Earle Beauty Ltd, Isle of Wight, UK.
Technologies used: C#, web services, SQL Server, SQL Reporting Services.

·         As architect, took lead in moving the business to a modular (SOA) model for business processes. Conceived, designed and coded new web services to enable business apps to be more responsive and flexible.  Created WSDL contracts and guidelines for other developers to work from. Initiated use of async communication patterns to help with scaling and reliability.  

·         Took responsibility for addressing and resolving multi-channel issues, such as consistent business rules, unified customer management, and master reference data.  Championed usage of a consistent data model for key business objects (customer, orders, products) from upstream order taking systems through to fulfillment and reporting

·         Acted as technical lead for integration with third party systems.  Worked with suppliers and in-house stakeholders to create requirements and specs for integration points.

·         As a developer, was highly productive, responsible for designing and coding two major applications plus many minor ones.  Also turned two failing projects into successes by switching to agile development and focusing on user acceptance at every stage.  

·         Designed the reporting system and data warehouse schema.

·         Currently acting as co-development manager. Heavily involved in technology and design decisions.

·         Coached other developers (and the operations team) on architecture and design such as patterns, SOA, message queues, etc.

 

July 2005 – Aug 2007.  Senior Developer/Architect, Bonneville Power Authority, Portland, OR, USA (contract).
Technologies used: ASP.NET, ADO.NET, C#, SQL Server, CSS, Nunit, web services, SQL Reporting Services.

·         Architected and designed a replacement for a legacy power metering system for Bonneville Power Authority with many integration points. Converted 100,000 lines of obscure SAS code into an application that uses standards such as web-services, SQL databases, an ASP.NET website for the user interface, SQL Server Reporting services for reports, etc. As part of this I parsed the legacy code to create a dependency graph and created visualizations (with graphviz) that drove the project planning.

·         Architected and designed an application for managing the sales and allocation of renewable power. Gathered requirements, created documentation, then designed and coded the entire system.

 

Nov 2004 – July 2005.  Senior Developer/Architect, Perfumenotes.com, Portland, OR, USA (contract).
Technologies used: Python/PyUnit/PHP, MySql, Apache web server, XML/XSLT/CSS, DHTML, JavaScript.

·         Built an application that integrates information from many perfume sites into a single unified database (an IMDB for perfume) and provides a web front end for searching by note, brand, etc. Techniques used included screen scraping from multiple sites (using regular expressions); conversion of data from multiple sources into standard XML format; integrating XML data into SQL database; web display from database using XSLT/CSS.

 

Mar – Aug 2004. Senior Developer, Hewlett-Packard, Portland, OR, USA (contract).
Technologies used: ASP.NET, ADO.NET, VB.NET, C#.NET, IIS web server, SQL Server, XML/XSLT/CSS, DHTML, JavaScript, NUnit.

·         For HP, I designed and built an XML-based .NET application for integrating 50+ disparate websites into a single unified CMS tool to create a consistent design and information architecture, while allowing decentralized editing and ownership of content.  Backend and UI were separated and all logic was unit tested with NUnit.

 

Aug 2003 – Feb 2004. Senior Developer, Intel, Portland, OR, USA (contract).
Technologies used: VB6, XML/XSLT/CSS, DHTML, JavaScript.

·         For Intel, I built an XML/XSLT online application for asking usability questions.  I inherited a system with a hard-coded, inflexible user interface, and converted it into a generalized web framework for building questionnaires in XML and displaying, retrieving, and collating the results.

 

April 2000-mid 2003: Freelance information architect/web designer/developer, Portland, OR, USA
Technologies used: VB6, XML/XSLT/CSS, DHTML, JavaScript, Apache web server, MySQL, Python.

·         Designed and architected a number of small business database-driven e-commerce sites. In addition to meeting the requirements of being a showcase for the products, the sites were praised for their simplicity, clear navigation and speed.

 

1993-April 2000: Co-founder and CTO, Enfish Technology, Pasadena, CA, USA.  
Technologies used: ASP, ADO, VB, IIS, Access, SQL Server, XML/XSLT/CSS, DHTML, JavaScript, Python, Smalltalk, MS-Office automation using COM, Active X.
Enfish Technology was a dotcom company that built a number of well-received products for managing personal information. I was architect and designer of a number of projects there. As part of the management team, I played a key role in business strategy and marketing discussions.  Also acted as consumer advocate and coached CEO and management team on user-centered design issues.

As CTO at Enfish Technology, I was involved in these major projects:

·         Designed and implemented a powerful CMS tool (1999) that allows non-techies to control the textual content for a web-site (DOC/XML files), while allowing the designer to control the look (via XSLT), and allowing the site manager to control releases (using version control).

·         Architect for a complex back-office system that processes customer interactions (1998-1999). This included programmatically interacting with multiple web sites using HTTP and FTP, receiving and sending emails (POP and MAPI), interacting with Access and SQL-Server databases, and finally generating nightly management reports and graphs for the Enfish intranet.

·         Architect for Enfish Tracker (1997-1998), an ahead-of-its-time desktop search tool for tracking and organizing all your personal information. Wrote high and low-level specs. Led product-design process, including cross-functional team sessions for determining the requirement, and technical reviews.

·         Architect and designer for Enfish Workspace (1995-1997), an easy to use free-form information database.  For this system, I developed a new database architecture, which led to two patents in my name. I also developed and coded an innovative user-interface class library (similar to the Java Swing library but 2 years earlier). I also developed and coded a modular indexing system, based on the Harvest technology.

·         I designed and architected the web site for Enfish Corp. The site had to be redesigned from scratch to incorporate three merged companies and their old sites, which now operated as one. This was over 150 pages of content that had to be digested, reorganized and integrated. I developed, designed and prototyped a new, more usable site architecture. I also wrote most of the new copy. I achieved all this all within 4 weeks.

 

1992-1993: Freelance consultant and trainer, specializing in Smalltalk. Los Angeles, CA, USA (freelance).

·         Wrote 4 Smalltalk books. Organized and ran Smalltalk training seminars. Organized the L.A Smalltalk User Group and one of the first Smalltalk developer conferences.

Other

Business skills

·         I am a self starter, and can learn and digest new information quickly (both book knowledge and hands-on knowledge).

·         I have good communication skills, and I am happy to take the lead in communicating with and training other team members. I also enjoy collaborating with non-techie people (such as marketing execs and graphic artists) on business goals and product strategy.

·         I have had experience in management and can balance technical decisions with business priorities other constraints. I can “manage up” and work well with senior management.  

·         I am familiar with non-technical areas such as business process improvement and marketing practices (e.g.  I enjoy books such as Crossing the Chasm, Permission Marketing, Good To Great, etc.).  If I see a customer experience or business process that can be improved, I will take the initiative to propose and develop solutions, in collaboration with other stakeholders.

Usability and User Experience

·         In all my projects, I have continuously pushed for understanding the psychology of the user, rather than just concentrating on technology and features.  But I can also speak software-developer-speak and have performed a valuable role in translating between different parts of the business.  

·         I have often taken the lead in introducing rapid prototyping/agile as a design technique for better user acceptance. 

·         I have initiated usability testing (including doing a cost/benefit study to overcome management resistance), and helped organize and analyze usability tests.   Have read and applied the classic UI/HCI books (Norman, Nielsen, Tog, Schniederman, Laurel, Tufte, McCloud, etc) to all my UI projects.

Writing/Research

·         I have written and self-published 4 successful books on object-oriented programming in Smalltalk. Also have written thousands of pages of documentation in my role as architect and designer. 

·         I have often been responsible for researching and writing digests of new technology issues and marketing issues for the CEO and other staff.  

Education

·         M.A in Maths from Cambridge University, England.