Software development is not only a technical process, there is also a mental aspect involved.
The mental aspect of software development
When I started the Associate's Degree in Software Development at the Saxion University of Applied Sciences, I was determined to become a capable software developer within a minimum amount of time. I chose this degree well, for we dove straight into the deep end on day one. Before starting this course, I mentally prepared myself for two intense years during which I would learn a great deal about the specifics of software development, thinking that the most significant challenge would lie in understanding complex topics and abstract concepts. I also suspected that my logical and mathematical skills would be tested thoroughly. A few weeks in, I concluded that I was right about all of this, but I also came to an important realization:
The software development process is about more than technical skills and knowledge, especially when dealing with a steep learning curve. There's another less obvious side to it: the mental process.
I struggled with various topics during the first weeks of the course. I had no real programming experience beforehand, so I had difficulty grasping some concepts. I kept telling myself that this feeling of having no idea what I was doing would eventually go away as the months passed and my experience and knowledge grew. Little did I know that I was dead wrong, and I had to adapt my mindset and learning strategy to complete this course.
I grew up with certain moral values and a way of thinking about things. This is a whole topic of debate in itself. Still, the point is that parents, school, and society had taught me that making mistakes is bad, experimenting is undesirable and dangerous, and struggling with something is a sign that maybe you're not up to the task. I took this mindset with me to Saxion, but it also changed profoundly there.
While the contents, concept, and level of the degree are up to par to produce proficient developers, I was lucky to have a couple of teachers who could show me how to approach challenges, solve problems and come up with original ideas. Through them, I learned that it is completely fine to struggle. In fact, it is the essence of developing. The more you fail, the more you learn. If you don't learn, you don't develop yourself. Otherwise, it would be called knowing and doing, right? The process wasn't always easy, but I learned to adopt a growth mindset. I became comfortable being out of my comfort zone. I still feel intimidated by challenges regularly. However, I've experienced that there's no reason to believe that there's no solution for those challenges and that it is absolutely fine if that solution doesn't come from me in the end but from someone else.
Fast forward to December 2022. I found an internship at Baseflow and was eager to continue on my path of becoming even more knowledgeable and skilled in the trade. Still, I was skeptical about the continuation of my personal growth. I was somewhat worried that there wouldn't be room for this aspect during my internship. Those worries have evaporated long since.
As of now, I'm part of a company that highly encourages experimenting. Trying to think outside the box is generally considered a good thing. Taking time for personal interests is expected. Trust and autonomy are considered normal, and there's a complete lack of work floor politics. This is all very compatible with my newly adopted mindset. The path to becoming a software developer (and already being one, for that matter) is challenging. Still, I'm confident that Baseflow presents an excellent environment where people can truly blossom into a (Base)flower.