Portrait Picture

Christian Karl Bahram Thorn

Software Developer
Skills
Resume
Projects
Gallery
Links

Christian Thorn

My name is Christian Karl Bahram Thorn, I studied Computer Science in Nuremberg and currently work in tech as a backend dev.

When I learned to read and write in the first grade of elementary school I was able to start games like Sokoban and Leisure Suit Larry 1 on the family’s computer. That machine was running an IBM PC DOS (developed by Microsoft), had a 5.25-inch floppy disk drive 💾 and a green monochrome monitor as output in 1990. Solving computer related problems is fun to me since my earliest years.

IBM Loading Screen

A little while later we also had a Compaq Laptop that featured a VGA color display, a brand-new OS named Windows 3.1 and more games 🙂. In the seventh grade I got my first own PC (Compaq, Intel Pentium about 160MHz if I remember right, Windows 98). Later I started building PCs for myself, family and friends. I learned about networks when doing the first LAN parties with friends and as soon as I was old enough I visited public LAN party events with up to a thousand attendees.

Eventhalle Geiselwind, filled with gamers, and almost all computers still with tube monitors.
Lan Nation 2006

I got into video editing (Adobe Premiere, Canon DV Disk Camcorder), learned a bit about scripting, animations, HTML / CSS and had to deal with many problems, on my own PCs and hundreds of PCs of people I knew with driver installations, viruses, worms, hard disk corruptions, recovery operations, other hardware/software issues, …. Back then all that stuff was a common thing up until Windows 7 (released 2009) became popular.

I am lucky and happy to have grown up during important times of digitalization with the mass adaptation of the public internet, smartphones, many different embedded systems (IoT), machine learning and upcoming of Google, Microsoft, Apple, Meta and Co - as well as the "Golden Age of Gaming" (PC, Atari, Game Boy, NES, SNES, Sega Master System, Mega Drive (CD), Saturn, N64, 3DO, Neo Geo, Neo Geo CD, PS, XBOX, Dreamcast, GameCube, WoW Vanilla, etc.).

I really struggled when I had to learn my first high level programming language (Java) at the university in 2006. I couldn't get my head fully behind that OOP thing and was a bit like a "guinea pigs" during the Bologna Process 🍝 as the first Bachelor degree program ever at that university. So that did not quite work out for me.

But that failing of my first studies led me to an academy where I was taught web development (LAMP Stack - primarily XHTML, CSS, Photoshop, JavaScript, MySQL, PHP and clean code habits) by supervised coding all day for half a year. Suddenly all that stuff with "abstract classes" and "magic methods" made sense to me - that was back in 2010. During my studies beginning 2013 I felt great joy from finally understanding how a computer really works, at least above the electrotechnical level, and was excited to learn about more advanced topics regarding software architecture, like GoF patterns and modern principles, that would further shape my coding skills. I had much success and great joy in teaching and helping others when learning their first programming language, since I always tried to remember how much I struggled during my first studies of computer science.

While being at college I was tutoring fellow IT students in learning C# and Basics of Computer Science for many semesters and before that I had other responsibilities in school or sports clubs. For a one-year long university programming project I was unanimously selected as the SCRUM Master and project lead.

During my internship at Schwarzlichtfabrik Nuermberg in 2017 and the following final years of university, I picked up photography as a hobby.

Kingfisher sitting on a branch surrounded by green leaves and branches.

In 2021 I started working full time as a backend developer and looking back at my studies now in 2023, I really miss standing near a white or chalk board and teaching IT stuff.

So, when I am not sitting at the computer or shooting some urban wildlife with my DSLRs, I do a bit of sports, enjoy going out, having BBQ with friends or just riding my mountain bike.

Nothing is permanent but change.

My Skills

What I do not know I do not think I know

Languages

Basics In Markup And Programming Languages

C# 😍

I loved this language on first sight back in college where I then helped many people learning C#. I like to think that for understanding advanced code all you need is great basics and someone who cares about clean code.

PHP 🤩

What an awesome language since it is so flexible for creating all kinds of different applications.

JavaScript 😎

I worked out some nice and sweet lines of code with JavaScript - really enjoy working with it.

