Martin Altenstedt
What I do
I have been working with software development since 1994. I have a deep understanding and professional experience of both C# and Java with accompanying frameworks and libraries. I have worked on the complete application stack for typical, layered business applications, from client to database, from implementation to management.
What I care about
I care about good user interface design. I care about clean architectural solutions using recognizable patterns, I love the craftsmanship of writing code. I care about getting things done, on time. I am never happier than when quickly working down a list of valuable things to do. I believe that agile methodologies are a step forward.
Et cetera
I live in Gothenburg, Sweden, with my wife and two daughters. You can reach me at Martin.Altenstedt@gmail.com.
Skills
Languages
C#/.NET 2003
Java 2003 2008
Delphi Pascal 2000 2005
C++ 2004 2008 sporadically1
C 1997 2000
Ada 1994 1996
Lisp 1994 2000sporadically2
Tools
Tools, techniques and methodologies that I have used are listed for each project under Experiences below.
Operating Systems
Microsoft Windows 2000
GNU/Linux 2003 2008 sporadically3
Sun Solaris 1994 2000
OSE 1998
VxWorks 1999
Education
Technical high school, four-year program 1984 — 1988
M.Sc. Electrical Engineering,
Chalmers University of Technology
(1994 at Imperial College, London)
1990 — 1994
Psychology, evening course, one semester
University of Gothenburg
2003
References and Portfolio
References and example work are provided upon request. Please contact me at Martin.Altenstedt@gmail.com.
Experience
Saab Security
Generic command & control system 2009 —
Lead product owner of generic command & control system development for the civil security market. The work includes requirements analysis and team management of 20 people distributed across three cities in Sweden.
Tools: Scrum, Lean Development
Roles: Team leader of product owner group, three people
Pre sales2008 — 2009
A number of studies and procurements for command & control systems for ambulance, police and fire department dispatch. The work includes architecture and prototype implementation in very close cooperation with the intended customer.
Tools: C#, WCF, WPF, Windows, SQL Server, Hibernate
Roles: ScrumMaster, architect and developer, three people
Guard management system 2008
Development of guard management command & control system for Securitas. The system includes operative management, telephony and mobile clients. The architecture is based on SOA using WCF for the communication layer. The work is performed in very close cooperation with the customer. Implemented in C# using a SQL Server database.
Tools: C#, WCF, Windows, SOA, SQL Server, Hibernate, Scrum, TDD
Roles: Developer in a team, 20 people
Carmenta
Professional services 2007 — 2008
Expert consultant of Carmenta Engine in Geographical Information Systems (GIS). The work includes to quickly become familiar with architecture and design of larger, existing systems. Development environments vary widely with different customers. The assignments are typically a few weeks long and are often at the customer site. Example customers are Bofors, Saab Systems and the Swedish Transport Administration.
Parental leave 2007
On parental leave from February until September 2007.
Distributed system for flight planning 2006
Design and prototype implementation of a comprehensive flight planning system for Navtech. The system architecture is a SOA system using web services.
Tools: Java, J2EE, IntelliJ IDEA, Linux, Oracle, SOA (Web Services)
Roles: Developer in an international team, six people
Map production system 2004 — 2006
Development of a map production system for the European Aeronautical Group. The system aims to automate the production of various map products for commercial flight. The work is performed in close cooperation with the customer. Implemented in C# using both Oracle and MySQL databases.
Tools: GIS, Visual Studio, C#, Windows XP, MySQL, Oracle
Roles: Developer in a team, three people
Network based defense functions2003, 2005 — 2006
Development of GIS oriented functionality under the network based defense project (Ledsyst T) for the Swedish Defense Materiel Administration. The system is based on services in a distributed, self-organizing network. Implemented in Java.
Tools: Java, Eclipse, SOA
Roles: Developer in a large, distributed industry team
Distributed simulator 2003
Maintenance and development of a distributed (HLA) command & control simulator for the Swedish Defense Materiel Administration. Implemented in Java and C#.
Tools: Java, Eclipse, Visual Studio, C#, Windows 2000/XP
Roles: Single developer
Electronic warfare system 2001 — 2004
Development of a system for electronic warfare for the Swedish Defense Materiel Administration. The system is a combined live operator's workplace and simulator. Emphasis is on usability and GIS. I am working as project manager in 2004. Implemented mainly using Borland Delphi and Smalltalk (VisualWorks).
Tools: GIS, Borland Delphi, Visual Studio, C++/COM/Win32, Smalltalk
Roles: Developer and project leader, three people
Flight school training management system2000 — 2001
Project management of a system for planning and resource management of commercial flight school training at SAS Flight Academy. The work is performed in very close cooperation with the customer. Implemented in Borland Delphi using an Oracle database.
Tools: Borland Delphi, Windows NT4/2000, Oracle
Roles: Project manager, four people
Ericsson Microwave Systems
Base station for 3G mobile telephony 1999 — 2000
Project management of the software part for the radio functionality of a 3G mobile telephony base station for NTT DoCoMo in Japan. Implemented in C, targeting VxWorks, running on custom hardware.
Tools: C, VxWorks, Sun Solaris, ClearCase
Roles: Project manager, 14 people
Process, guidelines and quality 1998 — 1999
Responsible for coordinating process and quality guidelines for the development of 3G mobile telephony systems for NTT DoCoMo in Japan. Development of guidelines for software implementation, process adaptions, build systems and delivery configuration etc.
Tools: ClearCase, internal process models
Roles: Team leader, two people
Maintenance of mobile base station 1998
Maintenance of a mobile telephony micro base station for NTT DoCoMo in Japan. Implemented in C, targeting OSE, running on custom hardware.
Tools: C, OSE, Sun Solaris, ClearCase, SDL
Roles: Developer in a team, four people
JAS 39 Gripen radar simulator 1996 — 1997
Development and maintenance of an advance simulator for the Swedish JAS39 Gripen fighter jet's radar function. The system is implemented in several different languages, including Ada, Fortran and C.
Tools: Ada83, Fortran 77, C, Sun Solaris, GNU gcc/gdb
Roles: Developer in team, four people
Simulators for target tracking 1995 — 1998
Development of radar simulators and algorithms for air target acquisition and tracking performance.
Tools: Matlab, Ada95, UML
Roles: Single developer
System administration of GNU Emacs 1995 — 1998
System administration of GNU Emacs and related GNU software for a few hundred users. The work includes integration of Emacs into different development environments.
Tools: Emacs Lisp, Unix, Sun Solaris, GNU
Roles: System administration
Target tracking algorithms 1994 — 1998
Evaluation of target acquisition and tracking algorithms for military airborne radars.
Tools: Matlab, Fortran 77, VAX/OpenVMS, Sun Solaris
Roles: Engineering
Notes
1 I have never used C++ as my main programming language for any longer period of time. I am not a fluent C++ programmer. I have, however, used C++ for writing various COM components and for reading, reviewing and fixing code.
2 I used Emacs Lisp professionally during my time as a system administrator for GNU Emacs at Ericsson 1995 — 1998. I have also evaluated Common Lisp for a few projects during the same time frame.
3 I have used GNU/Linux as a hosting and development platform for Java applications. I have not developed against APIs specific to GNU/Linux, such as KDE or Gnome.