Becoming a Software Developer: Applying MVP & Iterative Process to Your Learning

Zecharias Mengis
Zecharias on Coding
3 min readApr 23, 2021

--

Before starting at Flatiron School I worked for almost two years in a marketing position with a tech startup. It was my first role out of college, so much of the learning about my role, about work-life balance, and simply how to be a person in the real world, I was doing on the job.

I had always been strong academically, (even if I wasn’t the most studious), but navigating a job where your performance not only affects you but the people around you and the general wellbeing of the company provided a different set of challenges. At times I felt overwhelmed by the endless pile of tasks that needed to be completed, that people were counting on my work being completed, and that I felt like I couldn’t always deliver a perfect solution. One of my co-workers told me once that working at a startup was, “90% putting out fires and 10% actually getting to work on what you need to get done”.

When confronted by this situation, I often found myself paralyzed by the scale of work that was in front of me. I felt hopeless about reaching a point of satisfaction in my work — both in quantity and quality.

Thankfully, I found myself exposed to some engineering concepts that helped me change my mindset and my approach to tackling work. These concepts were “Minimum Viable Product (MVP)” and “Iterative Process/Iteration”. Here are their definitions as they pertain to software/product development:

MVP:

A minimum viable product, or MVP, is a product with enough features to attract early-adopter customers and validate a product idea early in the product development cycle. In industries such as software, the MVP can help the product team receive user feedback as quickly as possible to iterate and improve the product. (ProductPlan)

Iterative Process/Iteration

The iterative process is simply a series of steps that you repeat, tweaking and improving your product with each cycle. In practical terms, think of it as practice to make your product perfect. (Smartsheet)

While both of these concepts revolve around product/software development, I was able to adopt an “MVP mindset” as a personal approach to avoid feeling overwhelmed or helpless when confronted with a large amount of work.

Rather than feeling that time wasn’t allowing me to create a perfect solution, I instead focused on delivering the minimum viable solution — one that solved the problem at hand even if it wasn’t necessarily the fully-fledged idea that I had. From there, I was able to think about ways that I could iterate that solution towards what my end goal was.

This may seem like semantics, but the slight change in thinking allowed me to feel less overwhelmed, be more productive, and accomplish more in my role.

As a student learning a new skill — specifically one as daunting and foreign as software development, I think that adopting an MVP mindset is something worth considering. Learning to be a developer can be extremely overwhelming. The amount of information on any given topic is endless, and without the deeper understanding that only comes with time and practice, combing through articles and Stack Overflow answers with contrasting information can feel impossible.

But understanding that you’re learning and that it’s ok to not build a perfect app or come up with the most efficient solution to every problem is something that will free you to get through more work, feel more accomplished when you do create something, and stay energized and motivated to keep learning.

I truly believe that this approach has helped me to be more productive and that it can be applied not only to work or school but as a strategy to deal with everyday problems and situations that feel too large or overwhelming to deal with.

--

--