Do Tech Entrepreneurs Need To Know How To Code?
An anonymous reader writes "Learning to write code has become something of a trendy thing to do. New York City Mayor Michael Bloomberg has said he intends to learn code this year. Estonia has recently announced a scheme with the aim of getting every 6-year-old in the Baltic state to learn programming skills. The demand has spawned a number of start-ups offering coding lessons. General Assembly, which teaches off-line courses, has recently opened up in London and is recruiting ahead of a launch in Berlin. On-line education site Codecademy landed $10 million to expand from its home base in New York. Zach Simms, the 22-year-old co-founder, said in an earlier interview with The Wall Street Journal that not everyone has to learn to code, but everybody 'needs to learn the notions of algorithms, realizing what you can use code for.' But do they?"
No.
Coders are the pillar of our industry. We need more of them. Here, get Visual Studio and start coding today!
Know how to make toasters to make toast?
A 'singular oddity' is an event that cannot be explained and only happens when you are alone.
It's an increasingly vital part of how absolutely everything in the world works. It's the battleground for various political factions (everything from stuxnet to DRM to Anonymous hacks). It increasingly determines what you can and cannot do with the stuff you think you own.
Not knowing anything about programming or how it works is something I consider nearly as bad as illiteracy in our society.
Need a Python, C++, Unix, Linux develop
Do people need to know how to program in C? No. Do they need to know how to think logically? It sure doesn't hurt. But there are other means of teaching formal logic; geometrical proofs are the standard for high school logic. I'm not sure that programming is necessarily the best way to go about it. The kids who have a natural knack for it will gravitate to it, so giving students the option as early as elementary or middle school is probably a fair thing to do. I don't think it should be a mandatory subject, especially at advanced levels.
Occasionally living proof of the Ballmer peak.
Or physics? Or any other tech field where code is a tool rather than a product? To answer the headline question: no.
to be taught to everyone is Morse code. ... --- ...
www.chihuahuarescue.com- Help to end dog abuse, abandonment and cruelty
I think I can generalize this. If you're doing a startup in the tech community, there's often something that's your bread and butter. There's gotta be something that sets you apart from a big guy clone otherwise you're not a startup, you're just another business trying to do business. This bread and butter is often complex otherwise someone else would already be doing this. If you're the leadership on a startup, the less you know about this core element of your startup, the riskier your venture is going to be.
... yeah I've been involved with rule based systems projects where it was pretty clear the people in charge of me didn't know the limitations of rule based systems. Back then, I'd draw out a functional flow block diagram for this system and show them the black box and explain to them why this was going to be trouble.
... but in the end I don't understand the science or the chemistry behind that process, it's probably going to die on the vine. Sure, software is a common misunderstanding for tech startups but it could just as easily be the frequency limits of modern RAM accesses or why a 700 Mhz ARM processor isn't gonna get the job done or how many points a resistive touch display can track at once accurately etc etc.
Coding is a common one because it's powerful. But your startup could just as easily depend on some hardware thing, like, say Fusion IO cards. And if the leaders of the startup don't understand the power and limitations of those cards, then you're in trouble. I think most of the time what I've seen ruin things inside a Fortune 500 company that does R&D that is supposed to mimic startups is that the leaders don't understand statistics and P-values and recall rates. Software is basically complex math so I guess you could say that was their misunderstanding of what software and "algorithms" could do but
If I started up a new drywall startup and claimed I had a new mixture of gypsum and lime pressed between two special kinds of paper done in a certain manner at a certain temperature making it more resistant to moisture, more durable, comparable in price, etc than the crap coming out of China
Basically if you don't understand the core concepts that your startup depends on and offers, you're gonna have a bad time.
My work here is dung.
If they were learning to architect software systems, that might be useful and help them to understand what's possible and what's not.
But learning to code doesn't help them at all, and is more likely to give them a false sense of the complexity of large software systems. He'll say stuff like "Hey, what's so hard about doing this, I can write a function to add this feature in 10 minutes, so go make it happen!", while the engineer is saying "But this is a fundamental change in the data model and means touching nearly our entire code base"
Living in space-time without knowing relativistic physics is absurd.
Of course there are lots of examples of great tech entrepreneurs who can't write a single line of code, so it's obviously it's not a requirement. But I do think it's a practical skill to have, especially in the beginning of your new company when resources are scarce. You can save lots of money and time by being able to whip up your own demo's and prototypes, instead of having to let 3rd party developers create them for you, especially as there tends to be lots of different versions and ideas at the start. And later on it is a great benefit to have a general knowledge of what it is your company offers and the people working for you are doing in your ability to manage your company properly.
Pretty good is actually pretty bad.
..it's all been pattentend by your owners and betters already, now get back to consuming and being the dim grazers you were ment to be, next you'll want to think for yourself and make your own choices. Sheeesh. It's all magic pixy dust and anyone who understands it is either mad or a genius or both, its a super power really, no really. Honest.
If your a CEO of a motorcycle company you should know something about motorcycles If your CEO of a Twinkies factory you should know something about baking.
They need the ability to detect bullshit; what is and is not feasible given a schedule and some amount of talent. They need they ability to weight the value of capabilities and features or the significance of flaws.
Coding, managing systems, etc. is important to the extent that it facilitates these abilities.
TFA does not ask (or answer) "Do Tech Entrepreneurs Need To Know How To Code?" Rather it asks "Do nontechnical entrepreneurs of digital start-ups need to learn code?" (emph. added).
This really depends on which stage of a startup you're at. If you're in the garage building the prototype, yeah, you pretty much need to be R&D, which involves coding. If you're further along in the enterprise, perhaps raising money, perhaps building a team, perhaps concentrating on distribution or manufacturing, then being on the ground floor of R&D is much less important. Many founders turned CEO who started at ground zero developing products are ousted (bringing in an outside CEO or other manage) at later points in the life of their company simply because they are too focused on the minutia of product development and R&D, and haven't actually learned how to run and manage their organization.
Make no mistake, ideas are dime a dozen. Everyone has one, and everyone thinks their idea will make them a million dollars. The reason not everyone is a millionaire is that the conversion between idea and money is dependent much more on execution of the idea than the idea itself. If more entrepreneurs understood this instead of focusing on the product, there would be fewer failure stories to talk about. Now don't get me wrong, a good product is *very* important, but it's still a small part of the larger picture.
Someone creating a digital start-up definitely needs to understand the product or service they're creating, both the fundamentals and the specifics, but that doesn't mean they personally have to be able to build it. There really isn't a need for a company's creator/owner/whatever to be involved at such a level (unless they actually are an expert in such coding), and there are undoubtedly better things they should be doing with their time. And if they aren't already skilled in responsible coding, they definitely shouldn't be messing with things.
When someone says, "Any fool can see
No, but you do need to understand how a toaster heats the bread in order to know what you can do with a toaster and how to set the toaster correctly.
Can people exist in our society without the ability to read? Certainly there is proof of that.
What level of education do we want for our society? Do we draw the line at literacy? Rational thought? Able to change the oil in a car? Fix a cell phone? Fill out a tax return? Write a spreadsheet formula? Implement a C compiler or operating system for a microcontroller?
“Common sense is not so common.” — Voltaire
I teach mechanical engineers. About half the mechanical engineering students do not know anything about code or computers. However they need to use computers daily. Its sad to see many of them doing things manually that a for loop would solve in few seconds.
The end run of this experience is that the tools actually reflect this. The way local companies work is horrible, i mean even indexing the metadata of their 3d Models is a task that they can not solve. Even with millions in cash. Mostly this is due to the fact that since they don't have any understanding of code they can not think about the problem in a way that would make them automatic. As a result they need to pay roughly 15-30% too much for labor. Mainly thsi time ie spent correcting manual mistakes and doing the same thing over again.
Now the thing is you can not hire a coder to solve your problem, if your not willing to change the way you work. Understanding how to do rudimentary coding in form of scripts helps one to see what the coders should do. It helps you to explain the problem and thus get a good solution for you the end user. For fraction of the cost with less bugs. Lets face it coders sure as hell don't know how to design physical objects. So their solutions don't necessarily meet with your needs.
'Coding' is syntax. Learning how to explain how to do something using a specific syntax. I think just about anyone can learn how to do that.
'Coding' is reading a spec and converting it to a specific syntax. I think just about anyone can learn how to do that.
'Programming' is taking a nebulous idea, breaking it down into a series of inter-related processing components, and then coding those processing components. It's being able to recognize if the processes as defined work as desired and if not, figuring out how which components do not work properly and correct them. It requires certain degrees of spatial skills depending on the complexity and number of processes being coded so that their inter-relationships can be understood.
Programming is a far more difficult thing to teach, because it requires someone to be able to develop a process where none already exists, or convert an existing process that is not computer-based, into a series of logical processing components and link them together to produce the desired results. It requires someone to step outside lines where everything is neatly defined and define their own instructions.
When so many people can't even follow directions on how to set the clock on their microwave oven, how the hell does anyone think they can learn to do anything but code what someone else has already written the instructions for.
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
Besides, fewer people that know programming means more job security and less competition for me.
It also means fewer people interested in acquiring tools for programming, which means less competition among tool makers for programmers' dollars and mind share, which ultimately means more expensive tools for people like you who do know programming.
Why?
Most of the Teenagers I know (I have 6 grandkids) are more interested in what inane rubbish their pals are saying about their other friends than how IT Systems work. Lets face it, being a developer is nerdy. I'm a developer and will next week celbrate the 40th anniversary of writing my first program (Fortran on an ICL 1901-A). Now I write software that helps to run Airports.
None of my siblings nor their siblings have shown a slightest bit of interest in 'how it all works'. To be a successful developer you have to (IMHO) have in interest in making things work.
I was brought up building things with Meccano and Lego. Today the children are more interested in Shoot-em-up games (most boys) or What the latest Celeb gossip is than boring stuff like this.
Why don't we just give up trying to make everyone interested in this stuff and concentrate on nurturing the few of them who are clrarly interestnd in this stuff.
We don't need millions of bad developers (we have enough of them already). We need thousands of skilled and motivated ones.
Not everyone needs to know how to code, which I consider a Very Good Thing(tm), for one simple reason...
Most people either can not or will not ever learn to code. I'd say the mode of thinking itself automatically rules out a good third (at least) of the population simply for raw capacity to learn the necessary skills; on top of which, the vast majority of people who could learn to code find it unbearably tedious and boring. Most people see coding as roughly on par with doing their taxes for "fun".
you have no idea how right you are.
This is a little like asking the nation's dairy farmers whether everyone should drink a big glass of milk every day.
Let's look at a successful mega-companies and see what they do: Yahoo. They know to only hire CEO's with Computer Science degrees. To do otherwise might cause disruption and financial losses to their business. They would never hire a CEO without a CS degree and they do a very thorough investigation into whether they might be trying to pretend like they have one. Yes, you need to know how to code.
Adidas To Bring Back Sneakernet
you aren't shit.
I think its important for people to know, because it allows them to understand the opportunities as well as the limitations of software. Working in Finance, its painful seeing how few people understand what opportunities lie within 1 hour's worth of code to simplify their life. Even the number of people who print something out in order to scan it is mind boggling. Its not even about whittling at their headcounts and working hours, its about changing the focus. The job should be about ensuring matches and verifying payments, not scanning and renaming files and manually typing in information that's already on your computer. Mundane work creates mistakes and takes away from what the job is supposed to be.
Then the limitations come into play. When implementing a new system, such outlandish requests without understanding what it will take to accomplish them create rifts and a lot of headbutting. It also helps you understand errors and why things aren't working. "Oh shit, I got an error box, I should call the help desk." Why did it happen, and why doesn't it normally happen? Understanding the way code works allows you to see into the solution in many cases.
So Bill Gates said "in 20 years the books will read themselves to you" and they are today. He also said that the absolute necessity of literacy will be replaced by an absolute necessity of computer literacy.
So who is this guy anyway. He didn't write windows, he managed the folks who had the "talent" to do that. He couldn't do it, so why does his opinion matter.
The computer is the printing press. It has already started its first baby steps in redefining how humans think, remember, communicate and educate. Our economies and economic transactions are computer based. Most engineering is computer based. Our computer assisted engineering makes systems with hundreds of billions of features - today. Modern elevators don't have buttons because computers are better about figure how to get to which floor than humans. Moore's law suggests this stuff is going to be trivial in a decade.
If you don't have the basics then you are the future slave population. People without a DEEP understanding of computers are going to be living the McLife (as in McJob etc...) in 15 years. Raspberry Pi is the LOGO of your generation.
The most successful tech entrepreneurs had significant technical skills. And that absolutely mattered - without those skills, they have no way of evaluating technical employees and applicants. If they weren't in charge of product development themselves, then they at least had to know who they should hire to run product development.
For example: Bill Gates was an extremely effective developer and architect (worth reading is Joel Spolsky writing about a time he met with Bill Gates). Larry and Sergei of Google were well-respected developers doing graduate work at Stanford. Steve Jobs wasn't at good at the technical stuff as Woz was, but he had tinkered with electronics and done technical work for Atari.
Many MBAs of the world would like to think that managers don't need to understand the details of their product line. But that's simply not true - the manager that understands the details will hire better people, make wiser decisions about how to accomplish tasks, and have a more realistic outlook of what the organization can do.
I am officially gone from
Gee, this is just a fabulous idea. Imagine the dotcom days where everyone and their goldfish were jumping on ship to 'code' because the $$$ was flashing in their eyes. What was the result? Massive massive quantities of crap.
Now lets magnify that umteen-fold, because suddenly everyone 'knows' how to program. Yeah, that's a great idea. Lets give everyone an unlimited amount of rope and let the Dunning-Kruger effect do the knot tying...
Peddled soda before becoming CEO of Apple. Everybody thought that his CEO expertise would carry over to any other kind of business. He didn't understand computers and thought he could beat the competition by turning macs into commodity computers and outmarketing the rest of the field. He very nearly put Apple out of business.
Management type calls up - "Hey, I want a widget that does XYZ".
Developer - "No problem, should be able to whip that up in about 4 hours".
Management type - "But I found this free plugin you can use".
Developer - "Free plugin, Great, no problem - should take about 4 hours to implement".
Management type - "4 hours! You're ripping me off! I could do it myself in under 1 hour".
Developer - "Awesome, great, go ahead and get er done, and stop wasting my time"
Management type - "I'll just need you to show me how to...."
Developer - "Why did you call me?"
There is always going to be people that "Get Computers" aka "Developers" and people that "Think they get Computers" aka "Management". I think the problem is that there are a whole lot more managers then there are developers. Management is frustrated that these mystical developers have skills that they lack, and so they start a big rant on how everyone needs to know how to code in an attempt to increase supply of a skill that is in high demand.
So to you management types I say "By all means, I encourage you to take your intro to programming class and compete with me on even ground, but until such time please refrain from insulting my craft."
There is of course this one small detail that management types seem so keen to ignore - We developers have a lifetime of experience.
I imagine it would be a lot easier to teach a programmer how to manage, then to teach a manager how to program. But then, what do I know? I'm just one of those stupid developers.
Computer Science is not IT and some times not even coding as well.
Are you this guy?
I know a guy who started an IT consultancy company about 10 years ago and has made a considerable amount of money from it. He figured if you hire the right people, you don't need to fully understand the technology. You just need to understand the needs of the (potential) customers and make sure the company meets them. The tech guys can work out the details. Now and again he still calls with basic IT questions :)
Code is JUST syntax. Period.
Algorithms are a different matter.
The high level plan and architecture are the most important things to make anything work, Coding is just grunt work. Many many businesses have thrived on that model - so don't immediately slam me. Apple is one of them.
"-1" Indeed.
Ya know, I went through some real intensive CS programs. And never -ever - did languages or IDEs or editors - ever come up. To argue about any of those is like a carpenter arguing who makes the best framing hammer - while the architect says "whatever- just build it" . Although, the Yale school of architecture does have their students actually build their shit - they're swinging hammers, baby!
Just as most "college-bound" high school graduates have a broad awareness of history, literature, and science in addition to specific skills in these and other areas, anyone who wants to be able to appreciate what humanity and the modern world have to offer "needs to learn the notions of algorithms, realizing what you can use code for."
So, no, it's not essential for tech entrepreneurs to know how to code or be able to recognize an algorithm's O() complexity, but they will be better people and better entrepreneurs if they invest some time to learn about algorithms and what is an is not computationally feasible.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Yes. They also need basic math and physics skills. They don't get those either.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
But it sure cuts down on the number of people you need to hire.
A business partner on a recent gig told me that he had a huge number of ideas but he was constrained by the fact that he had to have programmers to execute the ideas, and he had to describe and explain the ideas to the programmers before the ideas could become reality. He was always whining about how long it took to develop stuff and how it should be intuitive so the end users wouldn't need any training.
He tried taking a course in Java programming. It didn't go well. Also, when pressed for details on how to make it more intuitive, he usually came up blank.
We need to be clear on the fact that not everyone's mind works that way. Just like not everyone is cut out to be a graphic designer. My brother-in-law is an excellent graphic designer but he's been trying, unsuccessfully, to wrap his head around SQL. I work with SQL most every day, but my attempts at graphic design stink. It's quite possible that people who have a natural talent for entrepreneurship may not be able to code at anything more than a beginner level.
"So Bill Gates said "in 20 years the books will read themselves to you" and they are today. He also said that the absolute necessity of literacy will be replaced by an absolute necessity of computer literacy. So who is this guy anyway. He didn't write windows, he managed the folks who had the "talent" to do that. He couldn't do it, so why does his opinion matter." - by Anonymous Coward on Thursday September 06, @02:08PM (#41251085)
See here http://www.zdnet.com/blog/murphy/bill-gates-programmer/640
PERTINENT QUOTE/EXCERPT:
"Although Bill Gates is known mostly for his founding of Microsoft he also has done a number of programming jobs before becoming the worlds richest man. Bill Gates first programming job would be when he offered the principle at his high school a timetable organizer that would be more efficient and easier to use than what the principle had previously been using. Little did Gates' principle know that Bill had created the program to his own benefit... Bill was going to be in all the pretty girls classes. Bill's second job was a summer's work programming in which he earned 4200 dollars. At the age of fourteen Bill Gates and his programming buddy thought up the idea for a traffic counting computer which would later be named 'Traf- o-Data' and earn them 20 000 dollars. But when word got around that the computers were being sold out of a basement by a couple of teens the business fell through. Gates also worked as a Congressional Page and at a programming company called 'TRW'. After dropping out of Harvard Gates created the first basic operating language for the computer. Although Gates has programmed a number of programs he is still going strong at it and is programming as I write this."
and, of course, this too:
""'Could Bill Gates Write Code?' Or was he merely the luckiest man alive," before concluding... "Yes He Bloody Could!""
---
* And, there you are...
APK
P.S.=> Small wonder you posted ac, because imo? You were NOT very sure of yourself in your erroneous statement quoted above, obviously... apk
I think that usability and user experience are more important that programming. I think usability and user experience should be taught to everyone at school. It wouldn't require that much hours as it is mostly common sense. And because it is common sense, it would be really easy for people to learn, unlike programming.
Imagine doors that people can open to correct direction without a mistake. Imagine books where the information you seek is easy to found. Imagine ovens that are easy to heat and light switches with 10 buttons where you instantly know which button will start which light. That all is reality, if people had a little knowledge about usability.
Imagine alarm clocks that gently wake you up. Imagine a wheelchair that makes you look cool. Imagine an error message that informs you about your own mistake so politely that it makes you feel good that you made the mistake. All this is possible if people had a little knowledge about user experience.
Imagine if all the programmers would read just a couple of books on this subject. Does Entrepreneurs need to know this stuff? No way. But I'm pretty sure that Jobs did.
Modeling is a skill that's necessary to developers, and even to base coders it doesn't hurt. And it's also useful to entrepreneurs, especially when it comes to modeling flows of information and materials. They can delegate that skill, of course, but it's only a possibility in a large enough structure. To a small to medium company, having some skills in that matter is important. Owners of very small companies often manage to do that intuitively, but it only works to an extent, and can cause problems when they expand.
I sometimes half-jokingly state that if a company grows enough that it can have a second coffee machine, a full audit of the information system should be performed before said coffee machin is installed: it might disrupt informal communications between branches (who often happen around the coffee machine), which calls for a formalisation of communications before proceeding.
To sum up: management students have some courses in common with developers.
There's nothing like $HOME
I'm the AC you replied to. And I do know relativistic physics, I will be speaking at a conference about it next week.
I guess you make money from the clueless computer users who cannot program...
Step 1: Read the question
Step 2: Record current time
Step 3: Think.
Step 4: Re-examine current time.
Step 5: If elapsed time 1.0 seconds, goto Step 3
Step 6: If answer to Step 1 != "yes", Goto Step 1.
Once I had a manager who made decisions without thinking about the software.
Then he made a decision that had a terrible impact. He stipulated conditions that seemed straightforward, but required extensive software modifications
I showed him the plans for new software that was required to meet his requirements. He did not realize that his "simple" changes required extensive modification, and so his changes turned out to be not so "necessary" after all.
Since then he has learned how to code, and now he thinks about the software before he requests changes to policies.
If you want to run a tech business then you need to know the difference between crappy programmers and quality programmers. If you don't know anything about code and what quality code looks like, you could doom your business to failure before you even launch your first product. The longest running product I've got going is 3 years old. The design decisions early on are requiring some massive reworking but the actual business logic of the code is remaining untouched. The code was properly designed to be upgraded to new methodologies without breaking everything. In less than 80 hours the old code will be able to take advantage of new methodologies and we can go full steam ahead with new features.
Plenty of companies don't have that ability because they hire crappy programmers. 3 years down the road, they'll find out the code has to be thrown out entirely because it has turned to unmanageable spaghetti. And the end result is you're out of business.
Work Safe Porn
If you run a software startup and don't know software, you will forever be making errors of judgement due to your lack of that understanding.
You can't hire people effectively. You can't manage projects effectively. You can't call BS when your engineers tell you it will be done impossibly soon, or isn't possible. You can't *judge*.
I do tech startup consulting, and a fair bit of my work is helping non-tech founders hire, manage, and analyze. It's crucial to have this ability on your founding team if you're a software startup. That MBA is not enough.
Looking for a Rails developer in Chapel Hill?
It helps to be able to tell the difference between a claw hammer and a screwdriver. Yes, you can hammer with a screwdriver, but it's so sub-optimal that it's not even funny. Heck, if you are careful with the claw end and you have all day and enjoy torturing yourself, you might even be able to use it as a screwdriver.
Similarly, it helps to know that a special-purpose language optimized for a particular type of problem is frequently superior to a general-purpose language for the task it was designed for, even if on a theoretical level both languages are general-purpose languages and either one can be used to implement any algorithm that the other one can. It's also very important to know that using the special-purpose language for other tasks is very likely to be very inefficient in some way or other.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I dunno, I have been fixing computers and building networks for more than twenty years, and I couldn't code my way out of a paper bag. I do know how code works, and why it works though. Does it help me on the job? I don't really think so. I know how an OS works, how a network works, how a computer works, and what common, as well as uncommon problems they have. I do have a good knowledge of logic, physics, electronics, and mathematics, too. Did I mention that I am a high school drop out? I guess some of us just have a knack for learning things that interest us, on our own. I think that wanting to know about what makes things tick, and having a passion about it, will lead one down the path to learn how they do, on their own, with or without coding. Yeah, I could write a simple batch file back in the DOS days, and I had a simple website up with basic html, but I really don't consider that programming by today's standards. Besides, I was lousy at it. But I can build you a network, troubleshoot a PC/network, fix a laser printer, and such. I guess that's just my "style." I think my point is that there are two types of technophiles, hardware people and software people, and they have to get along in order to make the whole thing work.
OK, I'm done with my babbling, go ahead.
When I was in grade school, I remember our computer lab had some Apple IIe's, and we learned and played with Logo. If anyone remembers, it's where you can draw by typing commands at a prompt to tell the turtle how to move. I was in the second grade at the time. But I think 6 years old is a bit too young to learn "real" programming, But Logo, or something logo-like may be the way to go to introduce programming to children and it makes it fun to draw some pictures.
A few commands are FD, forward; BK, backup; RT, right turn; LT, left turn. Then you have more programmatic commands like REPEAT to write loops.
"Jurassic Park"
Remember the fat know-it-all geek coder in that film?
Mod dkleinsc up folks - since he truly "hit the nail on the head" here!
* Personally, I don't have a lot of "faith" in MBA's as I have had to work with many AND correct their work (mainly in math).
See - I helped my brother get his during some of his studies & he was amazed that I still knew what came out of my 1st degree, B.S. Business Administration with MIS concentration!
So - when it came time for my brother to do his job (he is a Bronze Star decorated Major/Field Grade Officer who works inside the "military industrial complex")?
He asked me "what to do?"
I told him:
"Your experience is leading men, that's a GOOD start, but... you need to learn EVERY POSSIBLE DETAIL OF WHAT YOUR MEN DO, and be able to do it as well as they can or try to"
That way, he gets their respect which IS CRUCIAL @ FIRST, @ least imo!
AND
Since he did what I advised by spending months with each of his men?
He was able to run an assembly line in a plant during a strike himself, & now? He's the plant manager...
(Says a LOT, right there...).
APK
P.S.=> Especially about mgt. that can code, being able to understand the nature of what is needed, AND, because of that being able to hire the right folks for the job as well as the possibilities of the task @ hand as well - too bad a good 90% of them are NOT that type of mgt. though (& it often shows)...
Very good post!
... apk
Does an *tech* entrepreneur need to know code? Well, inherently yes, they would be developing the tech first (next new web site, or app, or whatever) THEN have the money start pouring in. Or not.
Does an entrepreneur who just happens to be involved in tech need to know how to code? Nope, these general-purpose entrepreneurs tend to be an idea man who comes up with some idea, then has the right personality to collect people around him that know how to get this idea turned into a business. They should know something about algorithms so they don't have unreasonable expectations, like thinking their team can implement a proven impossible algorithm if the programmers are given enough motivation, or ditto for a very difficult algorithm in a very short length of time, or thinking if they optimize things enough they could run a real-time full-scale weather model on the cell phone or whatever. But probably in this case the entrepreneur would be best not getting directly involved in the coding.
I'm sure Zach Simms was talking about them when he said 'Not everybody needs to learn how to code'.
Not everybody CAN learn how to code, more like...
Let me see... white people are around TWELVE PERCENT of the world's population. Blacks are around FIFTEEN PERCENT.
How many black programmers are there on the Earth, and how many white?
And if you've checked his plan at any length, after giving the wealthy a $6.5 billion that leaves a gaping $4 Billion deficit. You might also want to mention the elimination of the social safety net, putting Medicare recipients on a voucher program, eliminating the investment of government monies on education in general and carving Social Security back far enough to make sure baby boomers will need to live in packs to afford their dog food. His own Catholic Church said that his plans are "Unchristian" serving only the wealthy and viciously attacking the poor, homeless, and disenfranchised.
Don't get me wrong, I believe that folks on welfare could be put to good use, working to rebuild the American Infrastructure, seems only fair that if you're going to receive support that you earn that support by helping the nation grow and thrive. Call it a something for something program. I just don't believe that the guy with 12 homes and elevators in his 200 car garage, needs the government subsidy worse than the poor bastard in the rust belt with two kids whose only crime is his town's industry (owned by the clown with 12 cars) moved to China.
I graduated with first class honours in 1997 in EE engineering. I found once I got into the design side of things (IRL work) that whilst you could put someone else's HW/SW in front of me and I could work it out down to the bare metal, asking me to build the same from a spec was a different matter - I quickly realised I just don't have the mindset. I did however find I did very well at evangelising technology, and it has served me well to date in several sales and marketing roles since. Now I know S&M is a dirty phrase on /. (for many reasons) but the fact of the matter is engineers would have no jobs if there was no-one to market their hard work, but there would be no need for marketing if there were no talented engineers (and I have known and respected many - by the way there are some shit engineers out there on a par with the shit 'marketdroids', as we are known). The fact of the matter is that there are shades of skill in tech, and after all is taken into account we all rely on each other. One thing I have noticed is the 'playboy' CEO's who only give a fuck where their next yacht is coming from. Those people need weeding out, but as they say, shit always floats.
Compilers are way too rude for the self-entitled crowd that set trends like this
if soda_ounces > 16 then Buyer.Terminate_Sale else Buyer.Allow_Sale
// Here, I fixed that code.
// It originally was Buyer.Terminate which led to several unfortunate incidents.
But first, they should learn about wafer processing and photolithography. And eventually make their way up to programming. If you don't even know how to design a phase detector and voltage controlled oscillator for a simple PLL, you aren't shit.
Maybe having everyone learn C or Java is a bit of a stretch. But one language that I think everyone (who works in an office setting) should learn is SQL, and maybe some analysis package like Matlab or R (but Excel is probably enough). It's amazing how much knowledge you can get about a business by analyzing even a small internal database.
Today, managers don't want to learn how to manipulate data, and programmers don't want to understand the business that they're in. Most managers and programmers are unable to quickly explore a database and search for useful information.
Not knowing how to manipulate data is like not knowing how to manipulate numbers. Sure, people can "get by" without an understanding of math or stats, but it is an incredibly useful skill and not many people have it.
Having worked in various stages with startups, as a consultant to startups, and currently a part of a successful startup, I can say it is very important at the beginning for all the founders to have useful skills. Generally, these skills will vary depending on the kind of tech startup, but assuming it is your typical tech software/internet startup, useful skills are the ability to code and/or to do graphics/graphic design/front-end work. An IT guy could also contribute if those skills are highly relevant to the tech being developed and there is considerable amounts of long-term server management and networking work.
The problems with non-technical people is that they generally are "idea" people. They claim that their "marketing" and "business" skills are even more important. While it is true that marketing and the ability to make sales in particular are important, early-on, developing prototypes and building things is far more important if you want funding and to get things actually finished. The reality is that anyone who thinks they can be mildly successful with a startup needs the business skills in addition to tech skills, so someone without any significant tech skills is useless.
Too often non-technical these people manifests themselves as "idea" people. Their ideas are usually far from brilliant because they rarely understand what's already been done, how to do it better if it has, what are the limitations, how to limit budget and scope, and what is involved with actually building something technical. I remember for instance working with a group of 4 people on a startup as the only technical person. We had a guy with a lot of corporate sales experience, an IT admin, a lawyer who formerly worked 1 low-level software job, and me. The other guys all claimed to add something, but basically they were all "idea" guys and brought me in late to actually do the work. Unfortunately none of them had any grasp of what needed to be done, whether it was actually building something, requirements, and even what makes money. You'd think at least one of them would have some idea, but no. I eventually decided the money they were paying me wasn't worth the pain of listening to their stupidity and poor ideas. I've seen this pattern again and again with colleagues who have gone in other startups and with general horror and failure stories I've come across.
Simply put, everyone has ideas, and most aren't any good. It's even harder to have a good idea and refine it enough to make it work. Sometimes it's actually better to have a bad and/or unoriginal idea, but a good idea about how to take advantage of stupid people if your only focus is making money (I'd say Facebook somewhat falls into this). As this implies, sometimes more money is to be made just making existing things better than trying to be "brilliant."
It's funny that I have a hard time explaining to people that useful things like "cool" iPhone apps don't make money. Things that can generate revenue make money. Sounds obvious and redundant, but it's true. If you don't have an obvious way that any normal person can understand for making money, it's probably a bad idea unless your goal and skills allow you to get enough investment to sell your tech to some sucker or a big giant who wants to poach it (Google, MS, Facebook, Apple, etc). It's sad, but it makes many great ideas nearly impossible unless you already have money to burn and/or lots of rich friends who will hand you money to burn. Instead, we're left with non-innovative bs because someone can make ad revenue or sell personal data from it.
There are many more reasons non-tech people are often terrible partners early in the game. The major point is if you want to be successful, I believe you need at least 50% of the members of your team to be both technically capable and entrepreneurial.
Pointers are a natural result of how the vast majority of machine languages work. Your first express disgust in pointers, but them immediately follow up with a suggestion to learn assembly language. A virtual machine offers no advantages or safety to the user over an emulated or real machine, the extra complexity introduces in JVM, LLVM or Parrot is not really appropriate for beginners. And MMIX is such a contrived and abstract platform that I don't think a student would find much value in it, beyond evaluating algorithms in ACP.
Starting by writing hand-coded non-optimized subset of x86 assembly or AVR RISC teaches a lot and has some immediately practical application. Also, I would recommend "Assembly Language Step-by-Step: Programming with Linux by Jeff Duntemann" as a better introduction than most for a budding programmer, and does not require any knowledge of C.
In my opinion you should just immediately into C, if you have interest in doing so. You learn by doing. If you're end goal is to learn C, then I would recommend against lingering at some intermediate language for too long. If your interest is instead in Python or JavaScript, then obviously do those first, and maybe never tackle C. I think C is a relatively simple language and sometimes I question the perception that it is difficult. But I will admit that C does force a student to practice troubleshooting and debugging skills.
The spending two years learning Latin is not the best way to learn Italian. It will generally discourage the student when diving straight in might have a bigger immediate impact. Once someone gains some experience and understanding, then they should dig further into the foundations of the topic and fill in the gaps. (hey look, a metaphor and an analogy. like a one-two punch)
I think the OP's point was should programming be filed as a "need" in education? Rather than giving us an opportunity to burrow in on possible irrelevant details.
Or at least have the experience even if only to fail miserably at it. There's no faster remedy to delusions of the "A" for effort, "you did your best, that's what counts" crowd than to have your compiler parade your incompetence across your screen. No better wake up to the dreamers of realities that do not exist than application crashes and catastrophic data loss.
Two of my imaginary friends reproduced once
If you plan to sell an Item with embed software, IMHO, you had best know at least how to read that code. That's not programing, but when there is a depute that you need to get involved in over some code issue You Had better know what is going on.
I do have mod points, and would have given you an off topic mark, but I do agree that people need logic. And I do agree that Coding is Logical Thinking. You do not need to program in 'C', but it is not a bad place to start. Logo (turtle) might be more fun. My last boss thought a few lines in a spread sheet was his clam to fame in coding. But I say no, he lacked basic logic skills to boot. I got the #*!! out of there, I am retired now.
Some where in this thread someone asked how much of society needs logic. I would hope all of the voting population has good logic skills. Also voters need a good science background so they can see throw the smoke and mirrors the people that would run a muck just to make a dollar.
(And I *don't* count Bill Gates as an example. He was definitely an entrepreneur, but to me it appears that he skill as a developer is all PR and "theft". [I'm willing to concede that I have no evidence that he actually broke any laws. So theft is in quotes.])
Bill Gates himself wrote several pretty succesful BASIC interpreters (among them the one in C64). Also he did a lot of code reviews, and was respected for his technical insights while being the CEO of the early Microsoft.
The big boys don't need to know but they need people who do know to advise them. Sometimes being too familiar with the subject matter can make people sympathetic which doesn't help at the under echelons. I work in engineering and not many engineers make it to the top in our industry.
What the fuck planet are you living on.
Earth.
The tools are free.
For some platforms, as of 2012. For other platforms, Apple (iOS) and Microsoft (Xbox 360 and Windows Phone) charge $99 per year to run code that you wrote on a device that you own. The fear of post-PC alarmists is that all computing devices sold for home use will start to work that way because the vast majority of people have no need to write their own programs; to them, the "walled garden" is a desirable security measure. In the alarmists' view, general-purpose computers will be for businesses alone.
No you don't need to know how to code. You just hire people who do and then lead them to the end result that you want.
Some knowledge of coding is of course desirable, but you certainly don't need to know how to code, and it could in fact slow an entrepreneur down and cost them money if they tried to learn how to.
They need to have an idea, then aggressively get it to market. Do the finances and the marketing properly, not get bogged down in coding.
Car analogy: You might have an idea for a new kind of engine, but that doesn't mean you have to do all the casting and grinding and fitting and turning yourself. Hire technical laborers (software coders) to do it for you.
Make sure those assholes don't steal your idea, or give it away for free on the internet. they tend to do that.
...I have had during my entrepreneurship has been my ability to program.
I have two bouldering gyms and my background as a programmer has helped me a lot.
Coding has taught me logical thinking, ability to optimize processes and a way to think every task as something that could be made easier, better, faster etc. I'm not afraid to tinker with new gadgets and technologies to make things even better.
I also chose to make my own POS, small ERP, door entry system, web shop and so on. And I have an easy system which employees can and will use. Which in turn talks to the accounting firms systems (who do our accounting, sales ledger etc.)
For a couple of years it was a mess, but now that the system is matured a bit, I wouldn't go back.
After the computer is available, the necessary software tools can mostly be had for free or a very nominal fee.
That's the problem: I imagine that a lot of high school students trying to teach themselves programming can't necessarily afford "a very nominal fee" of $99 per year out of their allowance.
I just KNOW I "silenced my critics", undeniably...
* Thus, I'll "chalk that up" as yet another 'victory' over my naysayers...
(Rather easily, as-is-per-my-usual vs. trolls on /.!)
APK
P.S.=> It never changes, but as QUEEN & the late/great Freddy Mercury said? "The SHOW MUST GO ON":
http://www.youtube.com/watch?v=Zqct2SGoDE0&feature=related
... apk
Apparently so - since I see SO much of what I feel's a false sense of "superiority" around here from geeks/nerds (mostly just TECHIES, the mere 'users' of the hard work of others no less) trying to "play things off" that way... other types of folks know DIFFERENT things of equal & possibly SUPERIOR value in different conditions, that's all!
See, imo @ least (and yes, I've done what I've noted above & probably while most of you were in diapers in this art & science of computing)?
* Until you've actually CREATED something USEFUL yourselves, that others find useful for their benefit in computing? Those of you that feel that way, and there is a TON of it here on /.?? You're full of "hot air" & delusions... nothing more.
(ANYONE can learn to do it... anyone: It doesn't take some "special person" either, just hard work + dedication!)
APK
P.S.=> Hard work & dedication I am finding that MOST of the folks in computing just DO NOT POSSESS, nor the impetus & self-motivation to do so!
(I don't feel/think it's a lack of skills or anything else either - just motivation & fear of it... I mean, since once you know the OS + networking TCP/IP & it's mechanics @ a user level, the next "logical progression" in the field of computing then ought to be coding, imo @ least!)
However - many if NOT MOST, never get there, & are only "inches away" but hold themselves down/back from that level, the final one (where YOU CREATE THE TOOLS, not just use them)...
... apk