I hear about COUNTLESS ways that webdevs try to optimize their workflow and either eliminate or at least expand bottlenecks. Everything from preprocessors, to task runners, to specialized text editors, to tiling window managers, to command line utilities, to specialized keyboards, to multiple monitors. I’ve heard it all.
Now, I agree that these things are all awesome in the right situation, with correct application and with reasonable expectations. I don’t have anything against any of these tools. In fact, I use most of them. But it seems they don’t solve the mother of all bottlenecks: thinking.
I find that the time it takes to plan out a project and solve all the problems in a way that is effective and elegant is BY FAR the biggest drain on my time. It’s not the few extra lines of code I have to write here or there, it’s not the few extra key strokes, it’s not having to switch back and forth between desktop spaces, it’s not having to do a slightly repetitive task. It’s none of that. It’s just plain ol’ thinking.
Hm. Just because thinking is one of the most important parts of the equation, or most time-consuming, doesn’t make it a bottleneck.
True, you need to be able to think well to get a good workflow. But you also need a good computer. And time. And good software. And….. (etc. etc.)
I don’t know. I don’t really see the point of labeling something as the Real Bottleneck. There are so many factors, and there’s nothing wrong with trying to improve any piece of the puzzle — whether it’s the biggest bottleneck, or just a smaller one. Any improvement is…improvement! :)
Thinking can take a bit of time, and it can be a bottleneck, but I don’t agree that it necessarily is.
[various developer tools] are all awesome in the right situation, with correct application and with reasonable expectations. I don’t have anything against any of these tools. In fact, I use most of them.
The first part hits it. Tools (including thinking) become a bottleneck when not used properly, or with unreasonable expectations. Insisting on using a particular tool can be a huge waste of time if you only do it because you read about how awesome it is in some blog post. Your project might gain nothing from it. Your project might suffer from it, if you don’t really know how to use it.
SASS is a good example. There are tons of people out there who can recite the steps of setting up a compass project blindfolded, but after that, they spend days and days trying to find ways to “auto-convert” all of their existing stylesheets into SASS files. If you know how SASS works, and how it can improve your design process, you know this is a complete waste of time. But it’s a fairly common question on help forums (IIRC, it’s been asked here on css-tricks at least twice in the last month or so).
Insisting on using a particular tool can be a huge waste of time if you only do it because you read about how awesome it is in some blog post. Your project might gain nothing from it.
This strikes RIGHT at the heart of the issue. I’m experiencing said “bottleneck” on client projects with clients who insist on x when x may not really be feasible for a NUMBER of reasons. This is suppose is MY fault. I should tell them it can’t be done, give a brief explanation and move on. But… there’s something in me that REALLY doesn’t like to leave a problem unsolved or back down from a challenge… even with myself.
I guess my real bottleneck is an unhealthy emotional attachment to projects. Ha ha ha.