Project-based learning: How I learned software development

Learn about the project-based learning methodology advantages through my own experience as an iOS Developer

David García Alhambra
New Work Development
6 min readSep 23, 2022

--

What is project-based learning?

You can learn computer-science or software development in many ways. Let me tell you the story of how I became an iOS Developer and what I’m doing to continue learning.

Hello, world! 👋🏼 I’m David Alhambra, and I’m using the project-based learning methodology, or PBL, to learn and improve my skills by solving real-world problems.

This method was first described by John Dewy in 1897 and currently is used in many fields to teach students. I started using this method years ago in my studies, and after that, I used the PBL to help junior developers in the companies I have worked for, like in New Work.

How I started 🤓

I knew about project-based learning when I started my degree in web development. Yes, I studied web development, but I consider myself an iOS developer. I applied the PBL when I started the transition from Web to Mobile, and I learned about this method thanks to Angela Yu and her iOS development course.

That’s me using my laptop on a train travel. I’m working on a web personal project while learning.
My first projects were on web, just before I started learning iOS

The course was divided into sections, each one with a mini-project at the end so that you could practice what you just learned. It didn’t take long till I decided to start my first personal project, that decision was a game-changer.

The rules of the PBL

1. Find your motivation 💪🏼

I love playing Magic: The Gathering with my friends. It’s a card game where you play against other players with your deck, casting spells and summoning creatures. Each deck has one or more theme colours. The objective of the game is to dial 20 damage points to the opponent. I needed an application to track the number of life points left, that could be adapted for more than 2 players, in which each player had their colour identity represented. There were a lot of apps with some of the functionalities I just described, but none had all of them, so I decided to develop my own app.

My first app project: An application to track the number of life points left, that could be adapted for more than 2 player, and which each player had their color identity represented.
My first project: A Magic: The Gathering app companion

The Magic: The Gathering app was the first project I started and finished, and I learned a lot more developing it. Other projects I made later were, for example, a Marvel Comics searcher, a drawing challenges app, or an app companion for the Animal Crossing: New Horizons videogame. In fact, I launched the Animal Crossing one, and some blogs posted an article about it (in Spanish).

Find a real-world problem and solve it. Try to think about something you need and build it.

Everything that comes to your mind is a good idea. Everything is perfect to start learning. Don’t worry, in case you get uninspired, ask a friend, surely they would like to have an app that does not exist yet.

Here comes some ideas:

  • 🌌 An app that shows which is the best day of the year to see some star in the night sky.
  • 🍫 An app to record the food date of expiry and sets notifications to warn you.
  • 🎮 An app to track your progress on a videogame.

2. Keep it small! 🧩

If you try to build something so big, most likely you’ll need to use technologies that you don’t know how to use yet. You can always return and iterate your lovely project later.

My first app project was super simple, as you already saw. Here are my tips for your first app:

  • Keep the UI as simple as possible.
  • Don’t use soporific navigation.
  • No server-side connection.

It’s your first project, so do what you know you can do. Later, you can include all those functionalities and many more, so don’t be in a hurry. It is always better to set a good foundation before doing a super big and fancy project.

The advantages of the PBL

1. You’ll learn more than one skill 👨🏻‍🏫

Although my first app was super simple, I was getting better in a lot of fields.

  • Planning: I learned to organize myself, as I needed to plan how the creation part was going to be.
  • User Interface and User Experience (UI/UX): I also needed to do the UI of my app, so instead of starting coding I also learned to use Sketch, an UI design software.
  • Software development: Then I got into the code, so I started using project structures on the files and the code, and later I learned that it had a name: software architectures.

It was suuuuuuper fun! I just built an app by myself, did all the research I needed, and now I can use it in my games! 🥳

2. Practice makes permanent 💻

I’m already working as an iOS Developer at New Work, and I have more than 4 years of experience in the sector, but I’m still applying the PBL method on a daily basis. Why? Because we are developers, we need to be constantly learning.

Apple launches new development tools regularly. You can read the documentation to be informed about all the news, but if you also try those things on your personal project, that one that you love, unintentionally, you will put more emphasis on understanding everything.

I have an app, Moobee 🐝, which I use to test the new APIs that Apple launch every year, like:

This list could be endless. Each year we have tons of new frameworks and tools. Practice and test it on your project, don’t settle for watching a tutorial or reading the docs, practice makes permanent.

Apply it to your company

If your company has a good flow of junior developers joining, for sure you need to teach them. Even more if they are students or if it is their first job. You don’t need to give them a real project. In fact, they’ll get more motivated if they do a personal project or something they love, and they will learn a lot more in the process.

A New Work’s image about the Tech Academy. It says: It’s a program inside New Work SE where young professionals would upskill within a team and tune to market needs by achieving confidence in a tech specific language.
Tech Academy on New Work

At New Work, we apply project-based learning. When giving them a project they gain more agency in their path to learning software development.

We are currently searching for new students in Valencia, Barcelona and Porto constantly, so feel free to ping us to get informed! ☺️ And by the way, we are always searching for new talents.

As a student, following PBL at New Work has allowed me to apply my learnings through the workshops to already existing and successful projects, helping me shape theoretical knowledge. I have been involved in everything the team was doing, which gave me a broader view of the whole project.
- Kike Signes, iOS student on New Work. Currently working as junior developer.

What we do is mix bootcamp trainings with team projects. In our case, each student is involved only in one of our teams, just like in a real job. During 6 months they become a formal junior developer in their field.

Project-based learning is a natural way to learn. You’ll get motivated and you’re going to have solve a real-world problem while having fun. Apply it if you are a student, or even if you are an experienced developer.

Thanks for taking the time to read my story. 🙂

--

--