views:

378

answers:

11

Sometimes, you stumble with programming. Sometimes, it's a lack of creativity, sometimes, you need a new solution.

But there are a lot of situations, you stick in, every time they occur.

For myself, it's when I have to create the interface between model and viewer. I designed my data structure very well and drew a GUI prototype, but the missing link won't be written.

What are your personal barricades in developing projects?

+2  A: 

I find organising my data/database a big barrier. The problem is the inherent desire for perfectionism. I cripple myself trying to take into account all the possible things that might come up based on my past experience.

Recently I've been getting past this using fast iterations. I think this helps me start simple and build out, but also it's showing me the problems that are most likely to crop up time and again, rather than just trying to fix everything I know might go wrong from the start.

sh1mmer
+5  A: 

The only real impedement is effectivly breaking down complex problems so they can be managed and explored. Space between ears is limited and some problems may not lend themselves to being reduced easily.

Einstein
+4  A: 

Trying to code a good sized thing when I should design it first. Not knowing what i'm doing before I do it sucks and slows coding to a crawl.

Also, not knowing any code before I design the project. Good to have a toy-box of proof-of-concept code first.

Bit of yin and yang. A cycle, but more of a spiral.

tkotitan
Oh yeah, I know this!
furtelwart
+1  A: 

I tend to hack out a working prototype solution first, and then successively refine it. Once it's good enough, I go on a major refactoring kick to try and turn it into some kind of elegant model...

Once I've reached that stage, I reach in and make it messy again performing any necessary speed/size optimatizations...

Rinse, repeat until it's 'good enough'...

Very occasionally (and more often as I get more experience) I find myself 'knowing' a fairly optimal design from the get-go, so the first prototyping phase is a lot less chaotic.

Andrew Rollings
+1  A: 

Getting the left side of my brain to process the right side's input

dr
A: 

The biggest obstacle I face is the creation of all the bells and whistles that surrounds the "algorithmic core" of the application. I think this is a general problem. After all, this is the boring part of the work, right? You know there are no particular intellectual challenges in implementing all these functionalities, and yet without them nothing can work, no?

But there is a solution: willpower! :P

Myrrdyn
+2  A: 

Creating useable GUIs. Not just functional ones, but comfortable. It's just hard to programm functionality and a nice GUI. You don't want to spend hours for GUI, because "it's only design, no function". I hate this part!

It reminds me of this thread: Worst UI you've ever used.

furtelwart
+7  A: 

My biggest problem in programming is my attention span. I don't mean short term attention span like ADD or ADHD. I am talking about when you are working on a project and the initial "cool" and "ooh new and shiny" factor starts to wear off and you immediately start looking forward to doing something else when you're no where close to being done with what you are currently working on.

Eventually the wheels lock up and you just sit there for a while pouting like a small child and whining "I don't wanna do this anymore!"

TheTXI
This seems to hit me after 3-4 months on a project. I'd like to know how to prevent it.
David Grant
@David: The only thing I can possibly think of to prevent this is to perhaps work in some type of other project that you can switch onto for a little bit to recharge your batteries. If you can't manage to do that at work perhaps playing around with something new after hours would suffice.
TheTXI
Actually, I think this IS ADHD. I have it too.. meds help, such as Concerta. Barring that, partner with a junior developer to do the grunt work, implementing your elegant and efficient design.
Chris Thornton
+2  A: 

Putting off the common urge to jump straight into some juicy, interesting-looking detail. My experience is that taking just a little time (even a few minutes) to ask the following questions generally improves both my creative flow and the end product:

  • What's the larger issue?
  • What problem are we really solving here?
  • Instead of adding something to solve this problem, what can I remove to make it go away?
  • How is this like some other problem I've already solved?
  • How is this like some other problem I'm solving at the same time?
  • How is this problem orthogonal to the other problems being addressed?

The list could go on...

joel.neely
+1  A: 

Trying to cope with the aspiration to come up with a perfect architecture.

Lack of graphical designer skills is a constant nuisance, though I can easily create color schemes and gradients. Something with 3D style is beyond me unless I use 3ds max, but it' overkill in most cases.

User
A: 

Having pre-concieved notions about the solution can be an impedement to the design process. If you've just come off a great SOAP project, learned a lot, had fun, etc., then everything you look at is going to seem like a good candidate for SOAP. There's an old saying: "If your favorite tool is a hammer, the whole world seems full of nails." (or something like that). This happens all the time in our business. I hope my future self reads this!

Chris Thornton