Am I slow at developing?

Started by
11 comments, last by Xanather 11 years, 5 months ago
I really feel like it takes me too long to accomplish things.

Just now I wrote a chat window for my game, not including the inherited window class, but like programming up a textbox (to input text) etc... Writing up this chat window took me 2-3 hours (that includes textbox graphics, but not the actual window graphics due to the inheritance available). I haven't even handled server/client chat messages yet.

Chat Window:
justapic.png
Will I ever get faster/better at writing algorithms? Ive been programming on and off ever since I was 12/13, I am now 17.

This is probably a very vague question, but yeah, what do other programmers think?
Advertisement
If it's finished on time, you're going fast enough. Different developers apply varying levels of polish and do so in varying amounts of time. Comparison is meaningless.

Though one thing that drastically increases productivity is correctly identifying and using the right tool for the job. Many developers seem to be stuck in some sort of NIH syndrome rut and want to implement absolutely everything themselves, which, while undoubtedly educational, is significantly less productive than using ready-made tools.

GUI development interestingly generally takes more time than anything else, I think this is because there are many interdependencies, where moving an item might require you to rethink the layout of everything else, etc... it also has to look good since the player will be looking at it 100% of the time, so any self-respecting developer will probably try and make it look as good as possible before moving on, which takes a lot of time (at least these are my thoughts).

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

There is no real way to gauge performance concretely. Progress on a project cannot be measured by the number of lines of code, for instance, because that same project could be written any number of ways with completely varying code. SImilarly I believe it is a fallacy to assume anything about one's performance based on the end-user experience provided by a program, and the amount of time it took to write.. Because, again, it could be written in any number of ways (in any of the many languages, using any number of the many available development libraries and their APIs, etc).

Maybe someone could re-create what you have in 10 minutes? 20 minutes? But would it be as thorough and/or thought out? Sure, the more experience, the more efficient one (probably) becomes. My advice is to not worry about your performance, but instead program because you enjoy it. If you want to become a better coder, then simply keep in mind that there is always room for improvement in the way you go about designing software, and learn what you can at you own pace. Do it because you want to, not because you feel like you have to. Enjoy your experience.

Personally, my current struggle is being content with what I produce - I am unrelentingly second (triple, quadruple, etc) guessing everything I write, and it only stifles my productivity and enjoyment. Good luck.
Both posts make sense. Thanks for the replies Bacterius and radioteeth. I probably am going fast enough after reading your two posts, and of course I program for fun :D

Thanks again,
Xanather.
What did you spend the most time on?

Sometimes I spend like 90% reading through some docs or googling examples or finding silly mistakes. And only 10% actually coding.
Probably 2/3 coding and 1/3 making the textbox in paint.net, I don't think I looked on the web at all for this.
I'm also pretty slow, at least I feel that way, but I think of it like this. Quality vs Speed, and if I spend too long at any part of the process it must have been for a good reason.

-Exo
Most of the time speed of development is based more on personal motivation than actual ability. I find that sometimes I work at a crawl because I am doing something boring (like implementing a web service client) and I can't be bothered. Other times I get into the "zone" and will work for hours non-stop until I run out of steam (high caffeine content drinks help with this :)). So just go with the flow.
When I was younger I was a pretty slow programmer. I used to obsess over the smallest details, reading all the docs even for little things like opening a window or doing a file requester. I used to love dwelling on the *feeling* of programming, if that doesn't sound too strange. It was just time and experience that made me speed up.

Working in web app development certainly helped me; the turnaround time for a site is so fast. Also, before I was in work, I found that doing little projects for other people helped, as I felt obliged to them to get the job done quickly.

Also, a lot of very fast people are doing things that are variants of what they've done before. In game coding in particular there's a lot of experimentation going on, a lot of groping in the dark. But that experimentation leads to new techniques, which you can then apply quickly.

In my current project, it took me absolutely ages to figure out how to do the graphics. Now I have a technique down that lets me produce new stuff in the same style in no time at all.

Like Cromulent, I find boring stuff slows me down. My boss once complained to me about some dull project taking ages. He said he couldn't understand it as it was so easy. I told him, "If it was difficult I would have done it in an afternoon".

I'm sure you'll get quicker with time and practice, just keep coding!

Just finished work on Antigen for iPhone and iPod Touch - www.richardjdare.com

I read somewhere that Bill Gates is known to have said that there can be as much as a 10000 factor between a slow developer and a quick developer. (he was probably talking about value : e.g. return on "investment". investment being salary here.)
My experience is that speed is roughly close between programmers, maybe a factor of 5 maximum between somebody fast and somebody slow. However, there are other factors that count for the final result. it is not only sheer speed, but for a given wanted result, the choice of the path to that result. for a given path, everybody will take around the same time. But let's take the example of your chat window. You didn't have to customize completely this window, you wanted it that way, but you could get a basic working result in a few minutes with C#, VB.net or Qt Designer.

This topic is closed to new replies.

Advertisement