Curriculum Vitae

Henrik Østerlund Gram    View Henrik Gram's profile on LinkedIn
 
E-mail: henrik.gram@gmail.com
Web: http://henrikgram.com/
 
Picture of Henrik Gram
 

WORK EXPERIENCE


Oct 2017 - present

Senior consultant & partner at INFOSS AS.

 

Jun 2013 - Sep 2017

Network architect & Partner at INFOSS AS.

 

Apr 2007 - Sep 2017

Senior consultant / software engineer at Webstep AS.

 

Jan 2006 - Mar 2007

Senior software engineer at Datek Wireless AS.

- Developed motion/object detection, full web frontend and backend system for a video surveillance project.
- Developed service monitoring and alarm system.
- Worked on various projects involving SMS, MMS and WAP.
- Worked on a fleet management project.
 

Nov 2001 - Dec 2005

Software and network engineer at Teletopia AS / Teletopia Mobile Communications AS.

- Responsible for the entire GPRS platform; network design, security and administration.
- Responsible for the entire IP network; network design, security and administration.
- Responsible for all Linux-based boxes in the server farm.
- Responsible for most database design and implementation as well as all administration.
- Sole developer of Teletopia Mobile Communications' MMSC, providing MMS service to the subscribers as well as interconnect services with other operators.
- Sole developer of Teletopia Mobile Communications' CPA-GW, providing content providers access to deliver premium content to our subscribers as well as for the other operators.
- Sole developer of a centralized alarm and notification system.
- Responsible for the integration between the CRM system, billing system, credit information systems and payment systems.
- Developed various GPS+GSM-based tracking services.
- Research and development.
 

Jan 1998 - Aug 2001

Software engineer at Funcom AS.

- Developed games for online gaming and for mobile phones. My primary role was in artificial intelligence and GUI development, but I also developed various support systems such as a tournament system and a service monitoring and alarm system.
 

 

EDUCATION


1997

Software engineer from Datamatikerskolen in Ikast, Denmark.
Specializing in artificial intelligence.
 

1994

Business College, Viborg Handelsskole.
 

 

COURSES & CERTIFICATIONS


2007

(Certification) Sun: Sun Certified Programmer (SCJP) for the Java 2 Platform, 5.0 (CX-310-055) (Scored 93%)

2004

(Course) Ericsson: GSM Operation Handling in GSN
(Course) Ericsson: GSM GSN Configuration
(Course) Ericsson: GSM GSN Configuration Extended
(Course) Ericsson: GSM GSN System Administration

 

SKILLS & QUALIFICATIONS


C, Java

I have used C since 1994 and Java since 1997 for both work and spare-time projects. One such spare-time project of mine was a chess computer (AI) that I eventually sold to Funcom AS. It was written in C with a few optimizations in assembly. I have also used C to implement custom IP filtering/mangling modules for the Linux kernel necessary for one of my R&D projects at Teletopia AS.

In recent years most of my application and server development has been done in Java with the occasional help of C via JNI to be able to control special hardware in Java. I have experience with various J2EE technologies, most notably JMS/MQ, servlets and web services. I have experience with a number of J2EE frameworks such as Spring, Hibernate, Axis and Struts and use these often at my daily work.
 

Bash, Perl

I learned Perl in 1997 and it is my preferred scripting language for most tasks. I use perl and bash regularly in my daily work.
 

SQL, Databases

I have used MySQL, Oracle, PostgreSQL, MSSQL, SolidDB and dBase. I am, by far, most experienced with MySQL as the database of choice in my current job and have lots of experience running it in a mission critical environment. From the application point of view, I have used the ODBC/JDBC interfaces and have also helped develop a complete JDBC driver for dBase. Recently, I have been using the Hibernation data-persistence framework in my Java development.
 

Linux, Unix

I have extensive experience with Linux, having used it on and off since version 1.0. It is my preferred platform for servers as well as my workstation the last couple of years. I find it a far more efficient and less stressful OS to work in, but I do still use Windows at home for better driver support. Over the years, I have had some experience with (porting C applications or administrating) various flavors of Unix, from the days of SunOS 4.1, IRIX 5.3, HP-UX to more recent versions of Sun's Solaris, but my preference lies with Linux. During my student-years, I was trusted with managing the school's main computer, a Sun server managing all the students' accounts and their data.
 

Assembly

I was programming demos for the 6510 CPU (Commodore 64) when I was 13 years old. I also have experience with assembly programming for earlier Intel x86 models (pre-Pentium days). Additionally, I developed good reverse engineering skills. Assembly is, however, not something I use frequently anymore.
 

Network

I have a lot of experience with ethernet based networks; from the physical cabling and network design, to security of IP based networks, managing VPNs and firewalls. I have also combined this knowledge with my programming expertise to create a Linux kernel-module to modify certain TCP streams on the fly needed for one of our R&D projects at Teletopia, as well as creating our own network monitoring and management tools. I have a good knowledge of many network protocols and I am proficient at troubleshooting any such problems. I enjoy examining what happens on the wire with sniffing tools to gain knowledge of new protocols or locate problems. I have programmed simple but efficient ftp, smtp and http servers; the http server is used in many applications in the production environment at my current job and has proved far more efficient and stable than alternatives (but is also more limited in that it is tailored specifically to our needs).

I have experience with both Ericsson's and Huawei's GSN (GPRS/EDGE) platform, various managed switches from 3com and Huawei as well as some of Huawei's routers and firewall products. I also have experience with ip.Access's IP-based GSM platform; everything from setting up the BTS's, the BSC and configuring it for use with Ericsson's and Huawei's MSC and GSN.
 

Programming

I am proficient at reading and understanding foreign source-code. For example, at Funcom, we ran multi-threaded server applications on Linux boxes, but at that time the Linux kernel did not support core-dumping of multi-threaded programs (which left us with no stack-trace when they crashed), so I spent a night looking over the Linux kernel sources and by the next day I had fixed the problem. Some of the projects I have contributed to as well as some of my own are available under an open source license, and I have received many compliments on the readability of my code. I have found that open source development gives you an enormous incentive to create quality work where many are likely to view (and hence evaluate) your work.
 

Quick Learner

I am a quick learner. I hunger for new technical knowledge and love learning new things. I also love being the one people go to when they have an obscure problem that seems impossible to fix. Programming is as much a hobby as it is my work. My goal is to know something about everything and everything about some things.
 

Teaching

Since August 2005, I have been a private tutor for a computer science student at the University of Oslo. I have so far tutored the courses: INF1000 ('Introduction to Object-Oriented Programming'), INF1010 ('Object Oriented Programming'), INF1020 ('Algorithms and data structures') and INF1060 ('Introduction to Operating Systems and Data Communications').
 

Interests

Mountain-biking, billiards and chess - besides the obvious.
 

Languages

Danish (native), English (fluent), Norwegian (fairly good)
 

 

POSITIONS OF RESPONSIBILITY


Nov 1997 - Feb 2002

Founding member of the Board of Directors of the Free Internet Chess Organization (a Non-Profit Organization registered in Minnesota, USA). Besides being one of the founders, I was a key developer from its creation in early 1995 until 1998 when my employment in Funcom limited how much I was allowed to contribute. The organization's goal is to promote chess and currently provides over 100.000 chess players worldwide with one of the best places to play chess live on the Internet - and for free.
 

Apr 2010 - present

Board member and treasurer at Lørenskog Sjakklubb (the local chess club).
 

 

REFERENCES


(Details available on request)

Valid HTML 4.01! Valid CSS!