I Built an App People Use: Here's What I Learned

I Built an App People Use: Here's What I Learned

At a certain point in my career, a couple of years back, I was willing to reach another level. I wanted to know more about software development and to have more hands-on experience. Then, like many other developers, I began to read articles and take several (free and paid) courses about C# and .NET in general. I've also made some basic side projects to grasp concepts. I've learned a lot, but I was still frustrated, as I was not feeling I was growing as I wanted. But the motivation has never left me.

As a Christian, I am a member of a church here in Paris. As the church is growing, we began to have issues in members' management. The Excel files have shown their limits, and we need to find a solution that is more robust and reliable. So, I have decided to build a web app to meet our needs. It was one of the best decisions I've ever made!

Quick Note: I know, there are plenty of articles all over the internet about how to grow as a developer. My goal here is neither to add another one nor to teach you how to grow. I just want to share my experience.

Build a real app people use

I've finally found my real-world project! "To do" and "Hello world" apps are good to grasp basic concepts, but they cannot take you to go any further in your career. Hands-on experience can only be gained by making a real-world app, an app that people really use. Look around you, find a problem to solve, and start building!

1. Real users have real issues

As a developer, the more we think, the more we grow. As my app has real users, they report tricky issues and make suggestions full of challenges. All those feedbacks make me think differently. It improves my thinking and my problem-solving skills. The software quality will determine the number of issues I have to deal with. So I am forced to do my best in order to reduce bugs.

2. Real projects keep you involved

Fulfill my users' needs is my priority. That makes me be totally involved in the project. When I was only working on "no-user" to-do projects, I was not obliged to improve the app. Now, It is different. I am always thinking about how to deliver better software for my users. I need to code almost on a daily basis, and I can feel my growth.

3. Real projects teach a sense of priorities

Make It Work, Make It Right, Make It Fast. In that order. Through this project, I've learned to prioritize some improvements over others. I've learned that I need to make my app fully functional before thinking about making it faster. Real projects are built that way and every developer needs to know that. About that topic, I would recommend a Steve Smith (Aka Ardalis) short podcast.

4. Real projects help to gain confidence

Solving others' problems is really valuable. As a developer, it's always pleasant to know I am finding a solution to people's issues. It encourages me to learn more. Thanks to real-world projects, I've learned to tackle other subjects, like cloud computing, DevOps... And I am now 2x AWS certified! :-)

For those who are interested, my real-world project is a web application, built with ASP .NET Core, with a MySQL database, deployed by Elastic Beanstalk on AWS. A pretty simple stack, right? Several topics will come out, like how to build a CI/CD pipeline with AWS CodePipeline and CodeDeploy ... And much more! I will document my journey through incoming articles.

I was stuck and didn't know how to go to the next step as a developer. Making an app that fulfills a concrete need, with real users, helps me face real problems. It improved my problem-solving skills and get hands-on experience on how to tackle enterprise-level application issues. it broadened my vision of software development and I am continuously learning new concepts as the project goes on. Yay! Continuous improvement needs motivation. And a real user can be the best motivator ever!

Did you find this article valuable?

Support Daniel Lawson - C# .NET, AWS and More .. by becoming a sponsor. Any amount is appreciated!