🇺🇸 Jump to English version
🇩🇪 Zur deutschen Version
🇺🇸
Update #1, the first two weeks of September 2024
Hey there! To push myself to talk more about the progress of my personal projects, I’ve decided to start publishing regular updates on my “Software Sidequest.” This will not only help me get back into writing, but it also serves as an honest way to reflect on whether I’ve made any progress at all. Plus, every post I put out there is a little bit of marketing for my projects.
I’ve been working on my own software projects on the side since I was in school. Back then, I even managed to publish some of them, like getting an app into the Google Play Store. I want to get back to that level, where I can release my own projects faster (or at all) and take them more seriously. To be honest, I’ve been dreaming about building my own software products for 15 years now.
Since I work full-time as a software developer, the obvious question is: When do I find the time to work on these side projects? How do I manage to regularly put time into them?
For the first two weeks of September, I set a goal to work on my projects every morning before heading to work. This has worked really well. Out of the 10 working days over the last two weeks, I managed to get to the office 1-2.5 hours earlier on 8 days and started my day by working on my own projects. Around 9 AM, I’d close everything and switch over to the tools I need for my job.
This routine has helped me consistently invest time into my own projects during the week, while keeping a good rhythm. In the past, I usually worked on my projects in the afternoon or evening. However, the afternoons were often unpredictable, with other things coming up, and in the evenings, I tended to get lost in the code, working not just for 1-2 hours but well into the night.
While this approach led to quick progress, I have to admit that the code I write late at night isn’t always the best quality. More importantly, staying up until 2-3 AM completely throws off my daily routine.
Roughly estimated, I’ve worked between 10 to 15 hours on my projects over the last two weeks—mostly in the mornings, though a couple of afternoons or evenings as well when I wasn’t quite done with a feature.
Time is one thing… But have I actually accomplished anything during this time? Yes—I have! It’s been really fun to see how much more progress you make when you stay focused on one project.
The project I’ve been focusing on is the “Dartenbank,” my darts tracking app, which I started developing earlier this year.
The app is already in an alpha testing phase and is being used in our office, as well as at a friend’s office, to track dart games. This means that everything I develop gets tested during our lunch breaks at the dartboard, and I get immediate feedback—both excitement for cool new features and frustration for newly introduced bugs.
Here’s what’s happened in the Dartenbank during the first two weeks of September:
- I added a changelog so users can keep track of what’s been updated.
- A new feature is the Score Distribution Chart in the player profile. It provides users with a clear overview of how their scores are distributed, including the multiplier (Single, Double, Triple). This is honestly my favorite chart.
- There’s also a new Games per Day Chart, which gives a nice visual of how often you’ve played. I’m not thrilled with the design, though—I plan to turn it into a heatmap, similar to GitHub’s, where days with more games are colored differently than those with fewer games.
-
I’ve now added a Delete button for games without any throws. Often, a game would be created, but then another player would join, and since you can’t edit players mid-game, a new game would be created with all players. The old, incomplete game would then just sit in the database, uselessly. Now, it can be deleted.
-
I’m particularly proud of the Average Score Chart, which displays the player’s average score over time. This way, you can see whether you’re improving or going through a rough patch. If you play multiple games, the chart also shows the range of averages across those games, allowing you to see how consistent you are. After deploying this feature, we were all curious to see what the chart would reveal. Disappointingly, none of us are improving as much as we’d hoped. It turns out we’re better software developers than dart players.
- I also fixed a few small bugs, like an issue where some pages were cut off at the bottom, making the keyboard unusable. Fun fact: I introduced that bug myself recently. Lovely.
That’s all for now. This post is long enough already. More updates in the next part.
🇩🇪
Update #1, die ersten zwei September Wochen 2024
Moin!
Um mich selbst in Zukunft etwas mehr zu zwingen ein bisschen über den Fortschritt an meinen eigenen Projekten zu reden, will ich ab jetzt regelmäßig Updates zu meiner “Software Sidequest” veröffentlichen.
Das hilft mir nicht nur, wieder etwas mehr in das schreiben von Texten rein zu kommen, sondern hilft mir gleichzeitig auch ehrlich zu rekapitulieren ob ich überhaupt vorangekommen bin. Und gleichzeitig ist natürlich jeder Text den ich dazu ins Internet stelle ein Stück weit Marketing für meine Projekte.
Ich hab schon seit der Schulzeit nebenher eigene Softwareprojekte entwickelt. Und in der Schulzeit habe ich es auch geschafft diese zu veröffentlichen und z.B. in den Google Play Store zu bekommen. Ich möchte wieder da hin, eigene Projekte schneller (oder überhaupt) zu veröffentlichen und das ganze Thema meine eigenen Projekte ernster zu nehmen - denn wenn man mal ganz ehrlich ist, dann habe ich schon seit 15 Jahre den Traum meine eigenen Softwareprodukte zu bauen.
Da ich Hauptberuflich als Softwareentwickler angestellt in einer Firma arbeite, ist die erste Frage die sich stellt natürlich:
Wann baue ich diese eigenen Projekte eigentlich?
Wie finde ich Zeit dafür regelmäßig an meinen Projekten zu arbeiten?
Für die ersten zwei September Wochen hatte ich mir vorgenommen, immer morgens vor der Arbeit an meinen eigenen Projekten zu arbeiten. Und das hat sehr gut funktioniert. Von den 10 Arbeitstagen in den letzten zwei Wochen, war ich an 8 Tagen 1-2.5 Stunden früher im Büro und habe zunächst mit meinen eigenen Projekten gestartet. Gegen 9 Uhr hab ich dann immer meine eigenen Projekte geschlossen und die Anwendungen hochgefahren, die ich für meinen Job brauche.
Dieses System hat mir auf jeden Fall geholfen auch unter der Woche die Zeit in meine eigenen Projekte zu investieren und trotzdem einen guten Rythmus beizubehalten. Zuvor war es häufig so, dass ich eher Nachmittags oder Abends an meinen Projekten saß.
Nachmittags ist allerdings für mich ein Zeitslot gewesen, der häufig nicht eingehalten werden kann und wo mir doch irgendetwas dazwischen kommt und ich anders zu tun habe. Abends hingegen habe ich häufig die Zeit gefunden, hatte dann aber auch immer die Tendenz mich in meinem code zu verlieren und nicht nur 1-2 Stunden zu arbeiten, sondern direkt bis mitten in die Nacht zu programmieren.
Das gibt zwar kurzfristig wundervollen schnellen Fortschritt am Projekt, ich muss allerdings eingestehen, das es nicht immer der allerbeste Code ist den ich Nachts schreibe und - noch viel wichtiger - das mich das komplett aus dem Tagesrythmus bringt, wenn ich Nachts bis 2-3 Uhr vor dem Computer sitze.
Grob überschlagen hab ich so in den letzten zwei Wochen zwischen 10 und 15 Stunden an meinen Projekten gearbeitet. Zum einen in den Stunden morgens, aber ein zwei mal dann eben doch noch zusätzlich Nachmittags oder Abends, wenn ich gerade mit einem Feature noch nicht fertig geworden bin.
Zeit ist ja schön und gut… Aber hab ich in der ganzen Zeit eigentlich auch irgendetwas geschafft? Ja - habe ich, und es hat echt Spaß gemacht zu sehen wie viel mehr Fortschritt man macht wenn man fokussiert an einem Projekt arbeitet.
Das Projekt an dem ich die ganze Zeit gearbeitet habe war die “Dartenbank”. Meine Darts Tracking Anwendung, die ich bereits anfang diesen Jahres angefangen habe zu entwickeln.
Die Anwendung ist bereits in einer Alpha Test Phase und wird bei uns im Büro und auch bei einem Freund im Büro zum tracken von Dart Spielen genutzt. Das heißt auch, alles was ich daran entwickel, kann direkt in der Mittagspause von uns an der Dartscheibe getestet werden und ich bekomme die Begeisterungstürme bei tollen neuen Features und den Hass bei frisch eingebauten Bugs direkt mit.
Folgendes ist in der Dartenbank in den ersten zwei September Wochen passiert:
- Ich habe ein Changelog eingebaut, so dass auch Nutzer der Anwendung nachvollziehen können, was sich zuletzt getan hat
- Es gibt jetzt ein Score-Verteilungsdiagramm im Spielerprofil. Das gibt den Nutzern eine gute Übersicht darüber, mit welchen Zahlen und mit welchem Multiplikator (Single, Double, Triple) sie ihre Punkte machen. Das ist ehrlich gesagt mein Lieblingsdiagram.
- Ebenfalls neu ist das “Spiele pro Tag Diagramm”, das eine nette visuelle Übersicht bietet, wann man wie oft gespielt hat. Meiner Ansicht nach ist das Diagram allerdings wirklich hässlich, hier möchte ich in Zukunft eine Heatmap daraus machen, die im Github-Style Tage an denen man viel gespielt hat anders einfärbt als Tage an denen man wenig gespielt hat.
-
Für Spiele ohne Würfe habe ich jetzt einen Löschen-Button integriert, sodass Spiele, die noch keine Würfe geloggt haben, wieder entfernt werden können. Es gab relativ häufig den Fall, das ein Spiel angelegt wurde und dann noch ein Spieler dazu gekommen ist. Da man bisher die Spieler in einem Spiel noch nicht bearbeiten kann, führte das immer dazu, dass ein neues Spiel angelegt wurde am alle Spieler dabei zu haben und das vorherige Spiel einfach sinnlos weiter in der Datenbank rumgeflogen ist.
-
Besonders stolz bin ich auf das Durchschnittswerte-Diagramm, das die durchschnittliche Punktzahl der Spieler über die Zeit anzeigt. So sieht man, ob man sich verbessert oder gerade eher eine Durststrecke hat. Außerdem zeigt es wenn man mehrere Spiele macht die Range der Averages in den Spielen an. Damit kann man sehen wie konstant man in seinen Spielen spielt. Nachdem ich dieses Feature deployed habe, waren wir alle sehr gespannt daraus wie dieser Chart ausschaut. Enttäuschenderweise kann man bei allen deutlich weniger Fortschritt sehen als gedacht. Anscheinend sind wir doch bessere Softwareentwickler als Dartspieler.
-
Einige kleinere Bugfixes habe ich ebenfalls vorgenommen, darunter das Problem, dass manche Seiten unten abgeschnitten wurden und das Keyboard dadurch nicht benutzbar war. Hab ich aber auch selber neu eingebaut vorher. Wundervoll.
So, das solls erstmal gewesen sein, Text ist schon lang genug. Mehr Updates im nächsten Teil.