{
"name": "Preben Aandahl",
"image_url": "https://prebencv.appspot.com/picture.jpg ",
"location": "Oslo",
"email": "preben.aandahl@gmail.com",
"phone_number": "90032017",
"birthdate": 531529200,
"bachelor_degrees": 1,
"years_of_work_experience": 12,
"human_languages_spoken": [
{ "name": "Norwegian", "level": "Native" },
{ "name": "English", "level": "Fluent" },
{ "name": "German", "level": "Beginner" },
{ "name": "Russian", "level": "Beginner" }
],
"programming_languages": [
{ "name": "JavaScript", "level": "Advanced" },
{ "name": "Java", "level": "Advanced" },
{ "name": "Python", "level": "Intermediate" },
{ "name": "Swift", "level": "Intermediate" },
{ "name": "C++", "level": "Rookie" },
{ "name": "Objective-C", "level": "Rookie" }
],
"famous_quotes": [
"<!DOCTYPE html>",
".boxy { display: flex }",
"const typeOfJsPreferred => 'ES6 or newer.';",
"mvn jetty:run",
"npm install",
"import * as React from 'react';",
"tsc",
"INSERT INTO skills VALUES ('sql')",
"git commit -am 'Squashed a bug.'",
"protractor",
"<xml isNotAsCoolAs='json' butCanBe='thoroughly validated' />"
],
"main_experience": [
{
"topic": "Web development (JavaScript, React & Angular)",
"summary": "JavaScript is perhaps the most important programming language in my toolbelt these days.",
"example_projects": [
"tripfinger.com is a React-creation made by me. It also has an admin-UI written in AngularJS.",
"arbeidsmaur.no is a React solution with a NodeJS backend written in TypeScript"
]
}, {
"topic": "Backend development (Java & Python)",
"summary": "Java has been the main backend language for most of my career.",
"main_frameworks": [ "Guice", "Spring", "Hibernate"],
"example_projects": [
"I was the project lead for an Alfresco-based editorial suite for Nationalecyklopedin AB",
"arbeidsmaur.no has a Java-service handling BankID-signatures and PDF-generation",
"tripfinger.com has a Java-based backend, handlig data storage and search",
"I created a JaaS-based auth-system and log syndication for Felleskatalogen",
"I created a video conversion and streaming solution for TVNORGE AS"
]
}, {
"topic": "Mobile App Development (Swift & React Native)"
"summary": "I have experience in iOS app development.",
"main_frameworks": [ "Realm", "XCTest", "maps.me"],
"example_projects": [
"I made a travel-guide in iOS based on the OSS mapping engine maps.me",
] },
],
"fundamental_principles_i_abide_by": [
"Dependency injection: to accomodate unit testing and to achieve loose coupling between components",
"Separation of concerns: UI and backend have been separate projects since I first laid eyes on AngularJS",
"RESTful interfaces: because they're easy to use, and techonology independent",
"Object relational mapping: because life is too short to manually write and maintain SQL queries over time",
"Unit testing: because we're just humans after all",
"Integration testing: to sleep better at night, and to reduce the risk of flawed deploys",
"Cloud computing: because Amazon and Google are better at DevOps than I am",
"Source control: git is a fantastic tool",
"Standard libraries": I don't always reinvent the wheel,
"StackOverflow & GitHub: more often than not, a similar problem has already been solved"
],
"random_bragging": [
"My über-simple React Native-plugin has 36 stars on Github.",
"I created a boilerplate for React Native plugins",
"I once received an email from Guido van Rossum (creator of Python)"
],
"disclaimer": "This CV was written in IntelliJ IDEA, commited to Git, and deployed to Google App Engine."
}