Just Do It?
Are you the kind of developer that likes to know everything up front? Or are you the kind that like to just start hacking away at a problem and see where it takes you?
I’ve been living in both camps and to be honest I still don’t have a strict answer on what’s best.
When I started my career, working with
C# I didn’t expect to need more languages. At this time I took good care to make sure I learned or established best practice solutions for the different problems that I was encountering. It was slow in the beginning, but with time it was easy to use my then found template solution to the problem that I was encountering.
A lot has changed since then. The dawn of easily available open source, and the explosion of technologies has made what was once an controllable amount of technology alternatives almost infinite. For the poor person looking for perfection it has made the heuristic for best solution very complicated. If you want you can search technology stacks forever. That’s why I’ve now rather landed in the just do it camp. Start with what you know and get it done.
The middle way? The one way that I do try to make sure is that I modularize my concerns into separate parts of the project. I mean this is what you will naturally try to do anyway, but I try to make sure that the interfaces between them are as clean and technology independent as possible. This way the solutions are open for optimizations once it is needed.