I don't think this question has an answer, because there is no way to precisely define "knowing how to code." Here are several reasonable definitions:
1 You know how to code if you can get a simple application to run. (No requirements as to maintainability, performance, security, etc.)
2. You know how to code if you can pick the right tools for the job, foresee and avoid future maintenance problems, avoid introducing well-known security holes, and achieve an appropriate balance between performance, cost, and programming effort.
3. You know how to code if you understand your specialty inside and out, to the point where you could write a book, teach advanced classes, testify as an expert in court, and maintain a leading blog about your specialty.
#1 can probably be attained in a month. #2 will take most people several years of sustained effort. Many programmers don't reach #3, and those who do have usually been in the game for many years and have held multiple programming jobs.
So what does it mean to learn to code? What's a good enough level of expertise to code for you own business?
Personally I consider anyone who can be given a reasonably difficult[1] problem and solve it on their own[2] as knowing how to code.
[1] reasonably difficult - something that can't be solved by finding an appropriate tutorial (in a sense, the solution has to create new knowledge in your sphere of influence)
[2] solving on one's own - not solving through code archaelogy by frankensteining a solution together from random code snippets found online and/or nontrivially stitching together othe people's API's and libraries
It takes very little coding knowledge to be able to provide massive value.
I learned to program SAS and get a job in about 2 weeks. I had a very strong Math background, but next to no programming background.
6 months later, I'd automated my job, my department's jobs, and another department's jobs.
You can argue that this doesn't count as real coding-SAS is certainly much easier than Ruby. But the point is that it was quite possible to learn enough to provide millions of dollars of business value in a couple of weeks.
Nope-the company was surprisingly good at reassigning people to areas that actually did need work. Except for me-it took them so long to reassign me that I got bored due to a lack of work and left.
|What's a good enough level of expertise to code for you own business?
I think it's very much depends on your goals and tools.
For example, you can probably design a useful business application in Mircosoft's lightswitch in a short time .And it would probably be reasonably secure ,maintainable etc. , because of MS's help.
Same can be said for using python + numpy as a front end for a lab equipment , used in your business.
1 You know how to code if you can get a simple application to run. (No requirements as to maintainability, performance, security, etc.)
2. You know how to code if you can pick the right tools for the job, foresee and avoid future maintenance problems, avoid introducing well-known security holes, and achieve an appropriate balance between performance, cost, and programming effort.
3. You know how to code if you understand your specialty inside and out, to the point where you could write a book, teach advanced classes, testify as an expert in court, and maintain a leading blog about your specialty.
#1 can probably be attained in a month. #2 will take most people several years of sustained effort. Many programmers don't reach #3, and those who do have usually been in the game for many years and have held multiple programming jobs.
So what does it mean to learn to code? What's a good enough level of expertise to code for you own business?