Skip to content

Instantly share code, notes, and snippets.

@tomasharkema
Last active January 24, 2024 12:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomasharkema/2bb70bcf98f92a2972d650ee87436362 to your computer and use it in GitHub Desktop.
Save tomasharkema/2bb70bcf98f92a2972d650ee87436362 to your computer and use it in GitHub Desktop.
import Contacts
import UIKit
// MARK: - Personal data
let name = "Tomas Harkema"
var address = CNMutablePostalAddress()
address.street = "Ebbehout 29 A05"
address.postalCode = "1507EA"
address.city = "Zaandam"
let birthDate = DateComponents(year: 1994, month: 7, day: 2).date
let mobilePhone = "+31631946483"
let emailAddress = "tomas@harkema.io"
// MARK: - Educational data
let schools = [
School(
name: "Blaise Pascal College",
place: "Zaandam",
grade: "HAVO",
started: DateComponents(year: 2007).date,
finished: DateComponents(year: 2012).date,
graduation: "Natuur & Techniek + Economie"
),
School(
name: "Communication and Media Design",
place: "Amsterdam",
grade: "HBO",
started: DateComponents(year: 2012).date,
finished: nil,
graduation: nil
),
School(
name: "Informatica Deeltijd (Computer Science)",
place: "Amsterdam",
grade: "HBO",
started: DateComponents(year: 2018).date,
finished: nil,
graduation: "de Volkskrant–De Editie iPad app (9,6)"
),
]
let internships = [
Company(
name: "Q42",
place: "Amsterdam/Den Haag",
function: "iOS Developer",
started: DateComponents(year: 2014, month: 4).date,
finished: DateComponents(year: 2014, month: 9).date,
proficiency: [
Proficiency(
language: "Objective C",
topics: "UIKit, REST, APNS",
level: "junior"
),
]
),
Company(
name: "De Persgroep; de Volkskrant",
place: "Amsterdam",
function: "Afstudeerder",
started: DateComponents(year: 2017, month: 8).date,
finished: DateComponents(year: 2018, month: 2).date,
proficiency: [
Proficiency(
language: "TypeScript",
topics: "React Native",
level: "medior"
),
Proficiency(
language: "Swift",
topics: "React Native",
level: "medior"
),
]
),
]
// MARK: - relevant working experience
let companies = [
Company(
name: "Tomas Harkema Media",
place: "Amsterdam",
function: "ZZP",
started: DateComponents(year: 2013, month: 2).date,
finished: DateComponents(year: 2014, month: 8).date,
proficiency: [
Proficiency(
language: "PHP",
topics: "Wordpress, guest ticket system",
level: "medior"
),
Proficiency(
language: "Adobe CC / After Effects / Premiere",
topics: "Visual, animation, editing",
level: "medior"
),
]
),
Company(
name: "Q42",
place: "Amsterdam/Den Haag",
function: "Medior iOS Developer",
started: DateComponents(year: 2014, month: 9).date,
finished: nil,
proficiency: [
Proficiency(
language: "Swift (UIKit)",
topics: "UIKit, CoreLocation, CoreBluetooth",
level: "medior"
),
Proficiency(
language: "Swift (SwiftUI)",
topics: "SwiftUI",
level: "experienced"
),
Proficiency(
language: "TypeScript",
topics: "React Native, NodeJS",
level: "medior"
),
Proficiency(
language: "Golang",
topics: "Docker, edge computing",
level: "junior"
),
Proficiency(
language: "Kotlin",
topics: "Android",
level: "medior but rusty"
),
Proficiency(
language: "Java",
topics: "Android",
level: "medior but very rusty"
),
Proficiency(
language: "Adobe CC / After Effects / Premiere / ffmpeg",
topics: "Inapp visuals, live streams, HLS livestreaming, encoding/stitching pipelines",
level: "medior"
),
]
),
Company(
name: "EMG",
place: "Hilversum",
function: "Graphics Engineer",
started: DateComponents(year: 2022, month: 12).date,
finished: DateComponents(year: 2023, month: 6).date,
proficiency: [
Proficiency(
language: "C#",
topics: ".NET Framework WPF, .NET Core",
level: "medior"
),
Proficiency(
language: "TypeScript",
topics: "NodeJS, Webpack",
level: "medior"
),
Proficiency(
language: "Golang",
topics: "Docker, edge computing",
level: "junior"
),
Proficiency(
language: "Kotlin",
topics: "Android",
level: "medior"
),
Proficiency(
language: "Adobe CC / After Effects / Premiere / ffmpeg",
topics: "Inapp visuals, live streams, HLS livestreaming, encoding/stitching pipelines",
level: "medior"
),
]
),
Company(
name: "Flitsmeister",
place: "Veenendaal",
function: "Senior iOS Developer",
started: DateComponents(year: 2023, month: 7).date,
finished: nil,
proficiency: [
Proficiency(
language: "Swift",
topics: "Swift Package Manager, CoreLocation, CoreBluetooth, async/await",
level: "senior"
),
Proficiency(
language: "Swift (SwiftUI)",
topics: "SwiftUI",
level: "medior"
),
]
),
]
// MARK: - helper structs
struct School {
let name: String
let place: String
let grade: String
let started: Date?
let finished: Date?
let graduation: String?
}
struct Company {
let name: String
let place: String
let function: String
let started: Date?
let finished: Date?
let proficiency: [Proficiency]
}
struct Proficiency {
let language: String
let topics: String
let level: String
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment