It happens to so many people…
I decided when I was probably 7 that I was going to be a computer programmer. Bear in mind at the time we were up to maybe Dos 3.3 on an apple 2e computer which ran floppy disks out of one drive on a green and black screen. It wasn’t hard to understand the fundamentals at that stage. Insert system master disk, select action, switch disks, potentially code something.
I made snowflakes fall on simple rendered snowmen and figured that was a start. (I was 7)
School taught mostly irrelevant user level Dos and it was years until I bothered to look into coding again. Of course when I did it was mostly C++, Pascal, and similar languages that allowed you to spend 15-20 minutes trying to go from the ubiquitous “Hello World” to understanding loops and variables without any real reason to retain such information.
What was the point of remembering the syntax of a language without anything logical connecting that information to something I might have wanted to accomplish?
Years went by and I got very interested in Linux and as a result bash scripting, I developed websites and knew html and css before I realized the implications of actually knowing so much scripting/coding. Still I went back for more abusive “Hello World” in Ruby, and Python, and still couldn’t connect the dots between the little snippets of Php I was editing and any actual coding.
It’s like osmosis on some subconscious level, the things we learn and don’t quite connect.
Then I started with the online courses and got certifications for C++, Php, Html, MySQL, Python 3, and started working on a module about Java. I recognized that I had seen it before in some other coding curriculum, and started tracing my steps back through code academy, and similar online courses. I wanted to know what I was missing that prevents me from just opening a coding program and writing a program.
Of course I wasn’t counting the dozens of websites, or hundreds of bash scripts. Hell I didn’t even count the little snowflake stuff from eons ago.
I wanted to write executable programs and either sell them, or give them to people…
Of course I’ve done whole operating systems from drag and drop, and I didn’t “count that” either because I didn’t recognize that it was “a kind of” development environment. It wasn’t all my work so I didn’t count it.
Sandboxes, unit tests, all of these terms that aren’t introduced to us during that “Hello World” phase of coding.
The entire purpose of this article is to clarify for all of you “would be programmers” that a much larger percentage of what you are doing is actually directly coding related.
It might not seem like it – but – there isn’t a clear point where it will “happen” that you realize you are a programmer.
It’s the same thing with hacking, and pen testing, particularly when it occurs to you which scripts you use to bypass specific network security protocols. You might just think of it as “a shortcut” to ssh into your computer from your phone but it’s actually a fundamental. You have scripts for that network server test – they pile up…
I’m suggesting if you have that urge you go check out Sololearn.com It’s free to use and it helped me connect the dots. I also recommend researching TDD, and Solid. Because if you aren’t really sure about the methodology of coding it’s a huge step in the right direction.
Beyond that I have a few suggestions:
Do one “Hello World” type script and make it an executable. Try your best to upload that executable from one machine to another without using email. Try to create a cross platform program that includes native execution – yes even if it’s “just a hello world.”
Finally: Don’t wait for confirmation that you know something implicitly to try something on purpose. Are we learning? That’s the important part.