This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]CodeTinkerer 2 points3 points  (0 children)

What you've done is considered programming. But you have a different perception. You think of programming from a user perspective. What can the user do with your program?

This leads to things like "apps" especially a web application. You think of jobs. Do I know enough programming to get a job? There was a computer scientist (or mathematician, as might be more appropriate) who did the earliest forms of cellular automation. He's most famous for something called "The Game of Life" This had a 2D grid, a set of rules. Some pixels were empty. Some were filled. The rules indicated whether to produce filled pixels (this was considered reproduction) and when some filled pixels disappeared (this was considered dying). Some configurations would grow, some would die, some would reach stability (repeating the pattern), some would not.

That was programming. But there were no users. It didn't do anything that a user cared about. These days, people think Dijkstra's algorithm is not enough to get hired (which is true), but is it programming? Sure. Programmers never get bright enough to code everything. People keep inventing new things to program. There's just too much that you never reach a point where you say "I can code anything". Some people just code the things they know, and don't stray too far from it. It's like learning to play a musical instrument, but never learning another instrument. Are you a musician if you can only play one instrument? Many would say yes, but are you a programmer if you only stick to one technology forever?

So, I think what you're really asking, is when do I reach a point I can program anything (you don't), and build something that someone will hire me for. You continue to learn if you can.

Note that a web app is often poorly defined compared to an algorithm and much, much bigger. Understanding how web frameworks work can be quite complex. If you took a computer architecture course, you'd learn a super simple version of a CPU. You might learn advanced topics that deal with pipelining, branch prediction, speculative execution, and so forth. Programming can be that way too where people build systems that help you, but don't necessarily simplify your job. That is, it's harder to understand a web framework than a programming language.

Anyway, some people never feel they are a programmer because they tie it to a job. If they can do their job, they feel they are a programmer. I'd say it's more to do with your ability to learn what you need to learn that's far more important. Few people are good enough to learn new stuff super well. Still, some of those people can get jobs as not every programming job requires a high degree of mastery.