Python

Basic programming experience gained during my BSc thesis.

SQL / LINQ

I coded SQL when taking lectures in databases at college and was schooled in using MySQL before.

C++

A few hours of self-teaching the syntax, private lectures and briefly used in combination with Unreal Engine.

Java

I wrote some small apps for my android phone (f. e. compass-, lamp-, notes-apps, etc.).

IJVM (Integer Java Virtual Machine by Andrew Tanenbaum)

I came across this language at college when learning about computer architecture.

MIPS32 Assembler

Learned and taught the fundamentals during college.

LaTeX

Used for creating different kinds of documents and presentations - but the syntax can get really messy, I don't like that.

R

Just had a few weeks of training during studies.

XML-Family (XAML, JSON, etc.)

Never had problems when needed for Android, Symfony, etc.

YAML

When I was tought Symfony Framework, YAML was used for templating and I also created YAML scripts for testing pipelines in Azure DevOps.

HTML5

What is there to say about this markup language - it is a handy tool.

CSS

Not hard to learn - yet the syntax is not as enjoyable as the results.

UML

Obviously, the Unified Modeling Language is not a programming language and does not really compile (Model Driven Architecture). But since its main purpose is to describe software systems I still list it here.

Software

IDEs, APIs, Frameworks, Engines, Tools

Visual Studio IDE / JetBrains ReSharper 💪

One of my favorite IDEs - I have been coding with it for years. ReSharper I also used, great for refactoring to a common code style within a team - also dotCover was pretty useful.

Entity Framework Core

A data access framework for object relational mapping. Worked with it full time for one and a half years - quite enjoyed it 👍.

xUnit Tests

A test tool for .NET framework, as the name suggests used for unit testing. I definitely sleep better at night when my code is thoroughly tested.

NUnit Tests

The second test framework I learned and started working with on a regular basis.

SoapUI

End-to-End Functional, Load & Security Testing for REST & SOAP APIs and other web services. It is free, open source, but the UI looks like crap and the automation is lacking.

Windows Presentation Foundation

Popular GUI Framework for .NET developers. Basic knowledge from studies and developing with EF Core.

Docker

Decoupling applications from the machine is obviously very handy.

Virtual Box

Awesome for developing or testing stuff on different operating systems on a single machine, like running different LINUX distributions on a Windows OS (my most common use case).

Azure DevOps Server

Managing work items, pull requests, some communications, testing pipelines and extensive documentation via wiki.

Trello

Visual appealing tool for organizing any stuff like (software) projects or studies/work.

NetBeans IDE

Once upon a time my most used IDE, it does the job well.

Android Studio IDE 📱

This IDE was great fun to work with because it was very intuitive and easy to use - so enjoyable. 😚

Eclipse IDE

Fifteen years ago, this IDE felt already twenty years old - I never got used to work with it.

Magix Movie Studio / Vegas

Hundreds of hours of editing 😍, recently mostly basic stuff.

Audacity

Great for off-screen recordings and sound editing.

Unreal Engine

I started working with the Unreal Engine during an internship, where I trained for a few months. There I got familiar with the GUI, created a typical Third Person "Hello World" Game, learned a bit about terrain generation / creation, state machines and PostFX effects. Later during my BSc thesis, I created some 3D worlds for driving simulations (Carla).

Autodesk 3ds Max

Had a few weeks of training and summer-school, but sincerely these kinds of apps are too huge for a "weekend-trip".

Three.js

Great API for learning the basics of 3D animations.

SAP ERP

Participation in a semester-long internship (2 CP).

Adobe Photoshop

I was schooled in PS on college and during my web development education.

Adobe InDesign

I used to create lots of documents, letters and sometimes presentations in ID, I was also schooled in this for one semester.

Bootstrap 👞

This page is pretty much my first bootstrap project 😉.

Symfony

I did not enjoy working with it because back than it was too complex for me as I was not as aware as today.

Slic3er, Cura

Used for creating 3D prints.

Repetier Server API

Involved in one of my projects (3D Printer Manager Application).

IntelliJ IDEA

Briefly used during a lecture in software architecture.

