My Programming Timeline

• 4 minutes read Personal

#

Here are some of the defining events and projects in my life and career as a programmer and software developer.

Thanks to Aryan Rahman who did his timeline and inspired me to do my own.

~1997 - Got introduced to computers by my dad. I started to draw in KidPix. MS Paint later became a favorite of mine. As well as playing games. Exploring different programs. This was before we even were connected to the Internet. So I got my knowledge from monthly computer magazines that my parents subscribed to, with which programs came on a CD. Later introducing me to web development and programming.

1999

  • My favorite game was RollerCoaster Tycoon, a game where you build an manage theme parks, which was released that year. I spent a lot of time with it. Got the trial from a computer magazine - then the full game.

  • Tried building basic websites with Microsoft FrontPage - without knowing how the Web worked.

~2001 - Got exposed to VBScript. Started building simple scripts with alerts and prompts. Also got to know that there was something called "Active Server Pages (ASP)", but that was so hard for me to setup on my computer.

~2005 - As we got broadband, I downloaded and started looking at Visual Basic.NET and building apps with Windows Forms. Did not really know about specific programming concepts, not even what a variable was. Though I had probably used them.

2006

  • Got introduced to C# by a guy who worked at Microsoft. (*My teacher's son). He would later introduce me to a lot of concepts in .NET, like Reflection. And encouraged me and my interest in developing software.

  • Built website for the local parish, with ASP.NET Web Forms and SQL Server for database. The guy mentioned above used it as an example to teach me about SQL injections.

2007

  • Got the book "Visual C# 2005 Step by Step" and went through it during summer holiday. Learned all the concepts, from the basics to object-oriented programming. Back at school, I did a test and skipped my A course in Programming.

  • Learned PHP in school.

2008

  • Exploring concepts and figuring stuff out - building my own JSON parser, and building a MVC framework which used basic reflection.

  • Built a Sudoku solver with UI as a school assignment. C#/.NET and WPF.

  • As a Christmas project, I built my own "Virtual Computer" that took instructions, executed them and visualized what happened to register and such in a UI built with WPF.

  • School project, built a compiler Learning parsing and advanced problem-solving. The language was based on C and C# so I called it "C micro". The compiler was built in C#. Documented as well.

2010

  • Got my first real smartphone - Samsung Omnia 7 with Windows Phone.

  • Started looking into the Cloud with Microsoft Azure (then "Windows Azure") which was released that year. Uploaded my own websites.

2011 - Built a Visual Basic.NET compiler in C#. Its architecture and design was based on the Mono VB.NET compiler. Also learned some from the IronPython compiler. Even added improvements to error handling. (Source code)

2012 - Was an intern in a student project where my role was building mobile apps for a concept product - system for charging electric vehicles. Initially built an app for Windows Phone in C#/.NET. Then also cross-platform apps for Android and iOS with Cordova using HTML/JavaScript.

2013

  • Got my second Windows Phone - a Nokia Lumia 720 with Windows Phone 8.1.

  • Had a couple of pet projects building unpublished apps for the Windows 8 platform. Built app that showed scraped articles from local news site. Also built a tour guide app for Windows Phone that used geo-fencing and had a service hosted in Azure.

2014 - Started working for a company where I built a messenger-like desktop app for emergency response (police, ambulance, firefighters). It interfaced with custom hardware. The technology used was C#/.NET and WPF with the MVVM pattern. Then I built another tool for programming the hardware. (Read more)

2015 - 2016

  • Worked as a System developer in a team developing internal system integrations for handling incidents and managing customers for broadband & fiber provisioning. The company acted as an Internet Service Provider (ISP). Projects built for Web with PHP, NodeJS, and C#.

  • Got introduced to Raspberry Pi 2 B (2005) and started exploring Linux. Built apps with NodeJS. Used RPi for home automation.

  • Built a website for tracking thunder and lightning with some friends. It included a custom-made map displaying live data from Blitzortung. It was built for Web with NodeJS for backend. Also built SMS service C#/.NET running on Raspberry Pi with a GSM modem.

  • Built my own clone of KnockoutJS in TypeScript.

  • Attempted at building my own Object-Relational Mapper (ORM) for NodeJS.

  • Got my last Windows Phone: a Microsoft Lumia 640 XL (2015) with Windows 10 Mobile.

  • Switched to iPhone: iPhone 6S (2015)

  • Got my first Mac - Macbook Air (2011)

2016

  • Built my own IoT apps for Windows 10 IoT on Raspberry Pi with C#/.NET.

  • Built a HttpListener API for .NET Core 1 on the Windows 10 IoT platform since that functionality was lacking at the time. Allows for the device to listen for HTTP/Web requests. Uses underlying Windows platform APIs (UAP).

2017 - 2018

  • Was a consultant in a team developing web interfaces for products at AXIS. Learned React.

  • "Hacked" my TP-Link Smart Home and built a commandline tool in C#/.NET to control lightbulbs. (Source code)

  • Built a music player mobile app for an Axis speaker, as a side-project. Ran on iOS and Android. Built with C#/.NET and Xamarin.Forms. (Source code)

  • Built my own Access Control system on Raspberry Pi. Service-oriented architecture. C#/.NET. Web and Blazor. Mobile apps in Xamarin.Forms. (Source code)

2018 - Built a site for presenting consultants, as a side-project when waiting for an assignment. I learned about organizing code by features and to focus on use cases. The app was branded. It was built with C#/.NET ASP.NET Core and Blazor. Used MediatR. (Source code)

2019

  • Working as a consultant on solution for the Processing and Packaging industry. Helped refactoring and upgrading a big modular monolithic codebase. Built in C#/.NET Framework with components in ASP.NET WebForms, MVC, and React.

  • Built my own mobile app for keeping track of bus and train departures while commuting. Styled it to look like the timetables. Used public Web APIs. Built with C#/.NET and Xamarin.Forms. (Source code)

2020 - 2021

  • Worked for a company where I developed an entire ERP system (CRM, Ordering, Invoicing etc) with e-commerce abilities. Dealing with a monolithic architecture. Implemented integration with BankId. Built customer sites. Customers were an insurance company and a cleaning company. The system was built in C#/.NET ASP.NET Core and Blazor. Used Wordpress as CMS. Explored a lot of technology and options on the side.

  • Getting into Software Design and Architecture patterns. Explored Monoliths and Microservices, and what Event-driven architecture is about. Worked on various pet projects: Product Catalog, TimeReport, and continued on Showroom. How to integrate the various projects. Resulting in "YourBrand".

2022 - Dove into Domain-driven design (DDD) practices. Further exploring Software Design and Architecture patterns. Refined the projects that I had built previously, and integrated them into one business case and domain. Ending up with "eShop".

2023 - Learned about GitHub Actions, and deployed Container Apps to Microsoft Azure.

Last updated on August 29, 2023. Before that on March 16, 2023, and February 27, 2023.

Marina Sundström

  • A personal website and blog about life and software development
  • Code is provided with no warranty.
Social

Back to top

© 2024 Marina Sundström • Built with .NET & Blazor - Hosted by GitHub Pages

An unhandled error has occurred. Reload 🗙