Henrik Kniberg - CV

Downloadable/printable version

I am fascinated by the art of software development.

How do you write great code? How do you document complex architectures? How do you lead teams and projects? How do you create interesting and effective development environments? How do you communicate with customers? How do you write useful requirements? How do you ensure that a system is maintainable? How do you educate developers? How do you test? How do you make systems scale?

Since most areas of software development interest me I like to vary my roles. I've worked as entrepreneur (founded two IT companies), chief of development, programmer, architect, team lead, teacher, and coach.

Regardless of role, my main area of expertise is Java and agile methodologies, preferably in combination. Within these two areas I try to keep myself up-to-date. I'm particularly fond of TDD (test-driven development) since I've seen the enormously positive effect that TDD has upon code quality and development speed.

 

Contact info

Email: henrik.knibergcrisp.se
ICQ: 3053205
Skype: henrikkniberg
Phone: +46 70 4925284

 

Personal info

Born 1973, Married, 2 children. Raised in Tokyo. Live on Färingsö (just outside Stockholm).

   
 

Links

Portfolio (examples of my work):
henrik.kniberg.com/portfolio.html

Personal Homepage:
www.kniberg.com/henrik

Professional values & goals

  • To always learn & teach.
  • To work with highly skilled and motivated people.
  • To work in environments where people are judged by skill & effort, not by hierarchy.
  • To continuously improve myself and the teams & companies that I work with.
  • Freedom to control my own time and work environment, in order to achieve balance.
  • Freedom to try new approaches to old problems.
  • Freedom to make mistakes and be given a second chance.

Primary skills & interests

  • Leading, coaching, and managing software development teams
  • Agile software development processes (mainly Scrum and XP)
  • Test-driven development (TDD)
  • Object oriented analysis & design
  • Java architecture & programming (learning Ruby)
  • Teaching & writing about all of the above

Personality & attitude

My peers consider me to be:

  • Positive - I focus on solutions rather than problems.
  • Focused - I drive hard and steady towards the goal, not easily sidetracked.
  • Good leader - I make sure people understand what needs to be done and why, rather than just telling them what to do.
  • Honest - I don't hide the truth, even when the truth hurts.
  • Motivated & Inspiring - I try to spread an atmosphere of inspiration and creativity, finding joy in almost all challenges.
  • Teaching - I enjoy continuously learning and spreading new knowledge and insights.
  • Objective - The best solution should win, even if it isn't mine.
  • Creative - I look for the best solution even if that means going against traditional and established practices.
  • Empathetic - I'm concerned about the emotional well-being of the people around me
  • Ethical - I try hard to stick to my word and not misuse trust.

Professional experience

When Where What
From march 2004 Crisp AB, Stockholm

Co-owner and consultant. Crisp is a small company (15 people as of june 2007) specializing in Java and Agile software development.

Consulting contracts & projects:

When Where What
September 2007 JAOO 2007 Invited by Jeff Sutherland to do a 3 hour tutorial about Scrum and XP at the JAOO conference in Denmark.
May 2007   Tought a Certified ScrumMaster course together with Jeff Sutherland, co-founder of Scrum. I will teach three more ScrumMaster certification courses with Jeff in August and October.
April 2007   Opening speaker on Agile conference SAST Q2 (Swedish Association for Software Testing), with approximately 170 participants. Described Agile software development and Scrum.
Dec 2006   Wrote the book Scrum and XP from the Trenches - How we do Scrum. The book was downloaded approximately 30,000 times within 3 months and has been mentioned in dozens of blogs and web sites as one of the best books on agile software development. The book is currently being published at InfoQ, with forwards from Mike Cohn and Jeff Sutherland.
Dec 2005 - Mar 2007 Tain AB, Stockholm

Chief of development.

Tain is an international online gaming solutions company. My role was to organize and lead the development team (approximately 40 developers), promote good design practices, and establish efficient routines for requirements, development, quality assurance, release management, etc.

I drove the implementation of Scrum and XP, the two most well-established agile software development processes. This is described in my book Scrum and XP from the Trenches.

We used Java/J2EE and a host of well-established technologies including Spring framework, Hibernate, Tapestry, Java Server Faces, Struts, JBoss, MySql, PostgreSQL, and Oracle DB. The system was in production and handled thousands of simultaneous players and over a million € in economic transactions per day on a 24/7 basis.

I also led the recruitment and organization of an offshore team in Kiev, and experimented with distributed Scrum and XP practices to manage this.

From jan 2005 Various companies

Tought courses in:

March 2005 - Dec 2005 Compound Systems, Stockholm

Architect & developer of flight booking systems. My biggest project was a flight booking web application for travel agents including web design, integration with payment providers, database design, requirements analysis, etc. At this customer I introduced modern development techniques such as continuous integration and test-driven development, and modern frameworks such as Hibernate and Spring framework.

flight booking system screenshot
March 2004 - Dec 2004 Essnet Interactive, Stockholm
System design team leader for a distributed system for casino-style gaming terminals ("interactive video terminals") running games such as blackjack, roulette, and super7. The system was designed for over 50,000 terminals simultaneously connected to a central system, handling billions of euros per year in monetary transactions.
March autumn 2002 - march 2004 Epicent, Stockholm

