To offer a quick explanation I am all of the following:
Yes. I have a BSc in Computer Science, a MSc in Software Engineering with
my thesis written in Theoretical Computer Science. My thesis: Formal
Verification of Distributed Programs using Session Types and Coq is
available for
download for
those interested in reading it.
I enjoy learning about type-systems, writing type-checkers and working with
dependently-typed programming languages and theorem-provers.
But I also pride myself in writing elegant programs to solve more
real-world problems. So I would like to think that I can be both a Computer
Scientist and a Software Engineer and that the combination of those two
makes for a great result.
Knowing the theory behind programming languages and having solved many problems with different languages have exposed me to many languages. Amongst the languages I have used to solve some kind of problems with are:
I have benefitted greatly from the wealths of Open Source Software
that exists, so it is only fair I try and contribute something back.
I have contributed to the following projects:
I have also created a few projects myself what have been released as
Open Source Software. The most significant of these are
RelAlg.js which is a
web- and CLI-application for evaluating Relational Algebra expressions.
To my knowledge it is the only such tool that contains a static
type-checker and interactive error-highlighting.
A list of all my projects can be found at
github.com/fangel.
I have worked full-time for IDG Denmark A/S where I helped launch their
Xoops/PHP-based platform in 2006.
More recently I worked as the lead-developer for Mediehuset Ingeniøren A/S
where I helped design, build and launch their new Drupal/PHP based platform
in 2012.
While studying for both my BSc and MSc I worked part-time for Mediehuset Ingeniøren A/S for a combined 5 years. I have also TA'ed two classes, one on introduction to databases at University of Copenhagen and one on database tuning for the IT University of Copenhagen
I am currently working as a System Architect in the CMS team for TV 2 DANMARK A/S. My responsibilities include designing and building the services that lies around our CMS: Drupal. Most of these services are light-weight services built in Node.js.
I enjoy solving a hard and interesting problem by thinking, fiddling and implementing proof-of-concept solutions. If I solve a interesting problem, I sometimes write an article explaining the problem and the solution. These write-ups can be found at fangel.github.io.
What I enjoy most in a job is being given free range to come up with a
proof-of-concept solution to a certain problem such that it can be assessed
if more resources should be spent implementing a real solution.
Spending a day or two to rapidly build a prototype can sometimes help the
understanding and discussion of a proposal or problem. I would like to
think that this is where I shine.
Yes, I am currently living in Copenhagen, Denmark with my lovely
wife Kaitlin.
I have been living in Copenhagen ever since starting my BSc at the
University of Copenhagen in 2007. For those interested, I live in the
neighborhood of Nørrebro.