Microservice Terminal Simulator

This week I have been again working on the documentation. The portfolio is close to being finished. I have received feedback from my supervisor and am currently making the final touches.

As this may be the final weekly update, I added my reading guide reflection here for blog readers:

Reflection

I am happy with my graduation process. I specified an agile development and stuck with it. I planned and executed a daily standup, weekly meetings, weekly blog entries, and weekly demos. The process was a positive experience for me and the company as we both saw weekly results, which was especially helpful in project with such a broad scope. This provided amply of feedback moments. While working fully remote adds some communication challenges I believe that this did not negatively impact the graduation. We prepared our communication moments carefully within CoLab and thanks to Pieter’s flexibility we were able to communicate more than I initially expected.

The assignment itself was a challenge. I knew that this project would be complex. This difficulty was one of the reasons I chose this assignment in the first place, as it provides me with an opportunity to improve my abilities. What I did not expect was the type of complexity this project would entail. I expected issues related from my simulation, framework or microservice architecture design. However, they did not produce many problems. Most issues I faced stemmed from constantly migrating the demo TOS code over. I expected this would be a small part of my project as just a demo implementation was needed, and my defined scope explicitly excluded the internal algorithms of the TOS. However, fitting the code within the new simulation kept breaking. Without a TOS working demoing would be difficult. Therefore, every week became a last-minute challenge to make sure I got the TOS working for the demo.

In retrospect I would have done this differently. I would have made clear early on that my project would not migrate the TOS code and allowed myself to demo the simulation and framework without a working TOS. In the later stages of the graduation, I would start partly migrating or recreating certain TOS functionalities. I believe this would have greatly improved my focus and results.

A different point of reflection for me is documentation. Because I started early on with design and implementation, I kept having small impromptu research and design sessions instead of a planned research stage. While I am happy with this agile way of working, I did not adequately document most of these sessions. The blog provided some help with this but not enough. In the second half of the graduation after I recovered from corona, I tried to make up for this documentation using my notes. Chunks of my work like researching best practices of microservices or Sc routing are not documented in the portfolio because of my priority on implementation and bad note taking. It took more time then expected to write the documentation. This limited the time I was able to spend on implementation in the second half of the project. In retrospect I would have expanded on the blog and made that the primary source of documentation. Instead of having to maintain the blog and portfolio I would just have one and not come under time pressure in the last couple of months.

Looking back at the graduation process, I feel satisfied with my process and results. I was able to work independently on a large complex assignment while delivering weekly results. I have delivered a microservice based simulation, demo TOS, and framework for distributed systems. Despite the fact that I worked more on the TOS functionalities then I initially planned, I am happy with what I was able to achieve during the graduation and learned a lot during the process.

My three personal development goals for the graduations were: .NET / software architecture expertise, improved communication, and work life preparation. I believe I achieved these goals. I enjoyed my experience with ICT Group immensely. They have prepared me for working as a software engineer and provided a pleasant transition from student to employee. They asked me to continue working with them after graduation and I accepted. I will work at ICT Group as a Junior Software Engineer after my graduation. I would like to thank ICT Group and Fontys for this fantastic graduation experience.

Over the next couple of weeks, I will be working on the presentation and implementation. As the portfolio will be handed in next week, I will most likely stop posting these weekly updates. I will post the portfolio on the homepage when it's finished. I would like to thank everyone (if anyone is) reading these entries.