The end of the May comes and hence the end of „Get Noticed 2017” competition. Therefore, I’m going to do a short summary which will describe things that I’m happy about together with those that I’m not. Obviously, this post also will be the last one in the GN2017 category which contains 16 articles. Wait, what?
If you’re not familiar with the rules of the competition, you can read my first post from the series which described them shortly. One of them was a number of published articles – at least 20. Not fulfilling this requirement means that I’m automatically disqualified from the finals no matter how much work I put in my project. Using other words – I lost 🙂 Do I feel bad about that? Well, partly yes regarding the fact that in the previous edition I got to the last stage of finals (containing 15 best participants chosen by folks). But overall I’m really happy that I took part in this year edition and I don’t regret that decision at all! But, let’s start with the things that I screwed a little…
What did I do wrong?
Looking from the today’s perspective my first mistake was (way too) high complexity of my project which concerned the architecture but also the whole technology stack. Let’s start with discussing the architecture. For few last months, I wanted to finally dive into the world of microservices so „Get Noticed” seemed like a perfect occasion to do so. However, I didn’t realize how much work would I have to put to make it work compared to the monolith application. This touches many aspects not only coding itself but also managing the code on the GitHub. Besides the architecture, I also picked very risky technology stack which consisted of frameworks/tools I’ve never used. First troubles started with Nancy when it came to integrating it with the ASP.NET Core IoC container, but I also had to dig through the Internet in order to create the JWT authentication. Having this done I wanted to focus more on the DAL connected to another new piece of a stack – Neo4j. And here all the serious trouble started, since I had to study a lot to switch from „RDMS thinking” to „graph thinking” and understand query language designed for graph databases – Cypher. Honestly, more than half of my time spent on „Get noticed” was not even coding but studying the documentations, API and so on.
Another problem was that I incorrectly managed the project. By this, I mean focusing on details instead of the application in general. As mentioned above I did the whole authentication with JWT which wasn’t even required for some MVP. It could be much simpler and wouldn’t waste so much of my time. Because of my „managing”, the application doesn’t even have any client side. Sad :/
Last but definitely not least – time. For the first month of the competition, I had a little time for making anything besides work, but after that „hot period” I didn’t plan my time properly so it happened that I started coding beeing completely exhausted just to catch up a little. As you probably guess that usually ended with frustration and having absolutely no motivation for doing anything.
But there is also good part…
All right, the previous paragraph didn’t sound optimistic, did it? So, to make some balance, here I want to point two things that I really enjoyed – knowledge and experience. Both are priceless and I would not definitely get them so fast without the competition. I discovered a lot of great theory and principles that stand behind microservices and about which I’ve never heard before (or could come up with). I also started exploring Nancy and the Neo4j as an alternative to the „classic solutions” so the ASP.NET Core and relational databases. That opened my mind to many aspects and helped to understand that before starting coding, we should study our domain and consider which technologies/data structures are going to suit the most. And that’s because of the knowledge and experience I got through last three months, I don’t regret my participation at all! That was yet another great journey, and I’m sure that if next edition will be announced I’ll sign up immediately!
As I said at the beginning this post finishes the „Get Noticed 2017” series. But it doesn’t mean that I’ll leave the project. I’ll continue to make it work as soon as possible and when some MVP will come out, you’ll be definietly informed. The project’s code itself will also appear in my next posts since there are a lot of topics related to the architecture and picked technology stack which I didn’t discuss, so stay tuned. This also means that my series about Neo4j/Cypher will also be continued. Besides blogging, I’d love to focus more on public speaking since it’s really enjoyable to me and gives a lot of satisfaction. So without much writing, I’d like to thank a lot for three months of great competition! I also have words for each participant of the „Get Noticed”. Even if you didn’t fulfill all the requirements but you still blogging and sharing your knowledge – you’ve already won one of the greatest prices! If you not what the heck is this, wait couple more months and you’ll definitely get that 😉 For those who are going to get to the finals – I wish you all luck and may the best win!