Evan Boehs website Mastodon PGP Key email A drawing of an astronaut in space United States is a goofball

Blank paper syndrom


You have a great project in mind, which looks fantastic, but when you sit down at the desk trying to do something, you suddenly block and are not able to do anything. Then you open up solitaire and make a new record.

You actually need to start doing something related to the project, so that you feel like it’s born.

You may not want to write code immediately. You can start by writing what your project actually must do, or you would like it to do. Take a pen and paper and start writing. You can start from the details or from a bigger picture. Try both, see what is best.

You can try to define the functionalities of the project, the different parts, how those parts communicate between them. I feel myself comfortable with post-it, they are fun and you can change them as you progress. Let them follow your mind and ideas.

Or maybe you can start prototype some function or classes. You can use whatever language you prefer for this, even one that doesn’t exist and you just invented.

Begin to take it off the notes into the code. Think about data structures, and how everything interlaces.

After some time you will have something to work on, and your project will be not only on your mind. You actually did something.

When you feel comfortable to actually start the development process, it’s time for a careful planning, documenting, prototyping, gathering of all required technologies and software, and so on.

But don’t start until you actually feel it’s the right time!

Also, don’t start with the car, start with it’s engine, if the car comes later so be it. As linus said:

Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you’ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don’t think about some big picture and fancy design. If it doesn’t solve some fairly immediate need, it’s almost certainly over-designed. And don’t expect people to jump in and help you. That’s not how these things work. You need to get something half-way useful first, and then others will say “hey, that almost works for me”, and they’ll get involved in the project.