As developers and as fellow creators of all things awesome our work schedule often times does not revolve around the typical 9 to 5 and quite honestly, it shouldn’t. Building your next big software tool that’s gonna generate thousands maybe even millions of dollars in revenue should not be restricted to a timeframe throughout your day. Writing code is a fluid and personal experience tied to the developer.
I am a software developer and recently left a big company to embark on the journey of building and growing my company. At first, I thought it would take some time to ramp up and really start being “busy” but I was wrong. I am currently working on 3 projects and I am the only developer on my team of 3. I have features and functionality to implement as long as Santa Clause’s Christmas list and I have no plans of grinding through all of that code.
WRITE CODE WHEN YOU FEEL INSPIRED.
As developers we tend to want to grind and code all the time because we think we need to push towards crazy deadlines and launch dates. 30% of the time, this works and the other 70% of the time you either burn out or realize halfway through your project that you have to refactor your code because the original user flow you thought would work, actually doesn’t. Slow and steady wins the race people. When you think of this amazing feature that you HAVE to implement right away, take a couple hours or a day and think about it first. Think about how you are going to implement the feature. Are you going to have to hook up an API to make it work? Will you need a backend database? These are all questions that should come to your mind. Once you have given your ideas time to mature all you have to do is wait for that moment of inspiration. Sometimes, this will all happen simultaneously. You will have the idea, think it through, and immediately code it out. Other times, it will be a Tuesday at midnight and you just finished an episode on Netflix and all of a sudden BAM inspiration strikes. This is when you seize your moment! Pull out your laptop or whatever piece of tech you use to develop and let the code flow.
Productivity is higher when you are engaged
I find that I write my best code when I wait for these special moments of inspiration. I feel engaged and connected to the problem that I am trying to solve. Don’t get me wrong, I still have deadlines that need to be met so I can’t just code for 3 hours on a Tuesday night and be done with it but I don’t try to force progress either. You don’t rush quality. Waiting for inspiration will help you write higher quality code and overall will make you more engaged in what you are building. If you enjoy coding and you believe in your product keep at it. Pretty soon your product will start to flourish and you will be proud of what you have built.
I will leave you with an example of one of my glorious coding moments.
I have been working on a mobile app that I hope to be launching soon. I initially built a very rough MVP just to prove the concept and to show my Co-Founder that the idea he had was possible and I could make it work. I built the MVP in 2 weeks and showed him. Instantly he was like “Okay, we are doing this. Let’s get serious.” After that, I spent the next 2 months further developing the MVP and making it pretty because the initial app was very rough and looked more like a wireframe.
I had originally set up the database for the app and was calling it directly from the client side. This is a major security vulnerability and had to be addressed. Therefore, at some point I knew I was going to have to rewire all of the database access logic and move it to the server side as well as lock down the database. Although this sounds like it shouldn’t be that bad, because I had rushed through the initial MVP moving all database logic server side would be a huge infrastructure change for the application. For days, I had a bullet on my ToDo list that simply said
Then finally, on a Tuesday (Don’t know why Tuesdays are special for me) I was drinking my morning coffee and reading some IndieHacker articles and BAM I felt that tingle of inspiration in my mind. My brain was like “Hey, let’s do this thing!” Next thing I knew I was sitting in front of my computer completely rewiring the security infrastructure of my app. It was a big push but two days later I completed moving all logic server side and essentially locking down the client side. It was rough and there were some bugs along the way but at the end I felt accomplished and good about the work that I did.
We all have things we need to accomplish but doing those things when the time is right will separate you from the coders that get sh*t done quick with no fire and the coders that take the time to produce a quality product.