Project Step #1: Introduction
There’s always an origin story
I have been a nurse for more than seven years and have used one shift scheduling app after the other to keep track of my shifts and hours. I often gave up on using them after a week or two as these apps never seemed to meet all of my criteria. The features were either limited - not being able to track my many, many hours of overtime, or actually quite unstable - I have lost whole schedules to bad apps and had to re-enter all my data.
For a while now I have wished to move my career into a different direction. I enjoy to code in my private time, but my progress has been more amateurish than anything else - that is why I decided to quit nursing and dive right into it. Pressure gets things done, right?
One of the many German rules regarding complaining is that if you can’t improve it yourself, shut up. Therefore I decided my first project to be a fantastic shift scheduling app - not restricted to just nurses but to everyone who wishes to keep track of their shifts, irregular hours, overtime and vacation days.
It’s an ambitious goal, but by the time I release SimplyShift I will have built a solid foundation in creating and handling projects. The main goal here is not to create the next trending app that will support my lifestyle - I want to be able to call myself a web developer. I want to learn the various parts of software development: planning, database design, APIs, Auth, UI, testing and the works.
At the end of the day I want to feel accomplished and be able to say to myself and anyone who asks: “I made this - I came up with a working solution to a difficult problem.”
I don’t want to be Mike, the headless chicken
To start with, I have set up a project plan on Trello. I have decided on my must-have features for now, and will use Trello to manage them.
The stage that I am at the moment in is defining my environment:
- which type of database will I be using and why? Will it scale?
- how will the user interact with the web application?
- which technology stack makes the most sense for me to use in this context?
My next step
I see a lot of work and lack of sleep in my future but I couldn’t be more excited about all the new experiences I’m going to make in the coming weeks. One of my weaknesses is getting too frustrated too quickly if I am not able to grasp a concept as fast as I want to so this will also be on my to do list: be more zen and just keep trying.
My next update is going to be about my research on databases and my decision on the type of database that will be the best fit for my requirements in this project.