Born in Sweden in the late 80’s I got my first computer in the early 90’s, an Intel 386 with MS-DOS. Having to start games like Retal and Lemmings from the command line was enough challenge at the time, but when I later upgraded to Windows 3.1 I actually started tinkering with the computer a bit more.
My friends were however already using Windows 95 and played games like Sim City 2000, Heroes of Might and Magic, Warcraft and Magic Carpet. These could not run on Windows 3.1 (at the time I didn’t understand that there were DOS-versions of these as well), so in my cravings to play these I simply draw them in MS Paint and pretended to play them instead.
When I later started using Windows 95 and Windows 98 it coincided with the birth of the mainstream internet with home dial-up connections and the world wide web. Information was easier to access but far from as polished and accesible as today. Streaming video (or any video) and PDF was not even around. Homegrown txt-files was the information media of the time, beside physical books.
So as my learning was somewhat hampered by un-inspiring texts, I resorted to level design. I had spent many hours doing level for RTS-games like Red Alert, Age of Empire and Dark Reign. But getting into 3D was on a totally different level. I finally got the grip of it when I was 12-13 years old thanks to an article in the Swedish version of PC Gamer. It went through the concept of polygons, textures, lightning and even some scripting. This was probably my first contact with anything programming related.
As the web was growing fast, both as a consumer media and a development platform, I started to look into how I could make my own webpages. Office was cool and as I had used Word for school projects, I looked into its support for web and built my first web page like a regular document and uploaded it to the Swedish web portal Passagen (a Geocities-clone).
I quickly realized that Word was not optimal for anything web related, so I instead turned to its sibling Frontpage. Frontpage had a proper WYSIWYG-tool (which rendered horrible HTML) that got me started doing real websites with frames, GIF-animations and all of the cool 3rd party services like visitor counters and guestbooks.
My first sites was 100’s of different iterations of my personal website (still hosted on Passagen, I bought my first domain a decade later in 2007). But my entrepreneurial mindset drove me to start somewhat more serious projects. Those consisted of sites focues on PC and console games reviews, game clan sites and company websites for family friends.
Somewhere in the early 00’s I switched from Frontpage to Dreamweaver, and even though I did understand HTML I had limited knowledge of CSS and did most of my work in WYSIWYG so the tool generated most HTML/CSS. But one day I decided I should learn CSS and got myself a pirate copied PDF-file of some book on the topic. And after that I never used WYSIWYG again, even though I used Dreamweaver until the late 00’s when I switched to Textmate/Coda/Sublime Text.
Even though I spent a lot of time in other languages and frameworks, I mostly stayed with PHP and MySQL for the next decade. Although around 2011 I had come to the conclusion that PHP is really garbage, but it was what I knew the best and when I discovered Laravel (a PHP-framework) in 2012 I decided to stay a bit longer.
By 2016 I had grown seriously tired of PHP, its community and everything related to it (even most other PHP-developers). Some of the languges I had kept a close eye on over the eyers were Python, Objective-C/Swift and C#. So it made most sense to jump into those universes.
Besides web development and had played around with more low-level systems programming since the early 00’s. I bought books on C++ and Java, and even bought a retail version of Visual Studio C++ 6.0 with my own money to have a proper IDE and compiler (for Windows). With it came a poster of the entire class hierarchy of MFC, a C++ library for developing desktop Windows applications before Winforms and even .Net itself.
Like many other kids I dreamed about making my own games. I even assembled a team consisting of a professional 2D Texture artist, a professional 3D artist and myself as a programmer even though I didn’t really understand any programming outside of commandline-based text games and utilities. I spent a lot of time on GarageGames and tried my best with Irrlicht and Ogre 3D, two popular graphic engines in the 00’s.
Nowadays I specialize in Python and Swift. For Python I’m primarly focusing on Django and Flask for web development, together with Postgres, Redis, ElasticSearch, RabbitMQ. When it comes to Swift I’m steadily reaching deeper within the Apple universe, from UIKit to ARKit and CoreML.