|
I happen to be a self taught person, but I have had the good fortune to work for companies that have let me explore not only technology, but also business operations, from people who really understood what they were doing.
As I've gone through my career, I had started working for larger and larger companies and observed that the largest companies tend to employ very few people that understand how business and technology work, and especially how they work together.
I tend to believe that we have too many people getting into technology and/or business without the proper aptitude. People seem to think that just anyone can get into tech, but it's much more nuanced than that.
I think that CS education still has its place, but not like it used to. People still need to know theory because we still need to more computing technology forward. What is missing is an education track for business developers. CS graduates shouldn't want to make an application, they should want to make the next operating system to run it. They shouldn't want to make a web page or web application, they should be wanting to write the actual web server. There should be a business software track that focuses on line of business application development, since that's the majority of what businesses are looking for. People who understand the general technology and put it to use for business purposes.
Whether we like it or not, the majority of software that needs written is for accounting or business operations, not the "next big thing." It's our job as developers to make the business more efficient and to give value. It's like the difference between a doctor and a nurse, or an accounting and a bookkeeper. Both are needed, but in different quantities and for different things.
|
|
|
|
|
I have a MS, I graduated 4-5 years ago. The MS was pretty much useless almost nothing I learned there transferred in to the real world other than the extra experience I got writing programs for my professor and some web design that went with it. However a lot of the people who I took classes with did take a lot into their jobs but they were already working at a lab and being paid to get their MS. They were already doing research for work and just transferred that to be their thesis.
However doing my undergraduate work I feel was very useful, I learned how to learn to program in any language. They taught us Python C C++ and Java which gave us a pretty good base to start from but they focused on the design of programs instead of the languages themselves.
|
|
|
|
|
College is an institutionalized apprenticeship. The system was adopted because not every tradesman has an ability to pass skills to an apprentice, and if the apprentice has chosen a bad master, his life is doomed to failure. By institutionalizing the process, colleges gain reputations for how well their faculty pass skills to students, thus the apprentice can choose a college that has some proficiency in what he wishes to do. Sadly, other factors contribute to a good reputation where such may not be deserved: research by faculty (which in no way reflects teaching ability), size, and, of course, athletics.
I do tend to believe colleges also provide an overall perspective for students. A respect for other disciplines, perhaps especially the arts, are a necessary part of college life. This "renaissance" way of thinking creates a more respectful and tolerant individual who knows there is much more to life than coding twelve hours a day then going home and either coding for pleasure or playing video games for numbing one's mind.
It is perhaps odd that a man with a Bachelors in Mathematics, Computer Science and Physics, followed up with a Masters in Computer Science, would have such a high opinion of the arts; however, I have found that history is mostly cyclical, and that science moves us forward while creating other problems that must be further solved by more science. The arts provide us with a different perspective to occasionally break that cycle.
Do I believe in college? I proudly sent my sons off to college. Their choices differed from my choice at that age: they have different interests, so I didn't push my school on them as some parents do. Expensive? Oh, oh, yeah. Will it give them advantages when going to get jobs? Maybe, but probably not: they did not attend Ivy League or top ten universities. Do I believe it was worth it? Absolutely; I can see it every time they solve any situation of their lives. Given all of that, would I do it again? In a heartbeat!
|
|
|
|
|
Getting a degree usually serves at least one of the following:
1 - Satisfy HR folks who have no idea what qualifications are involved, and would not understand them if you tried to explain.
2 - Serves as an indicator (of questionable efficacy) of basic knowledge and sticking to a task to the end.
3 - Is a great way to gain knowledge and experience IFF the student actively seeks to gain knowledge and experience. Just getting by to get a degree is not a way to gain knowledge and (useful) experience.
4 - Offset initial cultural impressions. **
** With my Southern (US) upbringing and accent, the assumption in engineering is usually that I would not be smart enough, and any accomplishments I had in the past (such as graduating Naval Nuclear Power School, qualified to operate nuclear power plants) were either accidents or lies. So, I took the Mensa test and joined Mensa and Intertel, then finished my BS degree and got my MBA. Those little milestones, believe it or not, make a difference when offsetting the impression of my accent and upbringing. Go figure.
|
|
|
|
|
I think the degree is absolutely worth it. From my point of view, the specific information will rapidly become useless much as the carburetor knowledge, but the base knowledge what does it do, how does it function, how to troubleshoot it, how to dismantle it still remains relevant permanently. There are certain things you get from an education that you simply can't get anywhere else.
The largest problem I run into on the job is that many, many, people I work with simply cannot reason out how to fix a problem. I learned how to troubleshoot in school when I was about 10, learned to apply it to cars at 15, learned to apply it electronics in my 20's, learned to use it on tanks in the military in my mid 20's, and finally applied it to computers and software in my 30's. The steps are all the same just the thing you are working on is different. If everybody could learn that the world would be better. What I already knew was reinforced in my computer science courses. Many of the much younger students were just learning it. That is just one example.
I currently can program in about a dozen languages proficiently. I have forgotten how to program in at least 4 simply because I don't use them and would have to relearn them. I was only taught 2 languages in school, but because my education worked through the basics and taught me how to read them, I learned I just applied that to a new language and I could learn it in just a few days. Without that, I would have to struggle for much longer.
The reality is there are just basic fundamentals that you get in school that you can learn on the job but school, if you push it, can be done in 3 and a half or four years. If you try to learn everything on the job it will take at least twice that. I have known a lot of developers that are self taught that can program extremely well but if you have them say design a database, they botch it horribly because they never learned database principles. With all of that being said, if I had to take a programmer fresh out of school with a masters degree, roughly six years, or a self taught programmer with six years of experience, I would have to really think about it. There is a lot to be said for experience. If I had to take a new developer out of school or a developer who is going to coding boot camps and trying to teach himself, I would go with the new graduate. They come with basic fundamentals and can learn faster in my belief.
As for the debt, the boredom and all of the arguments against school. Stop already, that is just stupid. There was study done about 10 years ago, I wish I could find the link, but it should be locatable still, that compared the lifetime earnings of people without degrees, people with a bachelor's, masters and doctorates. People without a degree compared to people with a bachelors show that, regardless of field or occupation, the person with a bachelor's earned one million more dollars over a lifetime, on average, than people with no degree. So even if school costs 200,000 dollars that is still an overall earning of 800,000 more than a person without a degree. People need to stop making excuses about being lazy and get a degree. They need to choose carefully to make sure there are jobs and they can work, but still they need to go to school.
|
|
|
|
|
It depends on the direction the student wants to take. If she just wants to be a programmer, then some kind of schooling, maybe a two-year community college or vocational school with courses that teach the basics, the theory behind programming and databases, etc., followed by an apprentice system, makes the most sense. There's too much theory needed for an apprenticeship, but no school can teach what you really do on the job for that to suffice.
If she wants to teach or do research in computer science, then keep the BS, MS and PhD tracks. It seems to me that a PhD is overkill for just a programming job.
If you think 'goto' is evil, try writing an Assembly program without JMP.
|
|
|
|
|
I too have a BMath(CompSci) from the late 70's, and I disagree: what I learned then seems to be reinvented (slightly worse) about every 15-20 years thereafter. I got: a solid exposure to algorithms and how to find/make more; widely different programming tools (APL, Prolog, Pop2, C, ...); interface design aimed at function, consistency and an ability for the USER to automate --- rather than animations, complex menus, endless repetitive mouse-clicks, and making this year's super PC's too slow for next year's software, by design. I *really* value having had courses from people who were bona fide researchers.
I agree, American students are being exploited through impossible tuition, and declining instruction --- contract lecturers whose only job is to lecture and grade. But it wasn't like that, not long ago; and doesn't have to be.
|
|
|
|
|
|
My views:
Unless it has changed much in the last 10 years since when I went to uni. University Computer Science courses are Academic in nature.
4 week - 12 week code courses that appear to have sprung up in the last decade have a more focus to getting people business ready. Recently sat in on a talk from Code Nation which explained they have "Junior Software developers" not "students" and they have to complete time sheets as the likely hood a number of them will go into contract/agency work which will require that.
That so far is not to say University degrees offer something. For me, the basic ground work of maths, algorithms, hardware, history of the field, I think will allow for a greenfield development area versus coding as a job.
What I mean by this is look at Car Machanic:
Apprentice root: learn in 6 months how to be a car machanic, get a job at a car repairs place, diagnose issues you have not seen before and fix the issue.
University root: learn engineering, what a combustion engine is, other types of engines, how to build from scratch, metallurgy. Then get a job a one of the top 10 car companies design and building the next model.
The difference there - getting a "day job" (hopefully you like it as well) vs a
back to Computer Science/Software Development/Engineering:
India invested heavily on coders. Look at what companies have the most software developers, multiple Indian companies, more then Google/Facebook/Microsoft.
Similar issue with USA wanting to being factory work back state side. Lack of mid-level workers. To many over educated - degree required posting.
The job shortage in the west: I think more on the Coding side not development. These code schools will fill that market. But business needs to realise the University grads will not fill it, so asking for a degree is not helpful.
|
|
|
|
|
Ternary operators as if they were on sale, variables named as if each keystroke deduced money from paycheck, logic packed deeply inside the graphic, a handful of comments every thousand of lines of code.
Why did it have to happen to me? Why? WHY???!!??
GCS d-- s-/++ a- C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
I heard that the goto command was your go to command!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
den2k88 wrote: variables named as if each keystroke deduced money from paycheck Keystrokes that can deduce something. Who would have thought that? But yes, debugging even simple AI can be a pain.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Because you wrote it?
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
If you go to a goto does that make a goto a go to goto?
I may not be that good looking, or athletic, or funny, or talented, or smart
I forgot where I was going with this but I do know I love bacon!
|
|
|
|
|
Nurse! He's out of bed again
if (Object.DividedByZero == true) { Universe.Implode(); }
|
|
|
|
|
Where did I put those meds?
I may not be that good looking, or athletic, or funny, or talented, or smart
I forgot where I was going with this but I do know I love bacon!
|
|
|
|
|
|
"It could be worse, it could be raining".
|
|
|
|
|
Hogwarts has a new horse, called Harry Trotter – he's a hoof-blood prince.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
And you are Dumb-ledore?
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
modified 22-Oct-18 11:12am.
|
|
|
|
|
Get your coat. I'll show you the Griffindor.
|
|
|
|
|
He'll be slytherin out the door in a few minutes, fang you very much!
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
|
|
|
|
|
He butter beer on his best behavior.
|
|
|
|
|
...and a new Hearse. It's what the Death-Eaters use to go for lunch.
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
The mane response is saddled with that nagging Potter Prattle. The post could also be understud in a more equine vein, reining in the mindset. I hope this reply spurs more variety.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|