Stein Eldar Johnsen

  • Name: Stein Eldar Johnsen
  • Date of Birth: 07.07.1979
  • Profession: Software Engineer
  • Nationality: Norwegian
  • Languages:
    • Norwegian (native)
    • Swedish (professional working fluency)
    • English (professional working fluency)
    • German (basic understanding and communication)

Career History

  • Software Engineer Technical Lead @ Cisco: 01.11.2023 - current. Cisco acquired WG2, merging the company into its Provider Mobility Business Unit, which provides telco mobility as a service.
  • Senior Software Engineer @ Working Group Two: 01.05.2020 - 31.10.2023. Building the next generation Mobile Phone Network Core, responsible for development of a reliable and flexible SMS and MMS stack, and taking care of CDR (Billing Data) pipeline.
  • Senior Software Engineer @ Zedge Europe: 15.01.2015 - 30.04.2020. I mainly worked on the backend systems handing everything from auth to content management.
  • Software Engineer @ Google Zurich: 16.07.2009 - 30.09.2014. Projects varied from back-end services, web frontend, embedded device programming and mobile development. Worked on Google Alert and the YouTube TV Remote functionality.
  • Software Engineer @ Google Trondheim: 01.01.2008 - 15.07.2009. Main project was Google News, where I had responsibility for the news article extractor service and crawler. Mostly C++ autonomous services.
  • Software Engineer @ SportRadar: 01.04.2006 - 31.12.2007. Mostly working with PHP (3.0-5.0) frontend, and Java application servers, serving and updating sport statistics tables (league and score tables, cup trees etc).

Education

  • Master of Science - Information Technology @ NTNU: 2003 - 2005, at Institutt for Datateknologi og Informasjonsvitenskap (IDI). Thesis was named "Consistent Lookup during Churn in Distributed Hash Tables". See the accord project for details.
  • Cand Mag - Informasjonsteknologi @ NTNU: 1999 - 2003, at Institutt for Datateknologi og Informasjonsvitenskap (IDI) Equivalent to "Batchelor" degree in Information science. Focus was on databases and information retrieval.

Technologies

I have worked with quite a lot of technologies up through the years. Not all of which I'm that proud of (or willing to do again). But here is a smorgasbord list:

  • Java (I've worked with every major version of java since JDK 1.4), though very little exposure to "traditional J2EE" style application servers. Programmed Android apps, java backends, java based servers and servlets, GWT (Java-based web programming), and dawdled with java UI programs (though never done anything significant).
  • C++ (mainly google C++ which had quite some influence of C++11). Mostly in server-side (both HTTP front-ends) and back-end application services.
  • Python (mainly 2.6 / 2.7). Programmed both small (-ish) command line programs, and contributed to large python based server architectures.
  • HTML5 / JS. Worked on everything from plain old HTML-4 web services, through "standard" Web 2.0 applications, to embedded HTML5 (mainly for TVs, but also with mobile web).
  • Objective-C (iOS), mainly working on controller and networking modules for Iphone applications related to the YouTube iOS application.
  • PHP (mainly PHP 5.0 and support for PHP 3.x). Do not ask me to do anything related to PHP please!

I have worked on a lot of different clients (web, mobile web, native mobile and TVs), but I thoroughly suck at design, both interaction and "look-and-feel". This site is a proof of that (I have not "designed" anything here, just using the default MkDocs templates. Other technologies I've worked with:

  • VCS: git, subversion, perforce.
  • Building: XCode, Android Studio w. gradle, gcc / g++ w. Gnu Make / Bazel, Java w. Maven / Intellij.
  • Server: JSP, Jetty, PHP, and a set of in-house Google server systems for C++ and Java.
  • Telco: Knowledge of the SMS services (SMSC, IP-SM-GW, SMPPGW, SMSF) and MMS (MMSC) and their respective protocols. Basic understanding of the core working of SS7, Diameter and SIP.