Petteri Kamppuri

Address Pajalahdentie 9 A 5
Tel.+358 50 331 7961
Home page

Work experience

9/2013- Lead Developer at Richie Ltd. Developing in-house products and customer projects, improving processes, CI, code quality and architecture, automated testing etc. iOS app & SDK library development for digital publishing products. Android development.
11/2003-8/2013 Lead Cocoa Developer at Marko Karppinen & Co. LLC. Programming for Mac OS X and iPhone with Objective-C using Cocoa frameworks. Employment carried over to Richie Ltd.
8/2002-11/2003 Systems specialist at Noval Networks. Work tasks included programming with Perl, shell scrips, Java, and C. Sales-oriented meetings with customers were an essential part of the job. Networking equipment (routers, switches) became very familiar.
2/2000-8/2002 Software designer at Enlightment Entertainment. Work tasks included Java server side and client side programming, and Win32 C++ programming with networking, databases and concurrency issues, including the networking implementation of two online games. Much work on documentation: requirements, program design and source code documentation.
Summers 1997 and 1999 Microcomputer support at VTT Automation. Handled the installation of new computers and provided users with support for Windows 95/98 and NT, MS Office and other applications.


Spring 2005 Graduated as Bachelor of Science from University of Helsinki, deparment of Computer Science.
2002 Minor in software business at Helsinki School of Economics and Business Administration and Helsinki University of Technology.
Spring 2001 A four month, six credit units software engineering project called Venice on UML visualization. The project was done at Nokia Research Center.
1998 Began studies at University of Helsinki, deparment of Computer Science.
1998 Graduated from Olari high school.


FinnishMother tongue, strong writing skills
SwedishElementary skills

Skills and special interests

Items in the list are in no particular order.

  • Objective-C
    10+ years of programming experience. Very good knowledge of language features, including latest developments including ARC and lightweight generics.
  • Mac
    Years of programming experience with Apple's Cocoa frameworks.
  • iOS
    Started programming using the iOS SDK when it came out. Experience with many different parts of the frameworks, UIKit, Foundation, networking, FS, graphics & animation etc. Highly interested in native apps.
  • OOP
    Years and years of experience in object oriented programming and design. Very interested in improving desings at code level as well as keeping code orgamized and decoupled at module/app level.
  • Swift
    Very interested in Swift some practical experience.
  • C
    20+ years of programming experience. Thorough knowledge of language facilities, though undefined behaviours are a constant source of amazement :)
  • C++
    10+ years of programming experience. Knowledge of language features and facilities, including some STL.
  • Java
    10+ years of programming experience. Good knowledge in language characteristics and utilities. Practical use of Java in many kinds of environments: server-side, databases, applets, graphics and networking.
  • SQL
    Experience in SQL queries in real world applications. Understanding of mathematic principles behind relational databases. Some familiarity with PostreSQL, Oracle and MySQL.
    Basic knowledge in programming with the POSIX and UNIX APIs. Familiarity with pthreads and BSD sockets. Good understanding of the UNIX operating system fundamentals.
  • Win32 API
    About a year of programming with Win32 API. Knowledge of basic windowing and controls stuff, concurrency handling, ADO database connections, network programming with TCP/IP and UDP and more.
  • Networking
    Good knowledge of TCP and UDP with of practical experience. Lot of network programming experience with HTTP-level APIs.
  • Concurrent programming
    Years of concurrent programming experience with threads, locks and Apple's GCD. Seems best way is to use immutability and discrete tasks and can be parallized.
  • Web server programming
    Some web server programming experience. Implementations done with PHP and Java.
  • OpenGL
    Some experience in OpenGL programming and understanding of the principles behind the graphics library.


2004 President, Finnish Macintosh User Group fiMUG ry.
2000-2003 Vice president, Finnish Macintosh User Group fiMUG ry.
1998- Freeware author. Developed and maintained three separate software products. Also customer email support.
1997- Administrator of fiMUG's BBS system, AppleGarden on a volunteer basis. Work has included all kinds of tasks from customer service (answering the questions of users) to maintaining the servers and developing custom software for various needs. One major project has been implementing much of, database-backed home page for fiMUG.


TaekwondoKukkiwon certified black belt, 2012. Instructor at Herttoniemen Taekwondo since 2009.

Military service

1999Served 180 day military service. Military rank: private.