You aren't able to get out of the sketchbook or notes in your over-architecting phase. It is normal.
It is a typical developer arc. You are probably around 4-8 years in.
- The first 2-3 years are focused, prototype like, just happy it is working phase. Piles of crap code here and a few successes. Underplanning is the key problem with a focus on proving you can do it.
- The second phase it the overly architected phase. Years 4-8 or so. Piles of crap designs, plans and notes here, a few solid projects and products here. Overplanning is the drag, lack of focus on shipping due to overly focused on tech, bouncing from idea to idea. Experimenting... (I bought about 100 domains in this phase myself, lots of people write their own string class here if you are doing C++ instead of finishing the project, too much focus on tech here over product). This phase is focused on proving you can do it right.
- After 8-10 years, that is where the balance kicks in Daniel son. Hype is kept in check, learning that monolithic frameworks are an enemy to good products, sketching only when you can't prototype it, prototype based but fast to switch to product/live mode when ready. Do all that extra fluff ONLY if it is a viable idea or product. Focus is the key here. This phase is focused on balance.
You have developed a good pipeline, but you are using it too early on ideas. I like setting up the system all the way to the end like the url, server, etc. But only do that on ideas that are a good time in, after days or weeks and great strides on the actual product, not the surrounding support.
Good news for you is you realize your problem and you may be leveling up.
Let new ideas simmer, learn to use your excitement and thoroughness to deliver fully finished products. It is a battle but one that you can win with discipline, there are too many toys but lots of toys are a waste of time. They can't just be cool, they have to mean useful to your current project/product. But definitely stay up on technologies and do things right, just make sure it is something you are going to go the distance for.
Very well put. Good tip that helps to get over that phase of overarchiteching is to get a job with competent people around you who push you to perform better.
Easier said than done perhaps, but getting a new job or doing something you didn't think you would ever do, especially with a good team surrounding you can really push you over that phase and get you to trust your skills.
Leave the comfort zone! Do something that seems too difficult, just do and grind and you will find the methods to blast through any wall ahead of you.
It's more about discipline than having the best methods. Through discipline I learned that I can solve any problem, it just needs work. The solutions are not most of the time the most elegant, but over time those features of the code that stick around get cleaned up and they transform to something beautiful.
Huh. And here I am, having spent 25+ years doing this, and new things still attract me. I've learned to watch this behavior (mostly - I'm here commenting, aren't I? ;). But I have not yet reached a stage of "balance".
Granted, the shinier things are more high-level this time around - but this seems to point to the fact that this is a repeating pattern, not something that you conquer and forever solve.
Me too. Maybe 30+. I have alternately thought that it was procrastinating, ADD, FOMO, the distraction of shiny objects, etc.--new terms keep appearing.
In the past this has been "useful", because I learned a number of tools
before I had need for them. "Useful" in quotes because I might not have been most productive
at that moment but maybe it amortizes over time (ie, maybe I "10x" for spurts at later time),
and it got me skills and opportunities that I wouldn't have otherwise.
If I don't a creatively productive day in doing what I'm "supposed" to be doing, I need to feed that hunger by learning something new. Sometimes it's shopping for shiny things, other times it's going deeper into something... still looking for the balance.
This is a really appropriate comment. I'm about 8 years into professional development and feel like your first two phases are spot on.
I also sympathize with the author because it's just so fun to get all organized for a new project. Eventually, that ends up just sucking all the energy out of me for actually completing the project I set out to do in the first place.
It is a typical developer arc. You are probably around 4-8 years in.
- The first 2-3 years are focused, prototype like, just happy it is working phase. Piles of crap code here and a few successes. Underplanning is the key problem with a focus on proving you can do it.
- The second phase it the overly architected phase. Years 4-8 or so. Piles of crap designs, plans and notes here, a few solid projects and products here. Overplanning is the drag, lack of focus on shipping due to overly focused on tech, bouncing from idea to idea. Experimenting... (I bought about 100 domains in this phase myself, lots of people write their own string class here if you are doing C++ instead of finishing the project, too much focus on tech here over product). This phase is focused on proving you can do it right.
- After 8-10 years, that is where the balance kicks in Daniel son. Hype is kept in check, learning that monolithic frameworks are an enemy to good products, sketching only when you can't prototype it, prototype based but fast to switch to product/live mode when ready. Do all that extra fluff ONLY if it is a viable idea or product. Focus is the key here. This phase is focused on balance.
You have developed a good pipeline, but you are using it too early on ideas. I like setting up the system all the way to the end like the url, server, etc. But only do that on ideas that are a good time in, after days or weeks and great strides on the actual product, not the surrounding support.
Good news for you is you realize your problem and you may be leveling up.
Let new ideas simmer, learn to use your excitement and thoroughness to deliver fully finished products. It is a battle but one that you can win with discipline, there are too many toys but lots of toys are a waste of time. They can't just be cool, they have to mean useful to your current project/product. But definitely stay up on technologies and do things right, just make sure it is something you are going to go the distance for.