Is Maintaining Easier than Building?
Ever create a side project? Why not? Today's post tries to dig into why it's harder to write code from scratch than maintain or debug it
As I mentioned in the past, ambitious developers always have side projects.
But yet, it's hard to innovate during these crazy times. It's hard to focus on a side project without worrying about your family and friends.
With society far from normal at this point and everyone at home, it may be time to look into your list of side projects.
I know what you're thinking: "What about the economy? I can't create a side project and turn it into a business."
You'd be surprised. The downturn of the market shouldn't deter you from your goals. Successful entrepreneurs explain why you should create a business in a downturn market.
Now, if you haven't started your side project yet, maybe this is the best time to do so.
Starting with Nothing is Hard...
I feel I'm in one of the best careers in the world.
- To create something, all you need is a laptop and WiFi (optional).
- You can write code anywhere in the world.
- You can innovate a product, build it from scratch, and have a finished application, so long as you have time.
Another career experiencing the same scenario are writers and musicians. But like writers and musicians, developers share a similar dilemma with a type of "writer's block."
How do I start building my side project?
Every writer and musician look for their first sentence or first note to reach out and grab their audience and not let them go. This is what fuels the fires in most artists. Once they find their stride, it turns into a passion for the writer and essentially the reader.
For developers, I've mentioned this previously coined as a "coding frenzy." Once you combine focus, knowledge, and innovation/vision (with optional music), you achieve a coding frenzy. Once these characteristics are working in harmony with each other and you achieve this feeling, the code just spews out through your fingers without even thinking.
This is the equivalent to a "writer's high," but for developers.
With writers and developers, it still comes down to one statement:
It's difficult to create something.
Think about it.
You have an idea for an application. Do you have a clear path on how to build it? Do you get to a certain point and stumble about wondering what's the next step?
In the initial stages of an idea, you may look at it and think:
- "I don't have the skills to build this."
- "Where do I begin?"
- "It will take too much time" or "I don't have the time right now"
- "I write code every day and I don't feel like doing it at home."
- "Damn, someone stole my idea"
This is where most developers lose interest.
In order to create an application, you need to ignore this thinking and start writing code.
This is your project! Get over your excuses, don't let anyone tell you differently, and don't let the idea become just an idea!
Write code to "make it happen, Cap'n!"
...But Fixing/Maintaining/Refactoring Is Easier
Once you have created the foundations of a code base (translation: something functional), it's so much easier to come back and dive right into it.
Fixing or Maintaining
If you wrote the code and you come back to fix a bug, of course it'll be easier because you wrote the code. If someone else is coming into the application cold to fix a bug or maintain it, they require a short amount of time to come up to speed, or know where to hit, before they can fix the issue.
Admit it! There were times when you came back to a code base, looked at it in utter disgust, and said, "who wrote this?"
Then you see the last Github check in and realize it was you. :-o
Seriously though, after finishing an idea in your head, it's simpler to look at the forest through the trees; look at the entire functionality of the code in the scope of the application and see how you can improve it.
While refactoring a large piece of code can take a while and require more experience, it's still not as taxing as creating brand new code.
While I've survived a total of building seven side projects at once, I've cut back on accepting them over the years and learned to say "no" to others.
Creating something from nothing is definitely a great feeling. I can now appreciate how entrepreneurs who are always on the lookout for fresh ideas and visions. This is their version of a coding frenzy or a writer's high.
If you have an idea for a side-project, I would definitely get started building it! The feeling of achieving milestones in your own projects is a rush in itself.
Do you have a side project? Is it easier to create sub modules? Do you have the next Spotify or TikTok? Share your comments below and let's discuss.