Curriculum Vitae - Artur Grabowski

Personal

Name: Artur Grabowski
Address: Oxens Gata 253
136 63 Haninge
Sweden
Phone: +46-(0)704-933620
Email: art@blahonga.org
URL: http://www.blahonga.org/~art/

Personal

I'm a software engineering generalist driven by curiosity and a will to expand and improve my knowledge and skills. I've been interested in computers since I was 8 years old and I've been programming almost from the start always learning and exploring new things. In my professional career and in my free time I've explored many different aspects of software engineering including design of huge systems, low level hardware programming, graphics interfaces, memory management systems, file systems, networking, operating system design and implementation, programming language implementation, etc. I've used all different sorts of programming languages and paradigms including imperative, object oriented, functional and logic languages. I'm confident that there is nothing in the software engineering field that I can't learn in a short time and master faster than others.

Recently I've been also working with mangement of software projects primarily focusing on ensuring the quality of the resulting work.

Qualifications summary

  • Main focus: operating system design and implementation, memory management, file systems. C, Unix, BSD, kernel.
  • Experienced in a wide range of programming languages and libraries. Since I deeply and intuitively understand recursion, pointers, inheritance, message passing and events, I have yet to find a language or library that I can't understand.
  • Experienced in using and administering various operating systems.
  • Experienced in systems security, mainly in making software more robust, but also in cryptography and network security.
  • Extremely focused on writing high quality code and ensuring that other don't slip which could lead to bugs.
  • Experienced in leading the work of software developers, mainly to improve the quality of their output.
  • Very experienced in debugging all kinds of software problems, both with and without aid of various tools.
  • Good understanding of licensing, patents and other legal issues around software.
  • No problems with packing my bags, getting to an airport and spending 6 months in another country with one day notice if the job requires it.

Positions

Feb 2007 - current
B locket AB
Developer, R&D and project coordination at www.blocket.se. Responsible for the backend platform and synchronization of the platform to all the 15 sister sites in other countries. Aug 2005 - Feb 2007
B locket AB
Part time employment at www.blocket.se, as a "Technical mentor", helping the development team ensuring the quality of their ongoing work of refactoring and improving the web service. The other part of my time is spent studying computer science at KTH.

Apr 2005 - Aug 2005
B locket AB
Project leader at www.blocket.se, hired to do disaster recovery, code cleanup and to improve the software development organization to generate more maintainable and secure code.

Sep 2003 - Mar 2005
AB TakeIT
Starting a company providing system administration services to schools. Many varied tasks.

Jun 2002 - Sep 2003
Puffy Software - independent consultant.
Running my own company doing consultant work within my field of expertise. Between June 2002 and May 2003 I worked full time developing the OpenBSD operating system.

Sep 1999 - May 2002
Dynarc AB - software engineer.
At Dynarc I was working on developing IP routers for metro networks. I was responsible for the development of the operating system kernel (based on NetBSD), performance optimizing, debugging, driver development, system integration, security auditing and almost every other aspect of the system that needed attention.

Jul 1998 - Sep 1999
Ericsson Utvecklings AB - test and integration
At Ericsson I was working in the team developing the programming language Erlang and the development libraries around it. I was working in the test and integration team, doing system and regression tests, release engineering, etc.

Oct 1997 - current
OpenBSD - senior developer
Parallell to my main course of employment I have worked on the OpenBSD operating system, sometimes spending more than a full time on it. In the project I've been responsible for kernel development and have worked with file systems, memory management, porting the system to new hardware architectures, security auditing, driver development, dynamic linking, cryptography and out of necessity I have touched virtually every other aspect of a modern operating system including libraries, design policies, release engineering, code and build management, etc.

Education

Aug 2005 - Feb 2007
KTH - Computer Science.
Aug 1996 - Jun 1998
KTH - Electrical engineering (civ. ing.).
Course program: math, electronics, computer science.

Aug 1993 - Jun 1996
Thorildsplans gymnasium - Naturvetenskaplig linje.
Course program: math, science. Profiled in technology and computers.

Extracurricular activities

1996 - 2001
Staff member at "Stacken", the student computer association at KTH.

1993 - 1997
Leader for a group of around 20 boy scouts in the Polish Scouting Association.

Publications

Knowledge

  • Hardware
    • PC compatible
    • SUN
    • Alpha
    • Mac
  • OS
    • *BSD
    • MacOS
    • Linux
    • Windows
  • Programming languages
      I know pointers, recursion, inheritance, message passing and event handling. The particular syntax used this month is not very important. If able to choose, I use C for backends and php/javascript for web stuff.
  • Security/cryptography
    • Kerberos
    • SSH
    • OpenSSL
    • Good understanding of random number generators
    • Good understanding of cryptography
  • Version management
    • CVS
    • ClearCase
    • OpenCM
    • Perforce
    • RCS
  • Written and spoken languages
    • Swedish (native)
    • English (fluent)
    • Polish (native)
  • Other
    • TCP/IP
    • Ethernet
    • DNS
    • HTTP
    • HTML
    • OpenGL
    • gdb, ddb, pmdb
    • Valgrind
    • Purify
    • AFS

References

Available on request.