Mats
Henricson
mats.henricson@crisp.se
http://www.crisp.se/mats.henricson
Phone:
0706-83 84 88
Master of Science in Engineering Physics. Professional software development in C++ and Java since 1989. Co-writer of a C++ book published by Prentice Hall. Very solid OO experience. Between 1993 and 1996 voting member of the ISO/ANSI C++ standardization committee, representing Ericsson. Member of the Java Community Process, JCP. Passion for agile development of quality software in Java. Currently specializing in Scrum, TDD, Java, Ajax, Scala and technology scouting.
On my free time I'm developing a customizable packing list for travel. I use Tomcat/Servlets/JSP, Applets, Spring Framework, GeoTools, XSLT, XML, XSD, Castor, log4j, JavaScript, JUnit, HttpUnit, Ant, JavaMail, Subversion, JPreferences, Hibernate, MySQL, JFreeChart, HTML 4.01 and CSS. It is hosted here. Source code available upon request.
Crisp AB,
Stockholm, Sweden, September 2004 - current
Crisp is a
partner-owned company offering exceptionally experienced J2EE and
agile consultants. Position as Software Engineering Consultant.
Developed Java software for an online gaming company, using Tapestry 5, Maven 2, IntelliJ 8, Jetty, Perforce, Ubuntu, Jira, MediaWiki, Java 6, Oracle, DbVisualizer, dotCMS, Spring 2.5.
Developed Java software for a online gaming company, using Scrum, TDD, Maven 2, Eclipse, JDK 1.6, Spring 2.5, jQuery, JPA, Ubuntu, Perforce, Oracle and WebLogic.
Designed, implemented, tested and documented a RESTful interface to a JavaScript web client using Jersey, JAXB and JSON. Delivered to partner as a totally self-contained WAR file.
Kickstarted Scrum at a real-time image analysis startup at KTH.
Designed an XML Schema for inventory database import from external customers.
Used Quartz to develop a timer framework for downloading keyword search statistics from Google, Yahoo, Eniro and TradeDoubler. Also used Hibernate 3, Spring 2.5 and GWT in a Scrum project.
Maintained the web layer of a Web 2.0 application written in Tapestry 4. Also some Ajax using Tacos.
Created a 3 hour Ajax seminar and held it at various companies in Stockholm. Used S5 instead of PowerPoint. Also created a 1 day Ajax course called “Advanced Ajax with DWR”.
Maintained a PoC/SIP-application at Ericsson. Java 5, Eclipse, Tomcat, ClearCase, Ant, JUnit, Sybase. Reviewed several hundred files across the project.
Implemented various helper applications for the travel industry, such as processing of PNL/ADL files and passenger notifications for travel changes. Java 5, Tomcat, Eclipse, PostgreSQL, Ant and XMLC.
Changed the architecture of a server platform for mobile games. Introduced better scalability and removed single points of failure. Performed reviews of all new code. Redesigned a J2ME/MIDP API to be very generic and flexible, and still only 1382 bytes of size. Introduced the use of Hibernate and JUnit. Eclipse, MySQL, J2SE 1.4, ActiveMQ and Perforce.
Valtech
AB,
Stockholm, Sweden, December 2003 - August 2004
Valtech
is a medium-sized company mainly offering skilled J2EE consultants.
Position as Software Engineering Consultant.
Developed software for supporting content providers to a mobile platform at Telia. JSP, JavaScript and JDBC.
Avega
AB,
Stockholm, Sweden, September 2003 - November 2003.
Avega
is a medium-sized company mainly offering skilled J2EE consultants.
Position as Software Engineering Consultant.
Developed software for a claims management system for ESF-Rådet, a government agency delivering EU-money to various projects. Servlets, Rose, and the STINA framework.
WebPutty
Inc.,
San Jose, California, November 2002 - May 2003
WebPutty
was a startup with an application platform product. Position as
Principal Software Engineer.
Developed server software in Java and C#.
Wrote the Ant build script for the Java project.
Ported a subsystem processing a minilanguage from C# to Java.
Developed web sites for partners, using ASP, C# and JavaScript.
Enactex
Inc.,
Campbell, California,
February 2002 - November 2002
Enactex
was a small startup with a project collaboration product. Position as
Senior Software Engineer.
Developed server software for an internet project collaboration tool suite. JDK 1.3, Ant, JBuilder, StarTeam, Oracle, SQL Server and JDBC.
Rearden
Commerce (then
Talaris) Sunnyvale, California, October 2000 - February 2002
Rearden
Commerce is a web
services company targeting mobile professionals. Position as Senior
Software Engineer.
Designed, developed, tested and maintained adapter software translating partner requests and responses in various formats for a services system, using RMI, Servlets, JSP, XML, XSD, XSLT, WebLogic, CVS, JBuilder and JDK 1.3.1. Very few bugs ever found.
Created a performance measuring framework.
Introduced unit testing at the company and extended JUnit to be used both for unit and load testing.
Refactored EJB and JMS code to be more efficient.
Critical
Path,
San Jose, California, April 1999 - October 2000
Critical
Path is concentrating on the corporate messaging market. Position as
Senior Software Engineer.
Redesigned, refactored, added new features and fixed bugs in an internet based project collaboration server written in Java.JDK 1.1 and 1.2, JDBC, Oracle, SQL Server, LDAP, Symantec Cafe, JBuilder, CVS, StarTeam.
Analysed, designed, implemented, tested, documented and provided user support for an RMI/EJB/CORBA compatible Java API to the server. Used many XP techniques, such as having a test suite and very short release cycles. JDK 1.2, JavaDoc, JBuilder Foundation, StarTeam. Very few bugs ever found.
Henricson
Technology AB,
Stockholm, Sweden, September 1998 - April 1999
Henricson
Technology AB is a family owned company. Position as Software
Engineering Consultant.
Developed a gateway in Java generating hotel booking XML requests and parsed XML responses for Hilton. JDK 1.2 beta 4, Emacs, RCS, JBuilder.
Developed a demonstration todo-list application for an internet speech browser startup. HTML 4, JSP.
Contactor
AB,
Stockholm, Sweden, April 1997 - August 1998
Contactor
is a medium-sized company offering high-end consultants, mainly in
object-oriented technology. Position as Software Engineering
Consultant.
Developed 3-tier ActiveX components in Visual C++, involving Oracle, Access, ODBC and ATL on Windows NT 4. The components were accessed from a GIS application written in Visual Basic, visualizing air and noise measurements, and offering environmental impact assessments.
Developed ActiveX components in Visual C++ on Windows NT 4. The components displayed GIS maps for radio signal simulations of mobile networks.
Intact Media and
Communications, Stockholm, Sweden, September 1996 - April 1997
Intact
was an internet startup developing web sites and promotion games.
Position as Senior Software Engineer.
Developed software for a ruggedized PC with a credit-card reader using Netscape to offer email and Internet access. Visual C++. Also ported legacy code from Windows 3.11 to Windows 95.
Developed a Windows 95 promotion car racing game for a major Swedish candy manufacturer. Did everything except illustrations, i.e. programming, project management, testing, installation program and documentation. Visual C++ and DirectX. 13 weeks from project start to CD-ROM.
PostNet,
Stockholm, Sweden, February 1996 - August 1996
PostNet
was the division within the Swedish Postal Service responsible for
developing Internet and Intranet applications. Position as Project
Leader.
Project leader for loading of partner data to the largest Internet shopping mall in Sweden.
Ellemtel Telecom Systems Labs,
Stockholm, Sweden, 1989 - 1996
Ellemtel
was a large applied research lab, much like Bell Labs, owned by the
Swedish
Telecom and
Ericsson.
Position as Trainee, Software Engineer and Team Manager.
Co-wrote the public domain 'Ellemtel' coding standard for C++, now used at many hundreds of companies across the world.
Reviewed several tens of thousands of lines of C++ code within the project.
Member of a team developing an object-oriented database for a distributed real-time object-oriented telecom operating system.
Manager of the C++ support team responsible for tools, bug tracking, cross compilers, customer support, technology watch and purchase of C++ cross compilers, development environments, code libraries, and memory leak tracking tools.
Televerket Radio, Stockholm,
Sweden, 1987 - 1989
Televerket
Radio was the radio access division of the Swedish Telecom (Telia).
Position as Software Engineer.
Static and dynamic analysis of guyed television masts using Fortran 77 on VAX.
Education
Uppsala University, 1983-1987. Master of Science in Engineering Physics. Major in Scientific Computing.
Cetrified Java Programmer in 1998.
Certified Scrum Master (2 days) in May 2007 by the creator of Scrum, Jeff Sutherland.
Deep Lean (1 day) in February 2008 with the “queen of lean” Mary Poppendieck.
Test-driven Development (TDD) (3 days) by the creators of TDD, Ron Jeffries and Chet Hendrickson, June 2008.
Conferences
JavaOne
(seven times), LinuxWorld (twice), The Ajax Experience, Web Services
Edge, C++ World, USENIX C++, ECOOP and LOOK.
Publications
Co-author of the book 'Industrial Strength C++, Rules and Recommendations' published in November 1996 by Prentice Hall (ISBN 0-13-120965-5). It consists of rules and recommendations for C++ programming. Now available online.
Author of the document “State of the Art in Server Side Java”, featured at TheServerSide, and now available online.
Creator and sole maintainer of the only Swedish website about Ajax (no longer in service).
Blogs:
|
OS |
Solaris, Windows (NT/2000/XP), Linux (Red Hat, Debian, Kubuntu, SUSE, Ubuntu) |
|
Internet |
REST, HTML, XHTML, XML, XSLT, XSD, WebServices, JavaScript, CSS, Applets, S5, Web 2.0 |
|
Ajax |
DWR, Reverse Ajax, Script.aculo.us, Prototype, Tacos, ICEfaces, GWT, jQuery, JSON |
|
Tools |
SourceSafe, RCS, CVS, StarTeam, Perforce, ClearCase, Subversion, Jira, Ant, Maven, JBuilder, Eclipse, MyEclipse, IntelliJ, dotCMS, OpenCMS, Tomcat, WebLogic, Jetty |
|
DB |
SQL, Oracle, Access, JDBC, ODBC, MySQL, PostgreSQL, SQL Server, Sybase, DbVisualizer |
|
OO |
Design Patterns, Refactoring, API design |
|
Java |
JavaBeans, JSP, JDBC, RMI, EJB, Servlets, Castor, log4j, JUnit, HttpUnit, Hibernate/JPA, Spring, JMS, MIDP, DWR, XMLC, Tapestry, FreeMarker, Quartz, Jersey, JAXB |
|
Other |
ISO 9000, CMM, Games Programming, Programming Standards, Quality Assurance, Code Reviews, XP, Metrics, Agile Software Development, Scrum, TDD, Lean, Actors, Scala |