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.
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.
Basic programming experience gained during my BSc thesis.
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 wrote some small apps for my android phone (f. e. compass-, lamp-, notes-apps, etc.).
I came across this language at college when learning about computer architecture.
Learned and taught the fundamentals during college.
Used for creating different kinds of documents and presentations - but the syntax can get really messy, I don't like that.
Just had a few weeks of training during studies.
Never had problems when needed for Android, Symfony, etc.
When I was tought Symfony Framework, YAML was used for templating and I also created YAML scripts for testing pipelines in Azure DevOps.
What is there to say about this markup language - it is a handy tool.
Not hard to learn - yet the syntax is not as enjoyable as the results.
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.
Decoupling applications from the machine is obviously very handy.
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.
Visual appealing tool for organizing any stuff like (software) projects or studies/work.
Once upon a time my most used IDE, it does the job well.
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.
Hundreds of hours of editing 😍, recently mostly basic stuff.
Great for off-screen recordings and sound editing.
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".
Great API for learning the basics of 3D animations.
Participation in a semester-long internship (2 CP).
I was schooled in PS on college and during my web development education.
I used to create lots of documents, letters and sometimes presentations in ID, I was also schooled in this for one semester.
This page is pretty much my first bootstrap project 😉.
I did not enjoy working with it because back than it was too complex for me as I was not as aware as today.
Used for creating 3D prints.
Involved in one of my projects (3D Printer Manager Application).
Briefly used during a lecture in software architecture.
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.
Open-source simulator for autonomous driving research.
Editor for designing 3D scenes for simulating and testing automated driving systems.
A Middleware to build robot applications.
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
Internship / Working Student
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
Coding & Math
Private lessons for school students in mathematics.
Private lessons for college students in:
Physical work like constructions and relocations
Web DevoloperWeb Developer Grade II
Lothar-von-Faber Schule, Nuremberg
President (1 Year)Class President (1 Year)
Städtische Fachoberschule, Nuremberg
President (1 Year)Class President (2 Years)
President (2 Years)Class President (3 Years)
Class President (1 Year)
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