Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I remember when VBA came out in MS Office.

Now your average tech savvy office drone could morph their excel spreadsheets into a full blown application capable of processing business data without having to jump through any of the traditional hoops the evil IT department normally demands.

And we ended up with a ton of buggy, dangerous "mission critical" piles of garbage because they were "designed" and built by non-programmers.

Software programming is a discipline on the order of engineering and it will continue to get more complicated and require more and more education going forward. So no, not everyone should learn to "code".

We should be encouraging people to THINK like a coder - to approach problems in a way to identifies root causes and starts coming up with proper solutions.

I'm not in the valley so may it's vastly different down there, but outside (in Canada) tech is still considered a very specialized field, software development especially. It is not considered as simple as basic household skills like plumbing, cooking and building a deck. I would not expect my lawyer to 1) know how to code or, 2) code in a professional and useful manner.



I still think those «buggy, dangerous "mission critical" piles of garbage» are valuable.

If there was no VBA, the jobs these scripts were created for would still be done manually, with a mouse, by some secretary somewhere. "Getting a professional to do it" would never enter into the picture when you're talking about a BigCorp with a conservative, limited-budget IT department.


During my internship at a manufacturing company, I knew enough about VBA to record a macro in Excel (just record, no actual coding involved) to automate ~10 minutes of work I had to complete monthly and included step-by-step instructions for how to run the macro and what the macro did.

When I came back a year later after graduating, I learned the process was again being done manually because my replacement did not have even a basic understanding of how to interpret what a macro does from the script.

A few months ago, I automated ~6 hours of monthly Excel work through ~4 hours of trial and error of recording macros and manually editing them. I have zero training in coding other than osmosis from my brother who is an iOS programmer, but I wasn't afraid to screw up enough to figure it out.

Based on my first experience, unless my eventual replacement has at least a curiosity about how macros work I wouldn't trust them to effectively run my script over the long term--if anything breaks, they won't be able to fix it.

The point is, a lack of basic, basic understanding of coding could end up costing the company the 75+ hours/year I was able to save with a "buggy, dangerous...pile of garbage" when I either move to a new role or leave. This was something which would never have been a high enough priority for our coders to write for us. Multiply that through 25 people in our finance department, and you're talking about needing an additional full-time employee.

Can anyone recommend a good place to learn enough VBA to move past the buggy and dangerous stage?


You hit on an important point: curiosity. Most of the best programmers are deeply curious, and I don't think that can be taught, though I do believe it can be cultivated from an early age.

On the other hand, showing people how to safely experiment in ways they can be sure won't screw things up may be very empowering and allow them to express their creative drive.


I kind of agree with you. I think everyone is inherently curious right until the point when a smart-ass parent says "Because I said so, and now shut up and don't ask questions."

My parents did not do that. Even today, they pride themselves on the fact that when I used to asked them a "What would happen if..." question, they'd be like "Why don't you try it out". Sure I may/may not have got myself in a sticky situation, but the point is they didn't shut me down. Also, if I ever broke something (which was fixable) my dad would actually open that damn thing and fix it during the weekends, talking and explaining to me what the things inside do. Sure I may be only 7-8 or even 10-11 but hey that adds more to my curiosity.

At their angriest, my parents have assessed the situation to check if it's fixable by a human at my age/capacity and given me a stern "fix it" look. Boom, that was a blessing in disguise as well because now I'd be all like "Shit, how DOES this work".

[Note: I'm neither married/not have kids...yet]

The problem that I've seen with others/their parents/their children is that they get annoyed quite quickly. And when you shut down a 5 year old, you can clearly see the pained expression on his face.

They simply lose interest in everything and end up becoming drones. And they're afraid of doing anything new because they worry if they screw it up, their parent will come home and beat them up.


Very few people look at a medical problem and decide to "hack it" themselves without seeking treatment from a Medical Professional. Neither to many people seek legal solutions without the aid of a Professional Lawyer.

Software development is a highly skilled discipline. Sure, you can teach your accountant to code fizz buzz - but what use is that to them? Are they going to spend the thousands upon thousands of hours to become proficient in development before realizing it would be cheaper just to hire it out?

Again, focus on teaching a coder point of view - a way of thinking.


Shit code will come from non-coders at the same rate as from coders. The reason that your buggy and dangerous missions critical piles of application (that eventually DID something useful for whoever used that) is garbage is because the people who coded didn't know a single thing about coding, and simply dived into it trying to achieve something they needed, and it worked [up to a point].

That's the whole point of this, learning to code gives you the option to make something you otherwise would consider magic.

You say you do not expect your lawyer to learn to code, but do you expect him to have basic mathematical tools to be able to have a conversation with him about stocks and options and percentages, right? Well, in the not so distant future these simple mathematical tools that we learn early on in life will be incorporated with basic programming tools.

No, lawyers still won't be able to code a Facebook from scratch, but they will be able to code basic HTML template for legal documents, and generate simple reports when they need to. Obviously they'll have secretaries and code monkeys that will do their bidding for money, as always, but they will still know the basic principles of software development, unlike today that most non-technical people consider software as black magic.


It's the "knows enough to be dangerous" problem.

It applies to a lot of professions. We see it applied to the legal profession all the time here on HN.

No lawyer likes to find out that the Accounting Dept. has been drafting contracts, any more than an IT person likes to discover that the CPAs have developed a pseudo-enterprise accounting "system" in Microsoft Access.

But I think there is a middle ground: It's not practical to consult a lawyer for every click-through agreement you encounter on the web, just like it's not practical to launch an enterprise IT project every time you need to automate some tasks in a spreadsheet. Some basic skills in these areas are good to have. Just know your limits...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: