Dr Alexander Bunkenburg

Scala Java web developer

Technically: Scala, Java, web. Role: mainly development. Prefer freelance. Modern informal company style. Prefer companies that make their own engine, over consulting companies. I value the ethical aspect: using technology to make lives better. Interesting: cryptocurrency, energy, or science.

contact

Alexander Bunkenburg
Melcior de Palau 103, 3, 1
08014 Barcelona
alex@inspiracio.cat

Nationalities: UK and German passport; I have lived in Hamburg, Glasgow, and Barcelona.

skills and tools

soft skills

teamwork I enjoy the egoless team work that I experienced in infojobs and netcentric.
independent I am able to work independently and remotely. I'm accustomed to distributed teams communicating via tools like slack and skype.
research I know research from my time in Glasgow and some POC that I made as developer.
teaching I enjoy teaching. I did it in Glasgow and still do it sometimes, whether it's programming or my hobbies.
mentoring At netcentric, I was mentor for junior colleagues.
methodical rigour My colleagues often value my methodical rigour. That's why infojobs put me in charge of versioning and code review.

programming languages

Scalafrom Scala 2.12.8 in 2018
Java From Java 1.1 in 1997 to Java 11 in 2019. Since 1999 professionally in Java.
Java EE (server) Lots of servlets, filters, JSP, and even some EJB.
Java for Android In 2011 and 2012, I developed for Android.
ECMAScript =Javascript. Implemented parser and engines for ECMAScript 262-3.
Haskell lazy functional programming, my first love and the basis of my research at University of Glasgow

mobile development

Androidmainly 2011-2012
iOSmainly 2012

server software and protocols

Adobe Experience Manager 6Development and teaching experience, certifications, 2012-2018
Google Appenginein the Java variety
JBoss AS
Apache Tomcat 8-9
WebLogic 6 and 7
HTTP, GData/Atom (ReST)I implemented clients and servers in Java and for Android.

interface

HTML5
XML, XSL/T, XML schema
CSS
JSON, JSON schemaI used them for survey data and non-deterministic execution of javascript.
Java Swing

tools

IntelliJ IDEA, Eclipse Recently, I seem to have switched from the latter to the former.
maven, sbt After shell scripts and ANT, these are better.
JUnit, ScalaTest With experience, I have come to value the peace of mind of automated tests, especially for algorithmic stuff.
Atlassian tools JIRA tickets, Confluence wiki, ... Before I program: Is there a ticket for this? Is there spec? Is there a branch?
Docker I use docker and docker-compose for repeatable environments.

source control

git on bitbucket, github, usually with policy gitflow. I trained git beginners.
perforce I was in charge of source control at infojobs. First designing the branching policy, then enforcing it.
subversion, cvs Branching and integrating are poorly supported.

certifications

Functional Programming in Scala Capstone 30/10/2018 École Polytechnique Fédérale de Lausanne
Big Data Analysis with Scala and Spark 13/10/2018 École Polytechnique Fédérale de Lausanne
Parallel programming 4/10/2018 École Polytechnique Fédérale de Lausanne
Functional Program Design in Scala 20/9/2018 École Polytechnique Fédérale de Lausanne
Functional Programming Principles in Scala 10/4/2018 École Polytechnique Fédérale de Lausanne
Adobe Experience Manager 6.0 Lead Developer (9A0-396) 31/3/2017 92% Adobe Experience Manager Lead Developer icon
Adobe Experience Manager 6.0 Business Practitioner (9A0-388) 2017 88% Adobe Experience Manager Business Practitioner icon
Adobe Experience Manager Component Developer (9A0-382) 16/9/2014 98%
JB261 JBoss for Advanced J2EE Developers 2008
SUN Certified Java Programmer (1.5) 18/12/2006 91%
SUN Certified Java Associate (1.5) 21/11/2006 98%
BEA Certified WebLogic 7.0 Developer 18/12/2002 97%
BEA Certified WebLogic 6.0 Developer 9/12/2002 93%
SUN Certified Java Programmer (1.2) 17/10/2000

education and research

1997-1999 Research project at University of Glasgow An Axiomatic Basis for Functional and Imperative Programming, funded by the Leverhulme Trust, with Dr J.M.Morris
1992-1997 PhD at University of Glasgow in Computing Science. Thesis Expression Refinement under Dr J.M.Morris. A calculus for formal program construction.
1988-1992 Bachelor of Science at University of Glasgow, Combined Honours in Computing Science and Mathematics, Grade: First class. Project title: Visualisation of complex number algebra.
1992 Addison-Wesley prize for best student in computing of all years.

teaching

2019 Co-organised a one-week AEM training for beginners in netcentric Barcelona.
2018 Co-organised a two-month Academy for beginners in netcentric Barcelona, teaching AEM6.3, web technologies, and project method.
2017 Co-organised a two-month Academy for beginners in netcentric Barcelona, teaching AEM6.3, web technologies, and project method.
2017 Organised a one-month AEM Bootcamp within netcentric Medellín, preparing staff for AEM6 Business Practitioner and AEM6 Lead Developer certification.
2016 Co-organised a two-month Academy for beginners in netcentric Barcelona, teaching AEM6, web technologies, and project method.
2015 Co-organised a two-month Academy for beginners in netcentric Barcelona, teaching AEM6, web technologies, and project method.
2007 Java trainer in company infojobs, preparing staff for SUN Certified Java Associate and Programmer exam.
2000-2001 Java trainer in the company Information Highway Group (Barcelona), preparing staff for SUN Certified Java Programmer exam.
1999-2000 Java, OO, and UML trainer, in the company intec (Barcelona). I wrote and gave courses of 40 hours to external clients.
1992-1999 Tutor and Teaching assistant at University of Glasgow. I lead tutorials, set and supervised exercises in programming. Wrote and gave lectures on parallel programming and other topics.

industrial projects

2015-...

Various Java-web and Adobe Experience Manager 6 projects

Development and training projects, as independent freelance.
2013-2014

Various Adobe CQ5 and Adobe Experience Manager 6 projects

Consulting work with netcentric. Making and maintaining marketing websites, for multinational customers in the banking sector.
2012

Various Android and iOS projects

Consulting work with Mobile Jazz. Making Android library projects, consuming the Twitter API from iOS, among others.
2011

Android keyboard with server in Google Appengine

Software architect at siine. I direct a team of five developers. The Android application communicates with the server via the Atom-ReST protocol. The server has a Google BigTable database.
2008-2011

A completely new survey engine

Software architect at netquest, a leading online survey company in Spain. I invented and implemented a survey engine which implements a new paradigm. Developed in Java:
  • parser and several interpreters for javascript
  • client and server for GData/Atom protocol (a ReST protocol)
  • web pages with AJAX using DWR
  • fat client using Java Web Start and Swing
2007

A survey engine

Software architect. Generalitat de Catalunya, Agència per a la Qualitat del Sistema Universitari, a government agency that controls university quality. Development of a web survey engine, substituting paper surveys. I lead a team of four people. JSP, EJB, JBoss, remote database.
2003-2008

Spain's leading job board

Software architect at infojobs. At the time, some 180 million page views per month. Many tasks, including:
  • migration from ColdFusion/Windows to JEE/Linux
  • technical design
  • verify implementations
  • mentor developers
  • version control of 6 teams with 30 developers, using Perforce
  • URL rewriting and anti-rewriting (Invented by Gabriel Prat and me.)
  • training
  • troubleshooting
  • ... many other tasks
2001-2002

Multinational bank in Frankfurt

WebLogic expert and trainer. Internet banking for commercial customers. Tools:
  • WebLogic 4.5.1, migration to WebLogic 6.1
  • EJB 1.0, EJB 1.1, Servlets, JSP, JTS,
  • SQL, Oracle,
  • Windows NT, UNIX, SUN Solaris 2.6
2001

Health website ViaSalus

WebLogic expert and developer. Tools:
  • WebLogic 5.1,
  • EJB 1.1, JSP, JDBC,
  • SQL, Oracle,
  • Models with UML and Rational Rose
2000-2001

Delivering digital content online

for Bertelsmann Broadband Group. Distributed team in Rostock and Barcelona. Tools:
  • WebLogic 5.1,
  • EJB 1.1, JSP,
  • XML, XSL/T,
  • JDBC, SQL, Oracle,
  • Models with UML and Rational Rose
2000

Several Microsoft projects

Developer Microsoft internet tools:
  • Visual Interdev
  • ASL, COM, Visual Basic
  • JScript
  • Visual Source Safe
1999

Distributed internet game

Lead Java developer. Project Eurogame funded by European Union, collaboration with several European partners. Tools:
  • Microsoft internet application,
  • dynamic HTML,
  • communication to java server via an applet,
  • Java serialisation,
  • Java remote method invocations via HTTP,
  • JDBC, SQL.

scientific publications