Curriculum Vitae
2012-01-06
Kalle Hallivuori (Toivonen)
Senior Multidisciplined Information Systems Developer
Contact Information
Overview
Through hobbies since 1983, work since 1989 and studies since 1993 I have learned and practiced many aspects of the trade: Systems, network and database administration; design, development, testing and documentation of new media, embedded, SOA, web and GUI software; practicing and coaching many ways of working in and among teams. Fellow engineers I work with tend to like and appreciate me.
I prefer small, cross-functional teams and good communications over narrow roles in complex processes. I prefer empiric knowledge to guesswork as a basis for decisions. To me it seems that most fruitful projects often begin with a very clear vision, rely on readily available solutions, reduce or clarify overall system complexity and publish some of their results. I strive to continuously improve my work at all levels. I am drawn to quality and thrive in intelligent company. I find it rewarding to listen to and understand everyone.
Goals
I find successful engineering highly rewarding and love to learn new things. I also want to optimize the happiness of my family as my children grow up. Thus I want to complete work goals within limited but efficient hours while honing my skills and reputation. Eventually I hope to be able to develop some useful free software.
I aim to deliver long-lasting, deeply satisfying solutions, and spread related abilities around me. I intend to live and die happy: with red tests turning green in my hands.
Achievements
- At DEM Solutions I turned a chaotic support/development requirements gathering process into a smooth one.
- At a mobile network corporation I radically optimized performance of complex databases.
- At Elma Oy I made a successful replacement for a design dead extranet application framework.
- At To the Point Oy my scripts were used in many large high-quality new media presentations.
- I have autonomated and administered complex production environments at several places.
- My customers were happy with my services when I ran my own company.
Work Experience
- Operations Team Manager at Solinor Oy, 2011-06 - 2011-12:
- Overseeing and facilitation of PCI DSS compliant systems administration and monetary transaction issue resolution. Design and implementation of a data replication service with Perl.
- Senior Software Developer at Solinor Oy, 2010-10 - 2011-05:
- Quality coach for a software development team. Development of a message proxy in PHP and a packaging system for continuous integration with Bash and Perl.
- Senior Software Engineer/Consultant at Koodaripalvelut.com, 2007-04 - 2010-10:
- Software development with Java 6, Wicket, ORM with Hibernate and DataNucleus, as well as C#, C, C++ and wxWidgets, C# and Perl for customers; Scrum mastering and agile coaching in multinational, multisite teams; database development.
- Senior IT Engineer at Sulake Corporation Oy, 2005-04 - 2007-03:
- Postmaster. Unix systems integrator. Internal services architecture, design and development.
- J2EE Product Support Engineer at DEM Solutions Oy, 2004-05 - 2005-03:
- Created processes and integrated tools for support of large J2EE systems (mainly for Sonera). Managed support and participated in development of those systems.
- Stakeholder/Linux Consultant of Tietopaimen Oy, 2004-04 - 2003-03:
- Network, server and software solution provider.
- Entrepreneur/Linux Consultant as Korpikuu Tmi, 1998-06 - 2006-10:
- Internet server and application provider. Software developer, both alone and in teams.
- Software developer at Elma Oyj Electronic Trading, 1998 - 2002:
- Extranet solutions with Perl, C and Informix. Rolled own AJAX.
- Multimedia software developer/Unix administrator at To the Point Oy, 1996 - 1998:
- Design and development of production time boosting framework on top of Macromedia Director with Lingo.
- IT architect/remote administrator for Citlembik Ltd, Turkey, 1996 - 2000:
- Network and Unix server with required services for Windows clients in some offices and an internet cafe.
- Programming course assistant at University of Helsinki, 1996 - 1997:
- Guided students through their first own application designs and implementations.
Languages
- I cherish Finnish as my mother tongue.
- My International English borders on excellent.
- I can understand Finland's Swedish.
Education
- Undergraduate of Kallion Lukio, 1989, specialized in theater lighting and sound.
- Four years of Computer Science at University of Helsinki, 1993-1997. I felt I learned more at work.
Courses
- XML/XSLT; AJAX; Oracle PL/SQL; Configuration Management; ASL; Project Management.
Certificates
- Sun Certified Java Programmer; Certified Scrum Master.
Best Books Read
- Clean Code by Robert C. Martin; Working Effectively With Legacy Code by Michael Feathers; Agile Project Management with Scrum by Ken Schwaber; Extreme Programming Pocket Guide by chromatic; The Pragmatic Programmer by Andrew Hunt and David Thomas; Design Patterns by Group of Four.
Obligatory Acronym Listing
I don't consider what I've already mastered as essential to the success of any endeavour I participate in. I think it's crucial that I can understand the situation and goals well and swiftly acquire the skills and tools required for a delightful solution. So I'd rather not bother you with an exaggerated, exhausting, machine-readable listing of minutia. I hope to find my position among people who think likewise. Having said that, I also do realise that you do need some kind of map of my gatherings so far:
- I know UML coarsely, mostly using only the class and component diagrams myself, improvising visualization of systems under discussion or documentation. I think activity diagrams were called (finite) state machine diagrams when I learned to draw them in school. I can grasp the rest of it on the fly.
- I have years of excellent work experience with at least Perl (1997-), Java (1998-), Javascript (1998-), Python (2003-), C++ (2007), C (2002), C# (2007), PL/SQL (1998-), shell scripts (1997-), PHP (2005-), Lingo (1996-) and Visual Basic (1997). Dynamic ones are my favorites. Have another OOP or procedural language you'd like to try me on? Give me two weeks. Scala and Ruby I've tried out a bit and would love any excuse to work with them.
- I have solid developer-level understanding of J2SE/JSE and understand and have worked with the basics of J2EE/JEE. I used to avoid them as clumsy, but accept the fact that nowadays a large part of software world best communicates through them. Learning all about them, too, is a goal and would be routine for me.
- I understand and work happily with C++ templates (including STL), macros and multiple inheritance as well as frameworks based on those.
- I am not a user interface specialist per se, but have done quite some GUI design with XHTML, CSS, AJAX and WML as well as wxWidgets.
- In many teams I've found myself taking care of version, build and configuration management as well as deployment planning. I plan and build solid sets of automated acceptance and unit tests.
- Requirements specification I do best with user stories or use cases tightly together with customers.
- I like to actually calculate resource consumption and limits of the systems I develop, and verify my calculations with tests - whenever we have the time for it.
- I work best on POSIX UNIX, Linux, OS X or Solaris; can do and administrate Windows; have found VMWare, Parallels and Xen useful. I can remember VMS, Prolog and LISP.
- I define architecture and design on demand only. SOA is a-ok but best with REST, as WSDL can be a troublesome deal.
- I do possess very concrete understanding of data structures, algorithms, patterns as well as machinery underneath it all, analysis and the scientific method. Having learned different (if repeating) paradigms over four decades, I sometimes lack proper terminology in my expression. I realize this limits the efficiency of my communication and intend to improve on that.
Family and Hobbies
I live happily at Malmi, Helsinki with my wife, dog, car, 42" TV and three sons. I was active in student and citizen organizations as well as Scandinavian live action role playing scene in 1990s. Nowadays I may occasionally accept responsibilities in professional or neighbourhood organizations, but mostly just play guitar in, compose and write lyrics for a rock band and read nerdy literature, both professional and fictional. I enjoy playing with my kids, digital entertainment, philosophical discussions, excellent company and most any decent vegetarian food.
Further Information

Kalle Hallivuori leading a Coding Dojo on Test-Driven Development.