Is it "normal" that codding takes very, very long time

I have some experience in codding (programming). I have created CMS for myself (jquery, php, mysql). Also created invoicing program. Started codding ~ 5-6 years before. At beginning (~5-6 years) before Initial aim was to change profession and earn with codding.

But “problem” is that codding for me takes very, very long time. For example to get CMS to work, i needed ~ 300 hours. For invoicing program first stage also took ~ 300 hours, now improving the program and spent ~ 200 hours.
And one more “problem” is that at beginning all seems very simple (like, get data, process and record in mysql). But during codding arises many variations, conditions etc. and to process (handle) all these, i code, code, code and it seems never ending… And what i expected to do during 1 month, appears that need for example 4 months.

So my question. Is it objective (“normal”) to spend so much time to create what is necessary? For you the same situation? Or, i just accept that codding is not for me? Anyway for my job (income) i need to code something, so i need to continue to do it…

There is more to programming than coding. The design phase usually takes at least as long as the coding phase. It sounds as though you leapt straight into coding, combining the two stages, in which case as you have discovered you will find yourself re-coding parts you have already written as you discover conditions you didn’t think of in the first place.

I’m not sure there is a “normal”. It’s not usual to write your own CMS, so congratulations on doing that!

1 Like

Too vague.

Depends on what ‘is necessary’ as to how long it would take.

It may be that you haven’t quite grasped the complexities of what your assignments are, and so you’re underestimating your time.

It may be that you spend an inordinate amount of time correcting typos, like ‘codding’. Which i assume relates to fish.

Thanks for answer. Yes, at beginning i only had approximate / general vision what i needed. And had certain aims (requirements) - what i need from the invoicing program. Latter requirements changed (became wider), so i changed and updated.
Something is a bit clearer.
Not sure if at beginning (before codding) i could write (imagine) step by step what i will do/need (suppose anyway during process i will need to change what i have imagined). Can not foresee everything… Seems it is quite important to foresee…

Thanks for answer.
Not it was not correcting typos. Much time took to think how to get necessary result (behavior). Also sometimes needed to try many, many variations, like code, test, change, try another option/solution, repeat…

Well, you’ve clearly identified your weaknesses and where you can improve, which is the first step.

Very few (if any) people code something perfectly the first time. The idea of testing, debugging, and recoding are certainly normal parts of the software development cycle. You should factor in things like needing to make corrections and testing into your outlook for time.

Never assume it’s going to work right the first time. (And be worried if it does!)

I think it normal to take a long time in coding. Because making your own CMS is a big thing. Congratulations on that.

1 Like

Thanks. Seems question is answered. My “start” / “first time” lasts already ~ 5-6 years:) But no options, sometimes need to code something, so simply must continue and learn, and take into account that it will take long time …

A lot depends on how much you already know, how well you remember it and how much experience you have with it.

For example, if you discover you need to work with sockets you may need to review transfer protocols, study documentation and try a lot of test code before you get anything that “works”. You will likely discover that “works” is not good enough. So yes, learning something new could take a long time. But after you’ve written socket code several times and different ways, each new use should hopefully take a lot less time.

I agree that planning before you write any code is very important and will save time in the long run. Just the same, even with bug-free mature code don’t be surprised if there is scope creep. Chances are you could be forever “tweaking” the code.

You can benefit from thousands and perhaps even millions of hours of time spent by experts. There are hundreds and maybe thousands of books about system design. I do not know what to recommend though.

Something that the experts consider critical is requirements definitions. A requirements definition should avoid describing how to do something, only what it needs to do. If you were to be programming a game then the game rules explaining how to play the game might be a perfect requirements definition. I think that a requirements definition might be very close to the user documentation for the system.

As you say, you sometimes realize there is something more or something different that needs to be done so you must go back and re-do what you have done. If you read about system development methodologies then you will learn that the experts advise us to go all the way back to the requirements definition and update it with the new information and then go down the hierarchy of system specification and programming specification and coding and all that. The experts know from experience that mistakes in the requirements definition can be very costly later.

1 Like