24. Final Thoughts - bohdanabadi/doroha-simulator GitHub Wiki
Conclusion
This project was embarked upon for several reasons, with a key driving force being my perspective on the conventional interview process in the industry, which heavily focuses on data structures and algorithms. I believe that this approach does not fully encapsulate an individual's abilities. Motivated by this belief, I sought to tackle a project that was not only challenging but also encompassed a wide range of topics outside my usual scope of work, yet fundamental to software development.
Things would have done differently
In reflecting on the project, there are a few adjustments I'd consider for future endeavors:
Improving Documentation:
While concentrating on pushing the development forward, I somewhat overlooked the importance of thorough documentation, often putting off writing it. Moving forward, it might be beneficial to develop a strategy that allows for documentation to be written concurrently with development. As time has gone by, I've realized that some details have slipped through the cracks or been forgotten, leading to potential gaps in our wiki documentation.
Enhancing Organization and Planning:
The value of preliminary work, such as drafting diagrams and jotting down notes before diving into development, cannot be overstressed. These preparatory steps can significantly streamline the development process, ensuring that efforts are more focused and efficient.
Dedicating Time to Understand:
I'll admit, there have been days when I've been so determined to complete a task that I've worked on autopilot, resorting to a trial-and-error approach without fully understanding the underlying details. This method can be highly inefficient. Allocating just 20-30 minutes to read through relevant documentation or literature on a specific topic could clarify things significantly, making the completion of tasks more straightforward and less time-consuming.
Personal Growth :
Throughout this journey, I've acquired numerous technical skills, particularly in areas like app deployment, frontend development, and the intricacies of distributed systems—domains I had not delved into deeply before. Equally important were the soft skills I honed, such as planning and task organization, which proved crucial in driving this project to completion. Undertaken alongside a full-time job, this endeavor required hundreds of hours of dedication and has been a source of immense pride and learning.