The Importance of Weekend Projects for a Software Developer
For five days a week you get up early, you do your morning routine, then go out from home and drive towards your workplace. You arrive at work, prepare your coffee, have some morning talk with your colleagues, meetings and then move towards your desk.
You are now at your desk, you check all your social media profiles to see what your friends are doing, and also some of your favorite websites. It's time to get serious so you start reviewing all the daily tasks that were assigned to you, coordinate with your team, and start executing.
☝️️ Repeat this for the rest of your life ☝️
What the above-written paragraphs tell us is that we are following the same set of rules and behaviors each day. We are stuck in a pattern that can slowly lead us into mediocrity. You have achieved a level of knowledge where a big percentage of the daily tasks are straightforward and don't require a lot of energy, or in other words, they aren't challenging to you. This type of behavior can lead you to having a lack of inspiration, motivation and definitely kills your creativity.
Free yourself from the rules
The weekend kicks in and you throw away all those rules and behaviors that you have been carrying with you during the working days. There is no pattern anymore. You have two precious days that are dedicated only to you.
There are no deadlines, pressure or stress. You decide what you want to build and start whenever you like. Even if you haven't finished it for one weekend, nothing bad can happen. You can always continue the next. For me personally, this part of the week has contributed the most to my personal development as an iOS Developer.
What can I do? 💡
Don't have any ideas or don't know how to start?
Don't worry, I will write some ideas that will get you started. 👇
Don't try to reinvent Facebook. Don't try to build complex systems. Just keep things simple and short.
Mobile or Web App
This is probably the most common one. You have an idea for an app, but that idea always stays inside your brain without any execution until it fades away. Another one comes and fades again. Why losing your ideas, when you can turn them into reality and benefit from them?
First of all, by "benefit" I didn't think on how to monetize from the app. Ignore that part. I was thinking to write down what you wanted to improve, learn or achieve in your career as a software developer, and try to adapt your weekend project by those written points as much as you can.
To help you understand better, I will present a fast example from one of my latest weekend projects… 👇
Two weeks ago, I have given myself the challenge to create a serverless app that will maintain data by utilizing 3rd party API's and by writing my own data crawlers logic. Basically, to think of a concept where my mobile app will have fresh data with 0$ for server expenses. Then, I wrote down the things that I wanted to learn or improve:
- Write a data crawler logic directly from the client side
- The Clean Code paradigm (using the Clean Swift architecture)
- Persistence Storage techniques that I wanted to try by using Core Data
- Reactive Programming and the Observable Pattern
- Graphic Design 🖌(this was the most challenging part for me 😃)
- ASO (App Store Optimization)
Since I am an iOS Developer, this example is referring to an iOS app by using Xcode and Swift 4.
As you can see, my idea to have a serverless app opened lots of options where I can improve my professional skills. I have successfully finished my app in those 2 weekend days and published it to the App Store.
Challenge completed! 😎
If you were wondering what was my idea, it was to make a bet predictions app. Would appreciate if you can check it out and leave your comments below (note that it was done in just 2 days).
This app is only available on the App Store for iOS devices. Increase your profits by following our professional BET…apple.co
It's nice to sometimes contribute to forums like StackOverflow or Reddit. By helping others, you are also strengthening your skills, because your solutions are getting verified by hundreds of programmers around the world.
Open Source Projects
Imagine the world without open source projects. Coding everything by yourself from scratch. I am sure that we will all be in a real pain.
For the weekends, find some problem and write a solution for it. Don't be afraid to publish it on GitHub as an open source project, and prepare to receive positive feedback from developers that you made their lives easier.
These are just a few ideas of the many that you can work on during the weekends. The above mentioned weekend activities have managed to save me tons of hours of coding during work days, just because I have done the same scenario from the requirements during the weekends. Solving something for 5 minutes instead of losing 3–4 hours on it, will bring pleasure to everyone in your team. 🚀 🚀 🚀
If you have liked my story, and you have done some weekend project please share it with me into the comments section. Also, don't forget to 👏 or share this story so others can read it as well.
Read more of my writing on Medium:
Many iOS apps use Google Maps. This is a very common feature, so I have decided to prepare an ultimate guide on the…medium.freecodecamp.org
Custom UIView with XIB file is a very common practice in iOS Development. Custom UIView classes don’t contain XIB files…medium.com
A Swift tutorial that will make your app available in Spotlight searchhackernoon.com