Git and Perforce

I versioned with Perforce briefly (UE) and Git for different projects during my studies. Since working full time I use Git on a daily bases.

KOLOR Autopano & Panotour (acquired by GoPro in 2015)

Great panorama stitching and virtual tour creation software.

Carla Simulator

Open-source simulator for autonomous driving research.

VectorZero RoadRunner (MathWorks)

Editor for designing 3D scenes for simulating and testing automated driving systems.

ROS - Robotic Operating System

A Middleware to build robot applications.

GrapeCity Documents for Excel, .NET Edition

Spreadsheet API, in my case used for creating Excel documents from templates on the server side.

Google

Very important and quite a skill to master - the first search engine I ever used was AlltheWeb.com back in 1999 (shut down in 2011).

Operating Systems

Just to mention them

Windows 3.1x, 95, 98, 2000, XP, 7, 8, 10

I grew up using those OS for more than 25 years now. Skipped Vista for obvious reasons 😅.

LINUX

Ubuntu 18.04, Debian 10 buster, Raspberry Pi OS (previously called Raspbian), CentOS. I used each of those for different projects.

Android

Some insights through development for Android smartphones (Android 7.0 Nougat - 2016).

MacOS

During my training on web development I worked with MacOS for six months straight, but I never really enjoyed that system.

iOS

I had to jailbreak my iPhone 2 and never understood why they made it such a pain to transfer a mp3 file - since then I ceased to use Apple.

Hardware

Repairs, Builds And Everything Else

PC Build / Repair

I just assembled too much PCs already in my life - got a little bit bored of it.

Network Troubleshooting

Proper Planning Prevents Piss Poor Performance.

Plotter (Textile Film) and Laser Cutter (Engraving)

I have worked a little bit with these, assembling, calibrating and software wise.

3D Print

Lots trial and error, but I can enjoy that.

Virtual Reality Head Mounted Displays

(In 2017/18:) Still a young technology, but very nice to get in touch with the latest HMDs from HTC Vive and Oculus.

DSLR Photography 📸📸📸

(Urban-) Wildlife
Macro
Landscape / Panorama
Low Light
Portrait

Hobby - Nikon 😍.

My Resume

Where I worked and studied

Where have I worked

ISO Group

Medium Business (500+ employees)

Hybrid (Forchheim)

Fulltime Backend Developer (Junior)

Medical Applications (CT/MRT) @ Siemens Healthineers

0 sick days

best data GmbH

Microbusiness (5 employees)

Remote

Fulltime Backend Developer (Junior)

Web API Applications

Self-taught in architectural guidelines, CI/CD processes, Azure DevOps/Git administration, requirement engineering; created documentation and guidelines for software development; very limited insights into the insurance business

💲 Helped the sole other developer by refactoring existing code base and knowledge transfer

First time thinking about becoming scrum master, team lead or building my own team 🦾

0 sick days - Ended during probationary period ⛔

Jus-IT Servicezentrum der bayerischen Justiz

Medium Business (500+ employees)

Remote

Fulltime Backend Developer (Junior)

Enterprise Applications

Learned a whole lot about programming, version control, coding principles, code reviews and best practices from my awesome colleagues 👋👍
In the development process, the official Microsoft documentation and Martin Fowler's Design Patterns For Enterprise Application Architecture served as the ultimate guiding principles and solutions for most challenges 🧠🧠🧠

💰💰💰💲💲💲 Professional, Relevant and State-of-the-Art .NET Enterprise Application 😍😍
Created learning presentations for the Dev and Testing teams, as well as development documentation and guides
Mentor to a student intern (40 hours over 20 weeks)

If the government pay were just a bit higher, I would have stayed much longer 😢

0 sick days 🌡️🚫️ - Temporary employment extended once, was offered a lifetime civil service position

HORIBA - 2bc CAD+Engineering

Corporation (8000 employees)

Remote

Working Student

Software Development

ADAS / LIDAR Testing

Great learning experience! ⭐

Agile Practices and Engineering Insights 🚀

💰 Driving Simulation Prototype
Stepped in as Scrum Master in the absence of the main and backup scrum masters

0 sick days - Temporary employment

iSyst - Test house for embedded systems

Small Business (100-500 employees)

Hybrid

Final Thesis B.Sc.

Software Development

In cooperation with HORIBA

Evaluation of CARLA for ADAS Simulation

Thank you once more for the awesome guiding and support during my final thesis 😃👌⭐⭐

Great learning experience! ⭐

Agile Practices and Engineering Insights 🚀

💰 Driving Simulation Prototype
Stepped in as Scrum Master in the absence of the main and backup scrum masters

0 sick days - Temporary employment extended through personal transition to partner company HORIBA

Schwarzlichtfabrik - 3D Minigolf Nuremberg / Wurzburg

Very Small Business (10-20 employees)

On-Site

Internship / Working Student

Software Development

Many awesome experiences 😊⭐ Even when the team stopped working at 10PM we stayed at the workplace long after midnight many times, just chatting, having a beer, playing VR, etc.

💲💲 Multiple Prototypes on different platforms 🌐🚀
Collaborated on complex challenges in 3D game development for AR/VR with developer colleagues, felt like a "dev-problem-punchball" 🥊😂 and contributed ideas despite my limited understanding during our beneficial problem-solving sessions

10 out of 10 stars ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

0 sick days - Internship 40h for 20w + Temporary employment extended multiple times

evosoft GmbH - 100% Daughter Siemens AG

Small Business (100-500 employees)

On-Site

Working Student

IT Support 2nd Level

  • Networking (Hardware / Software)
  • Testing network monitoring & security tools (Nagios XL, OpenNMS, Icinga, etc.).
  • Basic computer support
  • Mobile-App development for Android (Android Studio IDE 2.x)

Good first "professional" experience 💼💪, getting to know JIRA, ticket systems and gaining insights into how IT Support, and thereby IT in general, works in a big corporation

Great colleagues that taught me a lot (1st and 2nd level support team)

💰💰 "Hands-on on all office floors, server rooms and computer storages 😅"

0 sick days - Temporary employment

Hybrid

Student Assistant

E-Tutor

Peer Assessment Programming I & II

  • WS 18/19
  • SS 19
  • WS 19/20

All BSc students at the computer science faculty of TH Nuremberg GSO had to successfully complete six to eight weekly assignments and evaluate two assignments from other students each week to be eligible for the exams on Programming I and II during their first two semesters.

My job was to prepare and administrate the web platform (Moodle) for this over three semesters, make sure everything goes smoothly and I also supported the students where I could.

Alongside I checked quizzes and exercises created by students and made some corrections if necessary.

In-Person

Semester Tutor

  • Basics of Computer Science
    • Number Theory, Boolean Theory, Sequential Logic, Assembler (MIPS), Common Computer Architecture
    • SS 15
  • Basics of Programming I
    • Datatypes, Operators, Control Structures, Methods, Classes, Reading and Writing Files
    • WS 16/17
    • WS 18/19
  • Basics of Programming II
    • Concpets of OOP, Operator Overloading, Conversion Operators, Linked Lists, Exception Handling, Genercis, Delegates, Events
    • WS 14/15
    • SS 15
    • SS 16

Preparatory Courses Tutor Programming I

  • WS 18/19

Private Teacher

Coding & Math

Private lessons for college students in:

  • Coding
  • Basics of Computer Science
  • Mathematics
  • Algorithms
  • Data Structures
  • Cryptography
  • Business Administration and Informatics

Casual Employment

Physical work like constructions and relocations

Poker Dealer

Events / Casino

Me working as poker dealer in a event with thousands of players

Bartender

Gastronomy

Where have I studied

University

Nuremberg Institute of Technology Georg Simon Ohm

Media informatics

B. Sc.


Business informatics

Academy

Webmasters Academy Nuremberg GmbH

Web Devoloper

Web Developer Grade II
University
Technical School

Lothar-von-Faber Schule, Nuremberg
12th Grade
Student Council
President (1 Year)
Class President (1 Year)


Städtische Fachoberschule, Nuremberg
11th-12th Grade
Student Council
President (1 Year)
Class President (2 Years)

