When I first discovered the wizardry of programming I saw the world open up; suddenly I could turn some of my ideas into reality. A certain satisfaction came from solving problems and slowly watching your vision realised, more or less.
I titled this article keeping the spark alive because the above stops applying at a certain point.
This can happen when programming becomes something you have to do instead of something you want to do. This can happen in many ways, due to changing circumstances in your life, be it professional or otherwise.
Once you are in a professional space, you have to deal with red tape such as policies specifications and requirements, etc. While not necessarily a bad thing it can limit your domain and lead to monotony. As time goes on you begin to forget why you even got into programming and thus you lose motivation.
My inspiration for writing this article is my previous experience with my passion waning for programming. What caused it for me was a project from long ago with a crazy deadline. After that project, I could not even look at an IDE without feeling nauseous which made me feel guilty because one project “ruined” my passion for programming.
How to revive the spark
Expand your domain
By this I mean to look into the other fields in the field of programming. Find that new field and learn as much as you can about it. This will increase your knowledge and understanding of the activity in a very deep way. Check out the learning material available and absorb as much of the content as you can.
Research new technologies and methods
Working with the same stack and the same way of doing things can get boring. There are plenty of new and exciting frameworks and technologies out there. This will both keep things interesting as well as give you a competitive edge. This can be achieved by attending events, joining or starting a community and using resources such as Medium, DZone or InfoQ.
How to maintain the spark
A hackathon is a design event in which people involved in software development, including graphic designers, interface designers, field experts, and others collaborate intensively on software projects mostly to solve a problem in the given problem set. Various companies and organisations organise these events. Hacker Earth is a great place to find the challenges.
Do side projects
Doing side projects can be a great way to learn and grow your abilities. This will challenge you to create novel solutions to solve a problem. Your side project doesn’t have to be motivated by potential material gain. To get ideas for these side projects get into the habit of noting down ideas that come to you throughout your existence. A simple google search can also yield many project ideas. Platforms such as freelancer also have people with interesting ideas who need your help.
There are entire websites devoted to coding challenges available, here you can find many puzzles to solve which range in difficulty from “hello world” level to problems that require in-depth knowledge of computer science topics. Project Euler is a popular site to get interesting programming puzzles. Code Wars and Codeingame are also two good options; there is even a competitive mode where you race against others to solve a puzzle.
Meet ups and communities
Meeting and staying in contact with people with a similar interest in programming and problem solving as you will keep you engaged in this hobby. Attend virtual conferences, contribute to an open source project or just find a group on social media platforms. The engagement with the people you’ll meet there will often lead to you learning new things about your interest.
The unfortunate reality
Coding sucks, if you are not passionate about it. Some people can take years before realising that something is really for them.
In conclusion I hope that these few tips can get you right back to your passionate days.