
Have you already suffered from the programmer's block ?
This is the same thing as the writer's block but for programmers !
- You have work to do, but you can't decide where to start.
- You write two lines of code, but remove them 2 minutes later because you need to refactor the code you already refactored 3 minute earlier.
- You write lots of interfaces without implementation, and remove them 2 minutes later because they don't seem necessary after all.
I'm a developer and to be honest, user interface design was really not my main concern.
But over time, I've seen that clients don't care about my code, and that this crappy Photoshop designer was getting more credit than me because he can make the client dreams in 2 hours of work.
I've seen enterprise selling products with nothing more than a pretty powerpoint presentation and three screenshots made with Photoshop of what they are going to develop.
Now, I try to make my own business and I start to understand.
As an entrepreneur, my main concern was to know if my idea was going to work with the least amount of work I can.
I don't know how to use Photoshop, but I'm pretty good with Visual Studio and I started to create an horizontal mockup of my product in Silverlight.
And this is what I learnt :
- Going from what the user sees to your code is easier than the contrary.
- Ignoring all good coding practices is the key to be a better user interface designer.
It makes meaning since your brain is only focused on one task : make your interface beautiful.
In only 2 days of work, I was able to make a potential client to dream, and, the most important is that I removed useless features before developing them.
And now I have a clear goal .
Page after page, layer after layer, the mockup is becoming a prototype, I clean my code, move the hard coded data, and I can finally focus on good coding practices since my user interface is already done.
If your goals are clear, you will not suffer from the programmer's block.

My try to overcome that is understanding the logic its harder then I think but after i've understand a few initial coding stuff it mostly comes to refactoring till I got it specially with code for non interfacing code like bits of math and such.
RépondreSupprimerYou approach seems to be top-down, with abstract things first. The problem when I do that is that most of the time I end up with a data model, not a domain model ! What we call Anemic domain model (http://en.wikipedia.org/wiki/Anemic_Domain_Model) :(
RépondreSupprimerone can overcome this block very easily: don't start with
RépondreSupprimerpublic static void Main(string[] args)
{
}
but start with a unit test.