DEV Community

Kudzai Tsapo
Kudzai Tsapo

Posted on

What I learnt developing a system in a couple of days.

So, being as bored as I was this weekend ( not really ), I saw a picture of a database schema while browsing the net. I then asked myself, how long would it take me to implement that thing as an entire system? ๐Ÿค”
Considering I'm totally notorious with not finishing projects, I decided to give myself the Ultimate deadline of two days ... (lol), just to make sure I wouldn't spend anymore unnecessary time on it.
You know what the funny thing is? I actually managed to finish the project this time ๐Ÿ˜…. I mean, that's the purpose of the article ๐Ÿ˜….

Anyways, for the curious, the project can be found on github, the user interface here and the API here.

I made the API using Asp.net core, and the user interface, I used react + tailwind (an awesome combo apparently). I tried to make the system as simple as I could, but then stuff happened and it ended up being somewhat ... complex.

After meeting my weekend deadline, there are a couple of things I learnt:

As you approach the deadline, code quality decreases

Some times, when you're about to reach a deadline, and there's still a ton of features left to develop, you start saying "SCREW IT" to some of the coding conventions. You start copy/pasting code, completely violating D.R.Y. principles. Readability? Who cares when there's a deadline approaching?

Thanks to pressure, some features get left out

I was giving myself so much pressure, I ended up leaving out a lot of features undeveloped. I know what you're thinking, how did I finish the project if I left out some features? ๐Ÿค”

...

Anyways, I ended up prioritizing some features over others, and hey, who can blame me? ๐Ÿคทโ€โ™‚๏ธ

Bugs

The only code without bugs ... is code that hasn't been written yet. In reality, every code has bugs, and as you approach a deadline, the pressure makes you to introduce more bugs. Some are noticeable, and some of them you only notice them when in production ... and something is burning.

Performance

What's that?
....

Just kidding. As you approach the deadline, you stop caring about performance. Of course, the code can be refactored later when all the servers are on fire, the client is yelling, and the users are calling non-stop.

I know most of these things are probably common, a lot of you have experienced them beforehand. That doesn't mean of course, that there isn't anyone who hasn't.

Here are some of the screenshots of what the system looks like:
login page

dashboard

employees page

employee details page

Right, I know what you might be thinking ... What's with this guy and HR funny systems? Who knows?
...
Anyways, Just thought I could share what I learnt during the weekend, for the benefit of others who haven't.

Top comments (1)

Collapse
 
zangassis profile image
Assis Zang

I thought your experience was really cool and funny too. ๐Ÿ˜‚
I've already experienced this too, when we start a project we always have in mind to use everything the best way possible, but when the deadline is near the end, you only think about finishing soon and leave a lot behind. This gives us a lesson when we get a poorly written code, it's not always the developer's fault which wrote (most of the time it is), maybe he did a real miracle with the time he had, anyway, a great article! ๐Ÿฆ„