Cofounder and CTO. Epicent develops and sells services that enable remote communication between mobile phones and PCs, for example "Beamster Viewer" allows the mobile phone to be used to browse PC files regardless of the user's location, even if the PC is within a private network or protected by a firewall. This is enabled by a patented technical architecture that allowes mobile phones and PCs to communicate with each other over the Internet.

My role was to develop the platform and services, provide sales support material, set up strategic partnersships with other tech companies, and coordinate development efforts being done internally and externally.


Autumn 1998 - autumn 2002 Goyada, Stockholm Cofounder and CTO.  My primary role was to build a competent team of developers and architects and keep them motivated and coordinated. We were four founders and the company grew to 70 people and four countries within a couple of years. During this period I've worked mostly with team leadership, platform architecture, product development, and sales support. As of 2003 Goyada has a turnover of approximately €7-10 million and is one of Sweden's leading e-commerce companies.
  • Designed and developed most of  the technical platform and architecture. This included:
    • Messaging system that allows dynamic combinations of interfaces such as SMS, WWW, telephony, WAP, and email. 
    • Billing system through which both Goyada and their partners can log in and follow up sales and invoicing.
    • Mobile service platform, including an XML based language through which interactive mobile services could be created in very little time.
    • Ecommerce system to which physical and electronic stores could connect securely and execute sales of electronic vouchers.
    • Login and payment systems for the mobile phone.
    • Integration with a large number of online content providers, banks, and telecom operators.
  • Set up an efficient technical team consisting of 20 developers locally and 8 developers outsourced in Poland.
  • Set up partnerships with hosting companies, consulting companies, and offshore developers.
  • Introduced modern development and quality assurance processes for software development and maintainance.
  • Set up 24/7 operation and automatic monitoring where each developer received sms-based alerts and could maintain servers from their homes.
  • Set up a helpdesk organization and the technical tools they required.
  • Developed several patents related to mobile services.
  • Extensive usage of technologies and tools such as J2EE, EJB, XML, JSP, HTTP, Struts, JUnit, Ant, OODB, and RDB.
Summer 1997 - summer 1999 Netbreeze, Stockholm

Cofounder, software consultant. Netbreeze is a small software consulting company run by myself and a colleague and a network of subconstractors. During this period I was involved in a several projects related to e-commerce and internet security, all based on Java. My role was software architect and developer.

Consulting contracts:

When Where What
Spring 1998 - summer 1999 Ericsson Data, Kista Designed and  implemented an architecture for single sign-on authentication based on digitally signed JavaBeans. This saved Ericsson from the hassle of having to implement password security and login GUIs for applet-based clients, by allowing seperate, independent applets to share a single login session and login/logout process. In addition this significantly increased the usability and security of applet-based clients.
Summer 1996 - spring 1998 Telia Tradebase, Stockholm Participated in a large project to implement electronic invoice handling on a large scale. My part of it was a client/server based EDI scheduler and monitor. 
Summer 1998 - winter 1999 Effect, Stockholm Designed and developed a client/server-based graphing system, so that customers can log in and view specialized marketing statistics graphs and diagrams dynamically from the comfort of their own office. 
Fall 1998 Royal Institute of Technology, Stockholm Tought 15 lectures and seminars on object oriented analysis, design, and Java programming.
Spring 1998 Hallmans Idrottspriser, Stockholm Initial web site design
Spring 1998 Royal Institute of Technology, Stockholm Created and tought a commercial Java course, 40 hours of lecturing in total. A lot of work but it was fun.
Autumn 1995 - summer 1996 Domino Datapartner, Stockholm Created a large windows based back office system for gas stations
Summer 1995 Pharmacia Research, Tokyo Created a small budget-reporting system that automatically generated Excel reports from Access databases.
Summer 1995 Nobel Pharma, Tokyo Created a database frontend for analysis of sales data using GQL (Graphic Query Langauge) to communicate with a large AS400 database. 
Summer 1994 Pharmacia Plasma Products, Stockholm Mac network adminstration. Created a converter program between two different word processor document formats.
Summer 1993 Swedish Trade Council, Tokyo Created a contact management system using Filemaker Pro. Created some accounting aid programs using Lotus 123. General PC support.

Education & certifications

When Where What
Feb 2006 Uppsala Scrum master certification with Ken Schwaber.
Fall 1993 - summer 1999 Royal Institute of Technology, Stockholm Masters Degree, Computer Science. 95% complete. Masters thesis on micropayment solutions (see http://www.kniberg.com/thesis).
Fall 1988 - spring 1991 Sigtunaskolan Humanistiska Läroverket, Sigtuna Highschool, International Baccalaureate degree (36 points). SSHL is a Swedish boarding school, but all my education was in English.
1979 - 1988 American School in Japan Elementary and middle school.

Languages

  • English - fluent
  • Swedish - fluent
  • Japanese - conversational

Articles & publications

Personal projects

  • Junk find - a disk cleaner tool (http://junkfind.kniberg.com/)
  • Band planner - a nifty little web service for band and meeting planning (http://bandplanner.kniberg.com)
  • Bean bowl - a Java development and learning tool, this project is not active (http://beanbowl.sf.net)
  • White orb - an online gaming system, this project is not active (http://www.kniberg.com/whiteorb)