Page 1 of 1

New developer struggling with "perfection syndrome"

Posted: Sun Jul 31, 2011 10:53 pm
by adbertram
Hi guys,

As you can tell this is my first post on this forum but I hope you don't hold that against me. I've been in IT, more specifically system and network administration for around 13 years. During this time I've created my fair share of batch files, VBscripts and Powershell scripts. I was one of those guys that said he'd never get into "big boy" code development but look at me now asking for advice in a PHP forum. :)

Within the last few years I've caught the entrepreneurial bug and have decided to build some web apps for myself and for others. I've been an Amazon and eBay seller for 3 years now and average around $10,000 in sales every month but still also have my full-time system admin job. I want to merge my tech skills with my Amazon/eBay skills and develop web apps for this genre.

So far, I've learned enough PHP to get things done but that's about it. The biggest problem I've found with coding in general is that the nitty gritty tech details are simple. There is generally nothing that a quick Google search won't fix. My real problem is myself and my "perfection syndrome"

The more I learn the longer developing my app takes me. Even if I find a "right" way of doing something I'm consistently second guessing myself. I'm finding that my brain doesn't know how to process the seemingly endless ways that a problem can be solved in code. I started out with a few simple scripts with some functions and I was happy. However, I then learned about PHP 5.3's great OOP support and I scrapped what I had and recoded the app via OOP. A little more learning later it seems that MVC is the way to go now so scrap my little classes and properties and let's do OOP MVC style!

But wait...there's more! Why am I having to create these individual HTML forms or why am I having to create a new controller every time infant something else done? Here comes the frameworks! I'm now on my 5th start at this little web app trying to learn Yii but considering scrapping it again for Zend because it seems like that is more popular. WTF, self?! Make up your mind! I bought an eBook on Yii and they recommended using test driven development. "Ooo...that seems like a really good idea! 3 days later and long hours trying to get PHPUnit and Selenium setup I know a lot more about TDD but at what cost? I still haven't made any progress on my app!

Maybe this is just how my brain picks up on new concepts. I don't know. I've always had a tendency to hash out every single detail possible before making a decision. It's like I can't feel comfortable with something until I've left no stone unturned. Web development leaves my mind to wander all over the place and I hate it. I'm really enjoying starting from nothing, putting blocks together and building something functional. It's very rewarding. However, if you can't sit down, go through the vision, design and coding process without jumping around all over the place the chances of developing a successful web app are nil.

Can anyone else relate? At this point Ive done so much research my brain hurts and am on my 6th version of my app and it hasn't even been completed! I need some serious help here.

Re: New developer struggling with "perfection syndrome"

Posted: Sun Jul 31, 2011 11:11 pm
by Benjamin
You need to stop right now, because you're going to be in a world of hurt on your current path.

What you need to do is just build what you are trying to build, and make it better later.

You won't get it right the first time if you follow my advice.

If you don't follow my advice, you still won't get it right the first time... and it will take you 10 years longer.

Re: New developer struggling with "perfection syndrome"

Posted: Mon Aug 01, 2011 3:06 am
by social_experiment
adbertram wrote:I've always had a tendency to hash out every single detail possible before making a decision. It's like I can't feel comfortable with something until I've left no stone unturned. Web development leaves my mind to wander all over the place and I hate it.
I can relate to this; until recently i've sat down, started on planning, ended up with a stack of papers & notes which at the end of the planning would be totally useless. Lately i follow a different route: Limit my planning time to a minimum then start working on a basic structure for what i have in mind and append / modify it as i go along. Working in this manner is more productive and when you have some sort of code done, it is easier to do the hashing out.

Re: New developer struggling with "perfection syndrome"

Posted: Mon Aug 01, 2011 11:35 am
by adbertram
@Benjamin You are preaching to the choir but that is much, much easier said than done for me. I need some sort of mental trick to get me to stop. It sounds stupid but trust me, I'm going to have to trick myself. :)

@social_experiment I'm with you 100% on the planning then just ending up discarding it all. I typically draw up mindmaps and workflow diagrams just because I think I'm really ending up getting something useful out of it to then dive into the code and just do it on the fly anyway. I hate it when I do that but I just seem to follow what interests me and consider the time wasted planning as a learning experience.

Also, since I'm not doing this as a full-time job for someone else I don't hold myself to any deadlines. I always think "it doesn't really HAVE to be done by a certain time", "no one's going to say anything if I don't get it done" so I continually just try new things until a month has passed and I've made no real progress.

It's quite the dichotomy. On one hand, deep down I *know* I need to stop just toying with this app, hurry up and just get something out there but on the other I get so involved in something and interested I tend to just shrug that off. This attitude has helped me in my career immensely and to expand my knowledge base in general but it also hurts sometimes as you can see.

I've always told my wife, "I don't have a problem knowing how to do something with technology it's choosing which of the 454 ways that I know".

Re: New developer struggling with "perfection syndrome"

Posted: Mon Aug 01, 2011 1:04 pm
by social_experiment
adbertram wrote:Also, since I'm not doing this as a full-time job for someone else I don't hold myself to any deadlines.
This might be one of the mental blocks to remove; whether it is a paying job, or just a hobby, you shouldn't differentiate between the two. Try seeing it as "I'm coding". That's my bit of pop-psychology anyway

Re: New developer struggling with "perfection syndrome"

Posted: Mon Aug 01, 2011 1:15 pm
by califdon
I can identify with your dilemma and I would guess that many, if not most, developers can, too. I think the word "introspection" comes into play here. You seem to have rather clearly defined your issues, which not everyone has the insight to do. That should be a big help. I often use mental "tricks" to manipulate my own reactions, and I think you could use some on yourself, such as deliberately committing yourself to another person that you will deliver a product by some deadline, simulating the schedules that full-time developers work under. Maybe set up some situation that forces you to measure your progress, like submitting a weekly status report, even if it's just to your wife. At any rate, good luck, and I think you will solve your own problems with the kind of insight that you obviously have.

Re: New developer struggling with "perfection syndrome"

Posted: Mon Aug 01, 2011 8:15 pm
by adbertram
califdon wrote:I can identify with your dilemma and I would guess that many, if not most, developers can, too. I think the word "introspection" comes into play here. You seem to have rather clearly defined your issues, which not everyone has the insight to do. That should be a big help. I often use mental "tricks" to manipulate my own reactions, and I think you could use some on yourself, such as deliberately committing yourself to another person that you will deliver a product by some deadline, simulating the schedules that full-time developers work under. Maybe set up some situation that forces you to measure your progress, like submitting a weekly status report, even if it's just to your wife. At any rate, good luck, and I think you will solve your own problems with the kind of insight that you obviously have.
This is very good advice. I've read about how being held accountable to someone else can be of great benefit. This is why I'm currently looking for a partner in this endeavor. I hope to find someone as passionate about web development as I am and that can hold me to things.

In regards to deadlines, I absolutely hate them and take a step back from anything that imposes them. I feel like a deadline restricts your creativity and forces you to shoehorn in solutions that you normally would not do. Is this not correct? I agree that some time limit, ANY time limit is a good thing but having a set deadline to where you're going to say.."look, I know this app needs some work yet but I've met my deadline and it has to be done now".

Thank you for seeing my insight. I as much interested in psychology as I am technology so I really try to get in tune with my own brain and how to make it work better. I've also been dealing with this for a very long time.