Things that work: Write down everything

Sometimes things I do actually work.So I thought of putting them in writing. Best case scenario, you, the reader, might get something out from them. Worst case – I made you laugh or just feel pity. It’s a win-win either way.

There is an overarching theme here: process analysis. These are things that I become aware of, analyzed and improved on. Sometimes, the improvement is to throw things away and do a 90-degrees left.

I’ll start with writing. This is something I’ve learned that works for me over the last year. When writing, either a blog post, technical content, presentations, or any other stream of thoughts, I find it useful to put everything that pops into mind at the time on paper/keyboard. Anything.

This may seem trivial, but it has improved my output tremendously. Before, I have reworded, reformatted, imagined -  all in my head, before putting it in words. I now write whatever I think of.

I realized I can’t hold in my head too much. That was hard to admit. Still is.

One benefit is that I usually don’t get stuck. Sometimes, I’d write a word, knowing it’s not perfect, good, or just plain rubbish. I write it anyway and continue. In the end I go back and refactor. It costs – knowingly using words I’ll never use (what a waste!).  (for example, this sentence started out as: “I need to actively and with control to write things that may not be even coherent”).

Only recently I’ve made the connection to a unit testing behavior (of course) I used to practice. I wrote down empty tests, place holders for things I knew I would need to test later. Even as I would concentrate on one test, and an idea for a test case came to mind, I’d add the place holder and continue.

Writing down stuff and moving on – it’s a controlled behavior. I expect since I’m a visual kind of guy, moving letters around works for me -  spreading everything on the page, and then refactoring, rearranging and getting the best from it.

Gil Zilberfeld

CSI: Microsoft

Some people think that by blaming Microsoft, I’ve removed the responsibility of self development from the developers themselves. These are two separate things.
Developers who want to expand their horizon, enhance their craftsmanship, will find ways to do that. And because there are so many sources, they will probably not get it just from Microsoft.
But we few, we happy few, are the minority. Most developers are not looking to expand their knowledge. So how do they solve their problems? They go to Microsoft.
It may look weird, but if I’m using a tool or technology from Microsoft, I expect it to work. I expect working examples, and I expect support. While you and I won’t even think going to Microsoft for help (Google it first!), most people see their MSDN subscription as insurance – MS will give the answers!
And Microsoft, wanting to retain its leadership in tools and technology (because all technologies require Windows, which makes MS lots of money)  obliges. They create lots of info – support forums, how-tos, videos, Channel 9, team blogs, and even has a group that tells us how to develop better (Patterns & Practices ). And with all these channels, developers learn to rely on Microsoft for the solutions and practices.
Only a few jump off. Those that do become better programmers. The majority is left behind, gets accustomed to solving problems the Microsoft way.
And after whole this, I want to get back to my original point. There’s a symbiosis inside the Microsoft ecosystem – developers requiring solution and guidance and MS giving it back. But it all revolves around the technology platforms. If we recall for just one moment our place – we’re there to solve business problems – we find that (apart from self development) we make our livelihood by mastering the technology.
With the rate of technologies flying out of Redmond, some more stable than others, to master one or more requires to find, debug and solve problems in that technology. And this is where I was going – to be proficient in the technology, you need to be a better debugger.
Sure, it helps if you’re a better developer. It’s great if you are. But MS is responsible for the way the ecosystem works, encouraging devs to be CSI investigators, rather than preventing the crime in the first place.
Gil Zilberfeld
Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon More