Do you need a degree to be a coder?
techcitynews.com
techcitynews.com
This is false. John Carmack, for example, has made significant contributions in terms of real-time systems and algorithm analysis. Others without degrees have done the same in other fields. Even the chief data scientist of the data science-focused Kaggle came from a non-traditional background. An education is a must. Schooling isn't.
Of course, I learnt about lots of other stuff as well, but, if you want to learn something, you can just as well start doing it and learning about it yourself.
Whether or not dropping out is a good idea is the real tired argument here, and does not even relate to the parent's comment. Google has studied this and released a recent report about the matter (I do not have the link handy anymore, but it was posted to HN at the time). They found that there is no relationship between educational attainment and ability/performance. The case is closed, at least until someone invalidates their study.
Given that, whether dropping out of/not attending a post-secondary institution is a good or bad idea is really a personal matter, and is highly dependant on the individual and that individual's particular situation. It might be important for you, personally, to get a degree, but projecting that onto anyone else is pointless as nobody else is in the same situation as you.
Studies don't prove anything, it's so difficult to show causation with the methodology of a study that very few of them even attempt it. The best you can get is a strong correlation.
http://metro.co.uk/2013/07/10/the-apprentice-candidate-jorda...
It's not completely ad-hom as he has no ability in coding-- either through degree or self learning (he teamed up with a coding founder for his idea, was clearly not technical).. which is somewhat relevant for this advert. Was this his idea on the Apprentice (12 week coding course) or did that fail? All the references I can find just mention the mess around it, not the actual business idea.
What you call yourself has an impact on how people assess your skills (I know it shouldn't matter but it does).
If someone is called a software engineer that brings to mind a conscientious programmer who writes clear maintainable code that meets the spec however when someone is called a coder I visualise someone who vomits PHP into an editor intermingled with HTML and CSS in a form of code injection bingo.
I bet not many people have the guts to call themselves mechanical engineers just because they know how to fix the break pump of a car, for example.
Just having a software engineering degree alone should not really make you an engineer, in this respect, any more than someone who has studied software development practices through other means.
In software engineering this is even more blurry, for example my school offered both computer science as software engineering degrees. However in practise the only difference was that the software engineering track had a mandatory module on UML.
At least here in Norway 'Engineer' is not a protected title (but Civil Engineer is), so anyone could just call themselves an engineer.
But unless you have tons of experience and can prove you know the required things then I doubt you will be getting a job as a Construction Engineer or something like that without a degree.
In IT I doubt anyone cares as long as you prove yourself capable.
In places which more rigorously enforce titles it is usually down to a professional body to set requirements, though even then these tend to not mandate a degree (though that makes the path smoother). For example the IEEE requires either an IEEE accredited degree or 6 years of proven work experience in a relevant field to achieve member status.
In the UK we have a institution for IT professionals (The British Computer Society) though as far as I can tell nobody really cares much about it.
Even met one of these once http://en.wikipedia.org/wiki/Certified_Software_Development_... he was a scarily good software engineer.
Think about online marketing practices like SEO. There is no university which is really teaching you how search engines work and you can influence them. You can only read as much as you can and learn on your own experiences.
And even if you have a degree and call yourself a software engineer, it does not imply that you are a one, does it?
If you have that degree, do you know how to code?
I've worked with a lot of people with degrees that were not coders. They might have written code in university to get their degree, but I am not sure that they could really code, or maybe they weren't interested. They were managers, architects, engineers, analysts, quality assurance, sales-people, directors, presidents and various other titles and roles but they were definitely not coders.
Do not let that detract from getting a computer science degree. I learned from people with a degree: non-coding stuff, and methodologies that I had been clueless about that definitely improved my coding. You need much more than being self-taught, everything helps: formal education and training, working with other coders, work experience, non-work experience, and mostly you need to make mistakes along the way.
The first and only thing you need to be a coder, is to code. Keep on coding.
Having a good degree does apparently demonstrate that you are able to apply yourself, without someone standing over you nagging you to finish your assignments (ala Mama and Papa whilst at school).
That is an attractive quality for an employer. I have a crap degree, hated my course but have been a successful freelancer for over 10 years, mostly working remotely. I deliver and my clients trust me. I may be an exception, but in my opinion degrees don't really mean diddly-squat.
I'll take work experience over a degree any day of the week.
Not sure anything else really needs to be said...
You either have the knowledge/skills or you don't.
In my opinion, people only need the right attitude and they need to be willing to learn something. all the rest can be teached / learned.
Although as this article claims, £50000 is indeed hard to justify.
The best developers I know usually come from electrical/communications engineering backgrounds - they are used to stuff not working for no reason and never assume anything.
I think there are two separate problems here, though - one in which a particular individual is being assessed for his or her aptitude, and one where dozens or hundreds of applicants for a particular position must be evaluated on the basis of limited information, often from a pool of even more candidates.
A degree by itself is not a terribly reliable proxy for capability or potential, but better proxies are harder to scale and apply to many more people. Companies like degrees because they're an easy, lazy way to (at least in the minds of HR people) establish a competency baseline, and if it's true that most companies would rather have false negatives than false positives, it's easy to see why a degree would be "required" in a lot of cases. Hopefully that will change in the future.
Perhaps a degree in Computer Science specifically is not a prerequisite, that's certainly debatable. In particular, once you have some foundations on mid/advanced mathematics and logic I guess you can catch up with software systems and languages pretty quickly, depending of course on your ability to learn and talent, thus becoming self-taught on software engineering.
Although some people have a fair grasp of machinery, imagine someone self-taught building their own reaping machine for your farm, would you try it or would you trust better someone with a more engineering background?
> imagine someone self-taught building their own reaping machine for your farm, would you try it or would you trust better someone with a more engineering background?
If you look at the history of the farm equipment manufacturers, they all pretty much started on farms to solve the problems of the farms, built by the farmers. Today, in the well established market, you do not really know who is building the products. They might be engineers, they might not be. Nobody asks - nobody cares.
Aside from nobody using reaping machines anymore, if someone self-taught brought a new reaping machine onto the market, I'd certainly evaluate it. It is not automatically any worse than anything else available. Some of the agriculture products built by big-name manufactures (and presumably fully trained engineers) are laughably bad to begin with, so the bar isn't necessarily high anyway.
Today, it doesn't make economic sense for a farmer to build a machine from scratch, but farm-built modifications to production equipment is very common. While some farmers are professional engineers, farmers come from all walks of life. It doesn't really seem strange at all to be building that kind of thing without formal training. It is just part of the job.
Obviously, if technology is your major passion, CS is awesome. However, maybe you want to become a baker, a musician, a painter, etc. who also happens to like developing software.
Before you say you didn't need a degree, consider if people helped you, if people would only help with unreasonable strings attached, or if you have many friends.
Although I strongly advise any programmer to learn a little about electronics.