It's Time You Got Familiar with Code – Doesn't Matter Who You Are
techvibes.com
techvibes.com
I am a developer. If I am installing a piece of third party software and it doesn't work, the last thing I am going to do is to dig into the code. It more likely that an environmental variable needs set, or a library is missing. No coding knowledge required to fix these things, but an understanding of how everything fits together is.
(Getting bored of these kind of statements from Obama and the likes).
I used to think like you, I don't anymore. We (Axiom Zen) co-organized the HTML500, Canada's largest free learn-to-code event. In one day, 500 people came together and learned the very basics. The response was overwhelming, check it out for yourself: https://twitter.com/search?q=%23html500
These folks are looking with totally fresh sets of eyes at what you and I take for granted. Learning the basics gives them the same appreciation you and i have for the abstractions that can be built on top.
I agree with the OP. It's important to learn system administration before programming. Know your environment.
Writing markup is fine and will help you understand what's going on when you view page source, but it's hardly the enlightenment you make it out to be.
I really can't understand how anyone who does sysadmin work and any amount of programming can say this.
My mastery of computers grew organically. I started out with "power user" stuff. Namely, tweaking my computing environment (Windows, at the time) to my liking. As I tweaked, I inevitably broke things, which meant I had to learn to fix them. It wasn't long before I realized that being able to fix computers when something goes wrong was a valuable skill, so I developed that skill further.
I had a friend who wrote simple programs in VisualBasic from around the time that Windows 3.1 came out. He wrote a baseball card database application that we both used to catalog our collections. From that, I understood the utility of programming as a means to solve problems that were imporant to me, but I was too consumed with other things. It wasn't until the internet gained popularity that I started to write programs. What I'm getting at is that I was late to the game. I was in to computers for a long time before I had much interest in programming.
My skills as a sysadmin were pretty decent to begin with, but I became a troubleshooting superman as my programming skills developed. It literally changed my entire perspective, and even my methodology, when troubleshooting. I could read a stack trace! I could load up dump files, import symbols, and dig around to find the offending file, which would lead me to a specific application or a device.
Even at a very basic level, learning to program taught me a tremendous amount about how software works. Those insights led me down the correct paths when working as a sysadmin. I began to understand not just what to do, but why.
Should I do the physics version as well?
I am fairly certain that you will use basic addition / multiplication in everyday life without having to be a maths expert, and have it be useful, even essential to you.
Anyway, nice strawman argument you are creating. On you go with the physics one.... (funnily enough I don't find myself using my school pyhsics in everyday life the way I use maths)
I took a couple of basic physics classes well before I went to university. The stuff they teach you is not especially useful. Elastic and inelastic collisions, deceleration from friction, F=ma. It's easy. Learning to model large systems is a lot more difficult, and that requires at least some experience that you aren't going to learn in a beginner's physics class.
I expect there are a lot of people who benefit from the lesson that computers do things in a certain order (I realize that this isn't necessarily true...).
With understanding comes respect. With respect comes the opportunity to have an informed discussion about ex. a project and why it's going wrong. A discussion where you as a developer do not feel like you are speaking to a black hole.
I never understood why so many developers are against this. Overall it's to your benefit.
Many people can understand the basics of civil and mechanical engineering, even aerospace engineering. It can be explained to them, when a walkway collapses [1], that the cause was a too heavy load and improper design/construction.
But try explaining why we can't write a program to efficiently solve every case of some NP-space problem that comes up frequently in an industry. Or why some program has a particular error, and how it's related to a dependency beyond our control. If customers/managers have a basic understanding of the field (which can often be true for other engineering disciplines) because they have a half-way decent mental model of how programs work, things might be much better for us.
[1] http://en.wikipedia.org/wiki/Hyatt_Regency_walkway_collapse
Crappy annalogy. You are ill you go to your doctor, or someone that dropped out of med school after a few weeks - they know the basics?
The real question you should ask yourself is would you rather se a person who had no medical training what so ever or someone who dropped out but get the basics.
Thats the relevant analogy.
spend time talking to your customers before prescribing solutions to their ills - it applies to startups as well as social good projects.
3 classes isn't enough for competence in coding, and much less than 90% get out of the first class.
At Axiom Zen we use tools such as Google Analytics for tracking interactions with our material, GitHub for internal collaboration and project management, and Intercom to connect with our users as well as monitor their use of our products. Without a foundation in coding, it would have taken me much longer to adopt these tools.
Really? At best, when it comes to Git, you're just learning a file system model and basic use of a shell. Assuming you're not using a GUI or GitHub's browser interface, which is likely.
I like people learning to code by their own volition. I don't like vapid fluff.
Learning code even pseudo code will teach you to think about how you solve something, it will allow you to think with the developer and most importantly you will be able to have informed opinions about the development phase.
The world would be a much better place if more people knew about coding, what it is and what it isn't.
Thats at least my experience from working with developers and being able to do some coding without ever calling myself a developer.
Philosophers think we need philosopher-kings; warriors want a warrior-king; and on and on.
Lets let one another be; learn coding if you like, and let my sister continue nursing as she is so very capable of doing.
But you are missing the point here.
Software can simulate most things in this world for that alone its very useful to understand coding. You get way more buck for your money.
I'm not anti-learning. I object to somebody else dictating the set of superficial knowledge I need to learn.
(I was good at science and maths type things, so it was painful to learn as well as me being really bad at it. I failed the exam two years in a row.)
Actually thinking back, being forced to read some books that I was not interested in (chosen by someone else), and write a report about what was great about it probably put me off reading novels for a good few years afterwards. It was a like an enlightenment when someone described a book to me that sounded interesting to me, I read it and enjoyed it (even learned from it).
Each to their own but you seem to be against this for the wrong reasons.
Being an expert at multiple things may require prohibitive time expenditures, but it's quite possible to learn some of each of a wide range of subjects. They aren't mutually exclusive.
There are many types of coders. If you're doing hardcore statistic and magic on your screen, it doesnt mean building a simple website and/or implemente a tracking call to GA (in case of a growth hacker) is any less important.