Tuesday, February 26, 2008

How to be creative?

I know most of you don't need any help with the being creative part but I think some of us would benefit from some hints ;-)

I think I found this book on Seth Godin's blog (I know if I put his name at the beginning most of you will read this post to the end ;-))

I read it mostly yesterday and I found it inspiring so I'm sharing it with you. Here are some quotes from it randomly selected (so you'll be able to decide whether it's for you or not).

"Good ideas alter the power balance in relationships, that is why good ideas are always initially resisted."

"The sovereignty you have over your work will inspire far more people than the actual content ever will."

"Put the hours in; do it for long enough and magical, life-transforming things happen eventually."

"We have millions upon millions of human tapeworms thriving in the Western World, making love to their Powerpoint presentations, feasting on the creativity of others." (and I suddenly thought about my previous job ;-))

"A fancy tool just gives the second-rater one more pillar to hide behind. Which is why there are so many hack writers with state-of-the-art laptops."

That's enough - download the book if you want.

Thursday, February 21, 2008

Quality sucks

Since I started with software development years ago I was taught that quality matters the most. All those software development processes focused on achieving the best quality for the least of bucks. You were taught that everything you do should be designed, tested, and so on. I believed in that. I believed that that's the best way to do. I believed that to be successful software developer I should create good code. Code that shines. With good design, tests, etc. Then after few years of me trying to be better and better I somehow managed to read a few articles that changed my way of thinking - the worse is better, there's no such thing as perfect solution and you should stop thinking about it, the good is enough - if it works that's great, don't optimize it's not worth it (before you really, really are forced to). When I thought about it then I realized that's true, you can't push yourself too far into quality because you'll lose.

But now I think I realize that still I'm focusing too much on quality ;-) When reading all those stories from entrepreneurs or talking with guys that succeeded you can see that in the early days their mindset was "do something, let it work, push it through the doors, then gather feedback and improve". Don't waste time on beautifying your code, don't waste time on sophisticated design. If you want to succeed you need to have something working (with bugs, bad design, even crashing from time to time) - here's the selling point - it should do something useful for customers and ease their life. If it brakes from time to time, or isn't so fast, or has some other problems - as long as shortcomings don't overshadow improvements your software brings you're still in the zone, you still have customers and you still have time to improve. Just listen to people - you'll notice how they react, if they have any problems react - fast and efficient.

OK, you'll argue that this way you end up with some big, badly designed application that will be hard to maintain. You can also argue that doing everything good way from the beginning is cheaper than fixing it later. Sure, it's is cheaper but no one will give you money for something that's beautifully designed and implemented as long as it doesn't bring value to the customer. The thing is that I start to think now that I still put too much into the quality. I have this habit of refactoring things until I'm satisfied. I see bad design and can't stand it. I have an urge felling to fix it. That's a bad mindset. I'm trying to get rid of it and hopefully I'll succeed.

All those 'quality people' ask you "how much do you want to spend on quality?", "do you want to pay less or more to achieve quality?", they tell that getting things right for the first time is the best option you have.

I'm asking you "is it really?", "do you really care about quality?", "do you really give a sh*t how much do you pay for quality as long as you have money to spend on it (and you have still a lot money for other things)?" ;-) Of course you do care, but I think you care a lot more about how much money you can get and when. And in case of a startup (either a company or a new product) you want to get as much money as fast as you can in the shortest time you can - because your whole life (OK, life of your company) depends on this. Am I right?

And to be honest every software sucks, every software is a nightmare to maintain after a few years and a few generations of developers. Even if you focus on quality someone will have troubles working on it. You can't avoid this, sorry. So knowing this do you want to care about it so much? Just focus on getting money and you'll be fine even if your code sucks :-)

Am I wrong?

Tuesday, February 12, 2008

Few words on SOA, again :)

This post will be in Polish - sorry :)



Pamiętacie Gdansk CoC i generalnie SOA?



Jak zobaczyłem SOA competency center to myślałem, że się posikam ze śmiechu. I generalnie mi się też łezka w oku zakręciła jak sobie przypomniałem o Nurcan i o Sunilu...

Generalnie jest tutaj miejsce dla całego CoC (albo ISE) - ale beka :)

PS. Jak będziecie chcieli to usuńcie ten wpis :)