Secondary School

Veit-Stoss-Realschule, Nuremberg
8th-10th Grade
Student Council
President (2 Years)
Class President (3 Years)


Theresien-Gymnasium, Ansbach
7th Grade


Platen-Gymnasium, Ansbach
5th-6th Grade
Class President (1 Year)

Primary School

Karolinenschule, Ansbach
2nd-4th Grade


Abendrothschule, Cuxhaven
1st-2nd Grade

Certifications

Certification Webmasters Europe

Web Business Manager
Web Designer Grade I
Web Developer Grade I
Web Developer Grade II

Curriculum

Certification Neo4j Developer

Neo4j GraphAcademy

Certification Neo4j Developer

ISTQB Tester

I absolved a course at college based on this certificate and a year later when working full time I had a five day course without the certification.

My Projects

Previous and current achievements

What have I helped build or built by myself

Enterprise Application

  • Backend Dev

Software Evaluation Carla

  • Software Develompent, Autonomous Driving, Deployment, 3D Creation

Webapplication

  • Project Lead, SCRUM Master, Content Creation

Website

  • Webdesign

Photography 360 Virtual Tour

  • Content Creation - Just for fun

Virtual Reality

Game Development Unreal
  • Internship and Working Student

PHP Application

  • Software Development

3D Printer Manager Application

Simplifying and logging 3D print jobs @ Schwarzlichtfabrik.

  • Uploading *stl / *obj files for printing
  • Listing details about 3D printers within the network
  • History of print jobs and easy reprint
  • Managing uploaded files, 3D preview of models
  • 3D Preview of *.gcode before print
  • Interacts with Repetier Print Server API
  • Operators only select a few options, including a dropdown list of config files specified for each 3D printer

Website (DEPRECATED)

  • Webdesign

Tutorial Videos

  • Sharing, Educating and Video Creation

Contact Me

via E-Mail (best)

hidden



via LinkedIn:

🔗

on Flickr:

🔗

on iNaturalist:

🔗

on YouTube:

🔗

via Facebook:

🔗

Year 2024: Not sure so far 😅

Year 2023: Software Philosophy

As a junior developer with 2 years of full-time experience, I understand the essence of creating high-quality software. Aligning the right technology, elaborated requirements, a passion for coding, a commitment to clean architecture, rigorous testing, thorough review processes, senior leadership, empathy for coworkers, customers and all other stakeholders, teambuilding, along with a solid organizational structure and effective project management, all contribute to a tangible outcome:

💰💰💰💲💲💲

Good code is a love letter to the next developer who will maintain it

Year 2022: Hello World EF Core and DDD

I thought that after the end of my studies, my head would never smoke again like it did during semester exams.
Boy, was I wrong! 😂😂

Domain Driven Design 🚗 Entity Framework Core 🖼 REST API 😴 HATEOAS 🏃‍♂️

Year 2021: Save The Best For Last

I left two lectures, besides elective courses, for after my final thesis to solely focus on those readings: Software Architecture and Project Management

Started working full-time in tech as a backend developer

Deepened my insights into professional agile project management

Year 2020: Covid Mess

Scheduled my BSc thesis for March 15th, 2020, coinciding with the start of the semester and unexpectedly, the onset of COVID measures in Germany - planned to isolate and focus on my work anyway 😂💪

Finished the IT team project for college, where I was assigned as Scrum Master

Year 2019: If it was easy, everybody would do it

Endured some tough lectures, mostly delving into heavy math and advanced computational concepts

Enjoyed some good lectures covering machine learning, UI, theoretical computer science and compiler construction

Fail fast, fail forward. Understand the problem, keep on trying, keep on movin'

Year 2018: First In, Last Out

Switched from Business Informatics BSc to Media Informatics BSc.

Some good lectures regarding statistics and databases

Established a routine of being the first person in each lecture and the last to leave the room

Hello World Project Bootstrap: Birth of this Portfolio Page 😀⭐😀

Year 2013: Hello World C#

Year 2010: Hello World JavaScript, PHP & MySQL

Year 2006: Hello World Java

Year 2005: Hello World HTML, CSS