My name is Christian Karl Bahram Thorn, I studied Computer Science in Nuremberg and currently work in tech as 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.
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.
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.
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.
What I do not know I do not think I know
Basics In Markup And Programming Languages
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.
What an awesome language since it is so flexible for creating all kinds of different applications.
I worked out some nice and sweet lines of code with JavaScript - really enjoy working with it.
I coded SQL when taking lectures in databases at college and was schooled in using MySQL before.
A few hours of self-teaching the syntax, private lectures and briefly used in combination with Unreal Engine.
I came across this language at college when learning about computer architecture.
Used for creating different kinds of documents and presentations - but the syntax can get really messy, I don't like that.
When I was tought Symfony Framework, YAML was used for templating and I also created YAML scripts for testing pipelines in Azure DevOps.
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.
IDEs, APIs, Frameworks, Engines, Tools
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.
A data access framework for object relational mapping. Worked with it full time for one and a half years - quite enjoyed it 👍.
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.
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.
Popular GUI Framework for .NET developers. Basic knowledge from studies and developing with EF Core.
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).
Managing work items, pull requests, some communications, testing pipelines and extensive documentation via wiki.
This IDE was great fun to work with because it was very intuitive and easy to use - so enjoyable. 😚
Fifteen years ago, this IDE felt already twenty years old - I never got used to work with it.
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).
Had a few weeks of training and summer-school, but sincerely these kinds of apps are too huge for a "weekend-trip".
I used to create lots of documents, letters and sometimes presentations in ID, I was also schooled in this for one semester.
I did not enjoy working with it because back than it was too complex for me as I was not as aware as today.
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.
Great panorama stitching and virtual tour creation software.
Editor for designing 3D scenes for simulating and testing automated driving systems.
Spreadsheet API, in my case used for creating Excel documents from templates on the server side.
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).
Just to mention them
I grew up using those OS for more than 25 years now. Skipped Vista for obvious reasons 😅.
Ubuntu 18.04, Debian 10 buster, Raspberry Pi OS (previously called Raspbian), CentOS. I used each of those for different projects.
Some insights through development for Android smartphones (Android 7.0 Nougat - 2016).
During my training on web development I worked with MacOS for six months straight, but I never really enjoyed that system.
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.
Repairs, Builds And Everything Else
I just assembled too much PCs already in my life - got a little bit bored of it.
Proper Planning Prevents Piss Poor Performance.
I have worked a little bit with these, assembling, calibrating and software wise.
Lots trial and error, but I can enjoy that.
(In 2017/18:) Still a young technology, but very nice to get in touch with the latest HMDs from HTC Vive and Oculus.
Hobby - Nikon 😍.
My favorite chapters of IT-studies
Where I worked and studied
Fulltime Backend Developer
Enterprise Applications
Fulltime Backend Developer
Enterprise Applications
HORIBA - 2bc CAD+Engineering
Working Student
Software Development
ADAS / LIDAR Testing
Final Thesis
Software Development
In cooperation with HORIBA
Evaluation of CARLA for ADAS Simulation
Internship / Working Student
Software Development
Student Assistant
E-Tutor
Peer Assessment Programming I & II
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.
Preparatory Courses Tutor Programming I
- 100% Daughter Company Siemens AG
Semester Tutor
Private Teacher
Coding & Math
Private lessons for school students in mathematics.
Private lessons for college students in:
Casual Employment
Physical work like constructions and relocations
Bartender
Hof University of Applied Sciences
Media informatics
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)
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)
Karolinenschule, Ansbach
2nd-4th Grade
Abendrothschule, Cuxhaven
1st-2nd Grade
Web Business Manager
Web Designer Grade I
Web Developer Grade I
Web Developer Grade II
Neo4j GraphAcademy
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.
Previous and current achievements
Simplifying and logging 3D print jobs @ Schwarzlichtfabrik.
My Photography on Flickr: Flickr