 | 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.kniberg crisp.se ICQ: 3053205 Skype: henrikkniberg Phone: +46 70 4925284 |
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. | | 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 Languages - English - fluent
- Swedish - fluent
- Japanese - conversational
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)
|