I worked for the most remarkable web agency's in South Tyrol mostly in Val Pusteria (Pustertal). My journey started in 2016 as full stack developer. Overwhelmed at the beginning with the sheer endless possibilities in programming I wasn't sure if I want to stay in this niche. As you can read here on this blog website I'm still in the same field. My main focus lies in web development but I create also software components in different languages. Since the upcoming of tools like ChatGPT and similar AI tools programming as a 'noob' got a lot easier, because it is so simple to ask 'dumb' questions and still get a legit explained answer.
To me this was a big step forward becoming a way more independent programmer as I was before. Sometimes we all got these stupid problems where we waste tons of time only to realize at the end that we followed the wrong rabbit hole. With the help of Artificial Intelligence it got a lot easier and also more manageable to become a good programmer in my opinion.
Technologies I use/used in alphabetical order with short anecdotes regarding my life experience with them.
At my current work I was introduced to Angular. I had no prior experience with it and was a bit scared of it because I've heard it was kind of difficult to learn and has a steep learning curve. Right now I work with a pre existing project which I do have to expand with new features and functions. It is to me not that difficult but I do nothing crazy with it at the moment. I display data with the help of the PrimeNG library and that works so far seamless.
I work always on my favorite Macbook Pro with M1 Max. This machine has endless power, is very expensive and simply runs without annoying software which wants you to restart or do often updates like in Windows for example. At work I also use a Macbook with M3 Pro chip which now runs for more than a half year without restarting it. That's a new personal record. Imagine running a Windows machine for a half year without restart that would never be possible. macOS on the other side has no problems with it. I think I will let it run it for a year without restarting create a screenshot with the uptime and later install all the necessary updates.
I used to host my personal website on Amazon AWS because I wanted to gain experience setting up my web services with a cloud provider. At first my bill was around 10 $ for a small server but finally got up to 15 $ which was simply to much for me. The server was not very powerful and I wanted to get a cheaper server which I achieved transferring everything to *Hetzner. * is referral Link
I'm familiar with the Bash meaning writing simple scripts on macOS or Linux. Nothing to crazy but some basic shell scripting skills.
At my first job as FullStack Developer I was introduced to .NET framework. It was a really hard time to learn the Microsoft ecosystem on Windows, Windows Server and web development all at the same time. At times I must say that I was hopeless and I thought I'm simply to dumb to become a developer. Years later I don't think this way no more. In my opinion there was a bit of a training plan missing, meaning random problems were thrown at me and I was supposed to solve them in independently. Maybe it would have been a bit easier if I at first would have done only web development without backend but after you've done something you always know how it would have been better.
I migrated my blog website over to Cloudflare because I was afraid if (D)DOS attacks and also for faster latency for the end client. My website runs fine on Cloudflare and it has also a lot of cool features in the free tier which I like to explore sometimes.
The web fundamentals are built with the help of CSS. I have to say I'm not particularly good with CSS but normally I'm able to build a website according to it's screen design. It took me quite a while to understand the basics and learn when to use which property and with what combination. But with enough practice it was doable and now I'm confident with it but with all means no pro at it.
In my opinion every software developer which thinks of himself highly must have at least some experience with Docker. Spinning up containers with fixed development environments is a must I think. Docker makes developing a lot easier but sometimes it can be a bit tricky to debug I would say.
I have worked with ASP.NET Framework at the beginning and with the time I eventually changed to ASP.NET Core. I'm not to well educated in that niche but some basic skills I've teached myself.
On every job I worked we used as source control Git as Version Control. I think it is a bit complicated but I'm well familiar with Github Desktop GUI and now at my current position we use Git Kraken with GitFlow which is after some time easy to work with. Sometimes I still have to do some things in the terminal but those moments are very occasional.
At my first job we used Github to store our projects. Later on I used Bitbucket and right now we use Gitlab. I personally like the most Github because I'm most familiar with it. For my private projects I use always Github and I follow there a lot of developer's which I've met in my life and also made friends with some unknown developer's which I met working on projects.
Learning HTML at first seems a bit boring and way to easy, but mastering it can be a bit harder is my opinion. There are quite many html tags and some you don't have to use very often and therefore their existence is easily forgotten. It's often when you debug other people's website you see how they use some tags and then you think why haven't I done it like this myself.
Every developer needs sometimes a time out. Time to smoke a cigarette, drink a coffee and spend some time on Instagram. Have a look at my favorite memes.
In my current position we have a code base written in Java. It was started in the 2000's and is still maintained to this day. There is a java GUI client written and also a so called dataserver which has access to a database called AS/400. The dataserver delivers data to to the Gui Client and also to a web client. On the long run we plan to obsolete the GUI client in java and replace it fully by the web client. At the moment I spend most of my time porting functionality to the web client.
Javascript is not love to me. It often seems so simple but often the really bad bugs lay deep in the code details. Meaning having no strongly typed objects is a pain in the ass in my opinion. Since a shorter while I got familiar with Typescript and now developing is a lot more doable in my opinion.
I had no prior experience with Markdown only for some basic projects I used it as readme file. After reading the blog post of Josh Comeau I thought I should try to develop my website like a real pro developer does it and try his techniques. One of them is to write blog posts with the help of mdx. It should make developing a lot easier but I have no prior experience with that.
I can't remember how I found out about NextJS but I'm in touch with it since version 12. Back then I tried to create my own business and I needed a website for that and so I had chosen NextJS as web framework. Back then it had a really good documentation but there was no ChatGPT or similar AI and therefore I struggled a bit developing with it. I think there are only 2 types of people. Those who like NextJS and which do not like it. I can develop simpler websites with it and for that it is comfortable for me to use NextJS.
My first experiences with NodeJS I made in the company called "Brandnamic". There we used NodeJS for our own websites. I can't really remember much anymore how our config with it looked like.
I got introduced to Notion by the famous tech Youtuber Niklas Steenfatt. He's an ambitioned german Youtuber which did work for Facebook at one time in his life. He speaks on his Youtube channel about personal growth, tech and lifestyle. Now I use the software to write down thoughts and a so called 'war plan' for my programming projects in which I do define what I want to achieve and how to overall plan of the project looks like.
I'm familiar with the Node Package Manager. It works but there are better solutions in my opinion I would say for example the package solution of .NET.
The Raspberry Pi was introduced to me by the internet what else. I found the idea cool to have a micro computer which runs 24/7. I started tinkering around with it and configured Linux on it tried different Linux derivative and similar. To my equipment count 2 Raspberry Pi's from the first generation and one of the fifth. At the moment I have only running the latest one with a pihole to protect my network from malware and ads. This works so far really well and it has also a lot of power and runs quite fast.
I think my first contact with React was when I tried to learn NextJS. I wanted to create a super fancy website which runs superfast and does not always reload the whole site when changing navigation but only the necessary content.
For this website I got first contact with Redis. I need it to store page views and likes. It is only a more simpler database with only a key and value pair. A Redis instance is on my own server because I couldn't find a free provider which hosts Redis for my use case with a good bandwidth.
I TailwindCSS. It is so a simple CSS utility first framework. It goes so fast to style a website with it. Sometimes I have to visit the documentation because I forget a classname but that happens only occasionally.
I was first scared of typescript because the code looked ugly to me and it brings a lot of different conifiguarion options which are not always easy to understand. Now that I'm better at it I like it more and it makes fun write code in Typescript because it's just the better Javascript.
Webstorm was one of the first professional IDE's I've used to develop software. At my first job we used Visual Studio and that was really slow therefore I was searching in my free time for an alternative IDE. I've used back then Atom, Sublime, and other editors. After becoming comfortable with the Jetbrains IDE I had enough of other editors and stayed with them. I just develop fun projects in my free time so I don't pay for a subscription. There are countless ways how to use this IDE for free so I use them ;).