> You can tell yourself you're a programmer when you can code through a project by yourself, write classes, do OOP, implement basic concepts, differ public from static, know your data types, and more and more.
Knowing all that helps, but it doesn't mean you can't produce something meaningful without knowing all that. It would be hard, but doesn't make it impossible.
> You are not a programmer until you work as one. That's it and that's the reality.
No, you are a programmer when you understand the basics of programming. And that means the very basics.
If I consider your argument, then everyone can call themselves a programmer only after being employed as one. What about kids who build software at school? I started writing code for accounting apps when I was around 11. I built what I considered my best work then when I was 14 (https://github.com/jasim/EasyAccounts/blob/master/DOCS/WHATS...). That was a working piece of software that was used by businesses.
However - the fact that someone found use for the app is only incidental. The moment you know you can tell computers to do stuff you want to, however limited in scope, is when I would call someone a programmer. LOGO, GW-BASIC, dBase, VB 6, Rails or Haskell. It doesn't matter.
[disclaimer: I work with Sidu and when he says he was a programmer at six, I know it is true]
There's a nuance there and it's called an amateur. If I use this concept I could be anything and if everyone tells they're everything than what's the use of titles?
You can be a passionate, an amateur but to be a programmer, a professional programmer there's only one way of becoming it and it's by doing a professional job.
Knowing all that helps, but it doesn't mean you can't produce something meaningful without knowing all that. It would be hard, but doesn't make it impossible.
> You are not a programmer until you work as one. That's it and that's the reality.
No, you are a programmer when you understand the basics of programming. And that means the very basics.
If I consider your argument, then everyone can call themselves a programmer only after being employed as one. What about kids who build software at school? I started writing code for accounting apps when I was around 11. I built what I considered my best work then when I was 14 (https://github.com/jasim/EasyAccounts/blob/master/DOCS/WHATS...). That was a working piece of software that was used by businesses.
However - the fact that someone found use for the app is only incidental. The moment you know you can tell computers to do stuff you want to, however limited in scope, is when I would call someone a programmer. LOGO, GW-BASIC, dBase, VB 6, Rails or Haskell. It doesn't matter.
[disclaimer: I work with Sidu and when he says he was a programmer at six, I know it is true]