In preparation for the fourth semester of my studies, there were a few choices that I had to make. You could call this specialization, where I choose two technologies to specialize in over the coming semester, half a year.
Before going into too much detail about the choice I made, some particular reasons also impacted the choice rather majorly.
To break up the next semester, I will be part of three groups that are independent of each other. The three groups each have a specific task in mind, and it ranges from product development, reflective and personal growth to perspectivation through expertise sharing.
The first group is the Product Group. As the name suggests, this is a group with the intent to develop a product of some sort. The product group’s overall goal is to deliver a product based on the project, where all of the product group participator’s specializations have been in play, and mostly independently. As an example of two specializations, one could be machine learning, and another could be website development. The product would then have to include both these two fields of expertise. The person specializing in machine learning would research and deliver the logic for implementing it in a web-based environment. In contrast, the other person or persons would study and provide the logic for implementing their parts, and at last, the group would then integrate what we would call the subsystems into one system.
You could see how this would have a significant impact on my choice of specialization. While I will work mostly independently, I will still have to integrate and communicate with multiple people. But I do not have to be directly afraid of making a choice, where I join a party with entirely different specializations.
There are two other groups that I will be participating in, the ERFA group (experience group) and the process group. The ERFA group, or experience group, is a group like me with similar specializations or expertise in the same field. A simple portrayal of this would be Mobile Application Development, where one could specialize in Swift (iOS) and another in Xamarin (Android). These two are both in the same field of expertise, even if their specializations are not the same. The last group is the process group, and this is where reflection and personal growth are in focus. The group does not matter much in terms of specialization or expertise. Instead, it is more to share each other’s views on the process, such as which development method we have chosen and how it impacts our studies. How have we decided to do the research necessary for our specializations, has it worked well, and possibly have it not proven optimal?
So, I still went with what I felt the most interested in, but to say I did not have in mind the overall view of next semester would be wrong. I ended up choosing to specialize in Laravel (PHP) and Flutter (Dart).
My reasoning for picking Laravel is quite simple. For a long time, I have developed in vanilla PHP, which can be seen partly from my participation in the MyBB Source on GitHub and as a freelance PHP developer. To date, I have never worked with Laravel, and I thought it would be time to take into consideration how much a framework can help me grow and how fast it can help me produce. I like PHP, and after looking at Laravel, I was not so sure I would like Laravel, but if I threw out the idea because of this, I would never grow.
When I chose Flutter, I did it mostly out of the rising interest in Mobile Application Development, and mostly I took into consideration how cross-platform development is often tedious. An example would be React Native, where you code two front-ends, one for iOS and another for Android, and although you do separate the front-end, you can share the back-end. But you still have to develop two front-ends. With the rising focus on website development’s responsivity, content should fit no matter what screen you are on, as such two front-ends for almost the same resolution seem, to me at least, ineffective. If not at least partly, Flutter eliminates this, which is why I wanted to specialize in Flutter because one back-end and one front-end sounds too enticing for any development team.