Should devolopers have a degree?

  • Thread starter Thread starter Mortime Business Software
  • Start date Start date
MacMyDay said:
I was just asking as to whether you could see that mathematics and a degree wasn't essential with the areas I deal with.

Hey Mac, that's why I started this thread. ;) I was interested in finding out how other people felt. After some of the messages I've read in here, I would be a fool not to concede and agree that a self-taught developer/coder will be very useful to me in the future. But you're not completely off the hook because I maintain that at least a little academic study would do you a power of good. But on the whole, I agree that it probably isn't necessary for a coder or technician to complete a full degree. :)

I have a bad habit of opening some discussions with outrageous, assertive statements sometimes. I don't know why that is, but sometimes I rub people up the wrong way. But I'm not a bad fellow really and I hate falling out with people.

Dave
 
Upvote 0
I don't feel you're outrageous in your thoughts, Dave. Everyone here is going to have their own bias. Think of it like this: you do A-Levels, you go to university, you leave at 21, you get a job and gain experience until 26. Maybe you're now able to be a manager of some sort and work at that for 2 years. You're now married, have kids, university debts and a mortgage. Are you going to setup your own business? Pretty unlikely.

I'm a lot younger (I suspect) than the others replying, but through being self-taught from 15, I was able to get a job working in it, to later freelance, to than setup my own company. It seems it's a common theme, and therefore our bias will be aware from university as we're walking, talking proof of its success.
 
Upvote 0
i also see the point of being a computer scientist

but to clarify this point, i am a chemist by trade myself. Did all the theoretical stuff. Though not much use for it wen i came out.

conclusion, ok yes Computer Science degrees train up computer scientists, but there are only so many jobs for computer scientists. This is why i think feel and believe more vocational training should be included. While i am not arguing with the statement made and its right. When u look at the jobs that are avdertised for such people u would think and feel that their discipline went beyond that of mathematics and algorithms :-)

Regards

Al
 
Upvote 0
Dave one thing that hasn’t been touched on here is the fact to able to run a successful business developing you have to be more than just a nerd with a degree (and I class myself as a nerd to a certain degree but not with a degree)

What about creative talent?
What about analytical skills when discerning a client’s requirements?
what about customer service skills?

One day I have to be a catering expert, the next an art expert, the next a wills expert or whatever the client happens to be and that is what clients expect of you, very seldomly are they interested in your qualifications. I take a deep interest in my clients business because if I understand them more I can service them more.

I'm sure other developers with a business will agree with me on these points?

Cheers

Gary
 
Upvote 0
Very good points Gary. I consider myself a Jack of all trades. I also believe that the old phrase is true "Jack of all trades - Master of none". The point is it would be impractical and prohibitively expensive to put together a small business web project with "masters", i.e. degree qualified people, in all of these areas. Also certain thing like dagr's "street-wise-ivity" cannot be measured by academic qualifications, they can only be learnt from experience.

Dave just for the record I admire what you are doing, if you qualify with distinction I am sure you WILL be a better programmer than me. I was only 'rubbed up the wrong way" because of the statement I quoted in my initial reply. As just about everybody who has replied to this thread agrees, it takes a lot more than a computer science degree to make a successful web business.

Regards
 
Upvote 0
Before I start, I'll point out that I actually have a degree in Computer Science - and over 5 years experience of doing Web development.

I agree with what you say to a point Dave. I have worked with self-taught programmers who are very competent at writing code, but they lack a general understanding of program design. On the other hand I know programmers who don't have a formal education, but can program on a level that I don't think I will ever be able to achieve. Through years of development work they can think to a level of abstraction that is simply one step up from everyone else - this cannot be taught on any degree.

My degree gave me a good high-level understanding of development theory and practice, but certainly not enough understanding to sit down and begin development in any given language. I taught myself HTML to a far higher standard that I learnt on my degree. I now work in an environment, Microsoft .NET Framework, which wasn't even invented when I was at uni.
 
Upvote 0
creospace said:
What about creative talent?
What about analytical skills when discerning a client’s requirements?
what about customer service skills?

One day I have to be a catering expert, the next an art expert, the next a wills expert or whatever the client happens to be and that is what clients expect of you,

Hi Gary. With respect, I cannot see how anyone can be an expert in everything. Perhaps you meant to say that you should be able to apprectiate what your customers do to a level sufficient to satisfy their requirements, which covers point 2 above.

creospace...
"very seldomly are they interested in your qualifications"

Definitely. But that doesn't mean to say I shouldn't have any. My reasons for learning the fundamentals are not to obtain a piece of paper to stick on my office wall, (although of course, I will do this. :)) I personally believe that I need to know about these things so that I can produce the best quality work possible, and that customers will be better served by this whether they realise it or not. That is my opinion.

As I've already mentioned, money is a bonus to me and I am prepared to work for less if at the end of the day both the customer *and myself* are satisfied with the work.

Regarding point 1, I think I remember recounting to you in the originating thread the result of my experience during a year at art college, and learning about colour theory. I believe I have some talent, and I believe that this talent is being complemented by education.

Point 3. I ran a signmaking business in Sydney for 10 years and did quite well out of it. I started with nothing but ended up selling it for enough money to see me through a few years of education. I had many repeating customers some of who were prepared to wait weeks during extraordinarily busy periods when I couldn't find signwriters quickly enough. This is because they liked and trusted me.

These are my personal views. I believe the skills aquired by academic training are non-negotiable for the type of work I want to do. Just as they are for a doctor.

I have already conceded that a full degree may not be necessary for some people in related areas, but I also maintain that at least a little would do them a power of good.

Don't knock it if you havn't tried it. :)

And thank you for contributing to this thread Gary. It really has been invaluable for me, just as many other threads on this wonderful conference are.

Dave
 
Upvote 0
mattk you have highlighted another factor in this debate. I am old enough to have been around long before the Internet. I was (and still am) qualified in other fields. As the Internet developed I saw opportunities and have gradually learnt new technologies as they developed. It would not have been practical at any time to take time out to do an IT degree. Ironically as I have pointed out I have taken a few OU science modules over the last few years. But that was just for my own personal interest and in very slow time.

I would also be interested in your opinion as to whether a MCAD or MCSD are worthwhile qualifications. I have use MCAD (and previously MCSD) self study guides as a means of learning and testing my own knowledge of ASP.NET and other Microsoft technologies. I have no intention of working for anybody else but have considered taking the exams just to give myself a bit more credibility.
 
Upvote 0
mattk said:
On the other hand I know programmers who don't have a formal education, but can program on a level that I don't think I will ever be able to achieve. Through years of development work they can think to a level of abstraction that is simply one step up from everyone else - this cannot be taught on any degree.

Hi mattk. I agree that degree courses do not provide industry-specific skills, and nor do they profess to. There are other shorter courses for that. But I would argue that natural talent (which, in my opinion, is a product of passion) can be complemented by education, and the road to what they want to achieve with this talent is significantly shortened.

I would also like to point out that many people do not possess such gifts, but are very interested in computing and maths. They are willing to be taught and are grateful that we have a wonderful education system. Without it they would never be able to have the fullfilling lives which others are fortunate to lead with their natural talents.

Many people misunderstand what education is supposed to achieve. Nobody can pick up chunks of knowledge, or concepts, and plant them in someone's brain. It is up to the individual to allow him/herself to be guided by people who have spent many years refining and developing courses. I personally regard these people as experts in their field, and will take all the advice I deem to be good from them.

But I certainly agree that you can take a horse to the water, but you can't make it drink. There will always be some graduates who will never be as competent as someone with strong passion.

I think you make an important point about "overall program design". This is more like what I want to do. I sort of knew this when I started my degree, but this thread has made me even more aware.

Dave
 
Upvote 0
Dotty wrote...
"if you qualify with distinction I am sure you WILL be a better programmer than me."

Hey Dotty. Don't overdo it. :) That is highly debatable and NOT what I am aiming for. I would much rather collaborate with someone like you who has been tried and tested in what I acknowledge as "the real world".

I remember a few years ago when I took my baby daughter for a routine examination by the doctor. She didn't have a baby scale with which to weigh her and was trying to sit her on the adult scale. As you can imagine this technique turned out to be impossible to implement because she was such a little wriggler! So I suggested I stand on the scale and she take a reading. Then I stand on the scale holding my daughter and take another reading. Then simply note the difference between the two readings to find my daughter's weight. I was amazed that a doctor could not think of doing this. So I am well aware that a degree is not a panacea for anything.

Dotty wrote...
"As just about everybody who has replied to this thread agrees, it takes a lot more than a computer science degree to make a successful web business."

Definitely. I apologise if I gave that impression because I wouldn't believe it myself.

Dave
 
Upvote 0
i know a great developer and he has a degree, but he told me one thing. the price he paid for it and hwat he learnt i could have done it on his own. he said he learned in the real world using trial and error he learned from his mistakes and then didnt make them again, now he is an expert in php mysql java and c++
 
Upvote 0
Hi Dave

I am not Gary that is Creospace. If you want to know my real name is Gavin.

What I meant about you being a better programmer was that you would have a better theoretical knowledge. That I do not deny. As a self learner I have chosen to learn the things that I believe will be relevant to me in context of SME internet businesses. I know my limitations I will not be applying for a job on the next moon landing. I also do appreciate the opinion of someone with a IT degree. In fact my business partner, my brother has a Masters in Electronics and Computing. It is good to bounce ideas of him.

In the real world though, as ink4-u has just alluded to. What is best in theory is not always what best in practice. Something that is also true in many other businesses and life in general.
 
Upvote 0
ink4-u said:
i know a great developer and he has a degree, but he told me one thing. the price he paid for it and hwat he learnt i could have done it on his own. he said he learned in the real world using trial and error he learned from his mistakes and then didnt make them again, now he is an expert in php mysql java and c++

Hello ink4-u. Thanks for contributing. I am not asserting that the value of self-education is inferior to institutionalised education.

What I am saying is that the necessary concepts for what I want to practice are compacted into a time frame which is significantly shorter than one which would be necessary for a course of self education.

Moreover, the deadlines for assignments have to be met with an intensity of effort which I would find impossible to inflict upon myself with self-study.

Also, the revision periods leading up to timed exams are very intense. This is necessary so that the concepts studied over the previous few months are consolidated. Of course it is impossible for anyone to recall certain skills on demand some time after a course and it's exams. But when any such skills are required in the future, it is so much easier to go back to your reference and pick it up again in no time.

For example, there is a thread on UKBF about a get-together. The main concern is where the venue should be. Should it be in London, Bolton, Scotland, etc? Obviously it should be in a place which is fair to the group as a whole. Since the majority of people attending would come from southern England, you would expect it to be held nearer there than Bolton or Scotland. But where exactly?

I realise that for this one-off event that it is not crucial to find the exact position. But what if we were dealing with a company with such a permanent requirement, and that they considered their profit margins would be affected by such logistics?

This is where sensible mathematical modelling could be very useful. A simple model might consider the sum of all the distances between the venue and the attendees, and find the minimum. To find the minimum sum, you need to know where the venue will be. But this is exactly what we are trying to find in the first place!

I have already formed a basic mathematical model, and solved the equation for it. However, I have been halted by a need to refer back to some calculus which I studied a couple of years ago. This would allow me to find the minimum point on a graph of all possible sums. I could spend a couple of hours or so referring back to a section on differential calculus, and arrive at an answer. But without the study which I did a couple of years ago, it would take me months to find an answer, and that's assuming I had the basic geometry and algebra skills to start with.

By the way, my model is *basic* and only applies to the locations of three attendees and the venue. But I have faith that the model could be extrapolated to an infinite number of attendees, but this remains to be tested.

Something like this would be better if considered by someone like Gavin's wife who has a degree in maths. My pure maths is only 1st level, but is enough to provide tools for me to play around with, what I regard as, a fascinating little problem.

The reason why I found this problem so interesting is because I thought that perhaps the same principles of logistics could be applied to the locations of clients and servers on a computer network, which is what I want to finally specialise in. I may be wrong about this because I just don't have enough academic or real-world experience to know for sure.

This example, for me, illustrates the need for me to have some academic training, as well as real-world experience.

Dave
 
Upvote 0
Interesting thread, and I can see a somewhat emotive one.

So weighing in with my 2p :-)

Since not all of our developers have a degree and I would consider them good developers (yes I am biased), then I'd say you don't need one. All of them have good A Level maths, and A Level computing (foundations of procedural programming), before joining us which is invaluable.

Those without a degree have required about 6 months (at least), solid training to become "useful", that said degree level candidates also require training, but normally only for about 4 months, although they still have a habit of retaining bad university habits. Although this is a major saving universities fill their graduates with ideas that their first job in the field is going to be paying them huge sums of money, which just isn't the case and most of them are disapointed to find this out after investing so much time.

The one thing I would say that should be an attribute of any potential developer though is a logical / scientific turn of mind, without it you cannot be a good developer.
 
Upvote 0
Richard Conyard said:
Those without a degree have required about 6 months (at least), solid training to become "useful", that said degree level candidates also require training, but normally only for about 4 months, although they still have a habit of retaining bad university habits.
Smoking, drinking and sleeping around? ;)
 
Upvote 0
Sorry, continuing.... (there are a lot of posts with some valid points)...

Some people how have posted seem to quantify the number of programming languages you develop in to the quality of programmer someone is. This is pretty much rubbish. To be honest I have lost count of the different programming languages that I have either had to fullfil contracts in, or I learnt when I cared about that sort of thing.

I do think it is important to understand problem solving techniques in code, and different programming environments to put together the best solution though which is where a degree can help, these types of things are:
Procedural programming (Pascal, C, BASIC)
Object Orientated Programming (C++, Java, C#)
Functional Programming (Miranda - not big in a commercial aspect, but useful)
Parallel Programming (OCCAM, starts you thinking about threads, flows and semaphores without the diversion of the platform)
Scripting (dodgy I know)

In putting together solutions I probably use parts of each of these techniques to derive the best. Also it moves away from silly things, 20-15 years ago for OO Smalltalk was considered the nuts, this moved to C++, which inturn moved to Java and now C# (although I bet there will be argument over whether C# is better than Java). The fact is that any Java programmer that knows OO well can probably start running with C# and visa versa. I know this I occassionally have to do projects in both, although it does leave me a bit mixed up over the frameworks when trying to do both at the same time.


Another thing that has cropped up was that web development is apparently easier than application development. This I would have to disagree on. Almost every developer I have had that has made the journey from apps to web struggles initially with state management.

On the topic of web development IMO knowledge of the following technologies alone do not merit use of the title developer:
HTML
PHP / ASP
JavaScript
XSL
SQL (unless of course you're really driving it home)
No, not even if you use them in notepad rather than dreamweaver. If that's the limit then it's the title of coder / web monkey or designer - take your pick.
 
Upvote 0
Richard Conyard wrote...
"Since not all of our developers have a degree and I would consider them good developers (yes I am biased), then I'd say you don't need one. All of them have good A Level maths, and A Level computing (foundations of procedural programming), before joining us which is invaluable."

Hi Richard. I don't know if you noticed, but I believe the two camps have merged a little since the discussion began. I have now been duly educated, and I have conceded that a full degree is probably not necessary for some computer science related fields.

I have changed my opinion somewhat, but I still maintain that perhaps a little academic training would be beneficial to certain occupations including programming, developing, web site designing, etc. I also believe A-level maths is, in general, good for making the jump to working with named variables rather than just values, which is what O-level maths does for the most part. And of course, it's a great way to train one's mind in logical thinking which I would have thought is important for computing. Also, A-level maths is more rigorous than 1st level degree maths, at least with the OU which offer high quality courses.

I've learned a little about object oriented programming with Smalltalk. I hated the bloody language mainly because of its unconventional syntax and the fact that it seems to have been all but discarded by the industrial world. I appreciate that the syntax of a language is only one aspect of a language, but nevertheless, it nearly drove me nuts in the early stages.

Despite this, I reckon that the OU course "M206 Computing: An Object Oriented Approach" truly changed my life. It used Smalltalk, some UML and some CRC to demonstrate the principles of OOP. I am now confident that I will be able to use these principles to create better object software, with clear specifications, in *any* object supporting language, not just the ones you mention.

Also, whilst I think you are quite correct in asserting that a good programmer is not made by knowing a plethora of languages, I do think that an investigation of a number of selected languages, at least to an elementary level, is good for the soul, fun, and useful for making one realise that there are many technologies which deserve a place in computing.

And thanks for your valuable input. I regard this thread as an important contribution to my ongoing education.

Dave
 
Upvote 0
Dave Mortimer said:
named variables rather than just values, which is what O-level maths does for the most part.
Hmmm, I would be rather upset with any school that didn't teach algebra as part of a maths GCSE/O Level.

Dave Mortimer said:
Despite this, I reckon that the OU course "M206 Computing: An Object Oriented Approach" truly changed my life. It used Smalltalk, some UML and some CRC to demonstrate the principles of OOP.

That was the point I was making. If you enjoyed this you should try to get ahold of Grady Booch's "Object Orientated Analysis and Design", version 2 is the copy I have it's brilliant.
 
Upvote 0
Richard Conyard wrote...
"Hmmm, I would be rather upset with any school that didn't teach algebra as part of a maths GCSE/O Level."

Well yes, so would I. I said for the "most part". The algebra, calculus, equations, etc. at O-level are very basic. I don't think we should expect more of a secondary level course. I think A-level maths really drums in the fact that really, there can be no serious mathematics without more advanced algebra.

Richard Conyard wrote...
"...you should try to get ahold of Grady Booch's "Object Orientated Analysis and Design", version 2 is the copy I have it's brilliant."

Thanks. I will remember that because I will definitely read a more specialised OOP book at some stage in the future.

Dave
 
Upvote 0
Just interested, and this is not meant to be a taunt what does the OU computer science degree consist of these days?

A good few years ago I was disgusted to find out that someone I knew doing OU could convert their humanties course to a computing course by just taking two computing modules at the end of their course. Having done Compski for 3 years full time (okay, I was at the bar getting drunk or playing football - but at least having taken the exams and doing the coursework), I was rather miffed.

On the same note, does anyone here apart from me employ programmers? Looking at the range of individuals and the quality of them when they come for interviews there are now some uni's that definately get a black mark when I read them on a CV. Anyone else experienced this?
 
Upvote 0
Richard Conyard wrote...
"A good few years ago I was disgusted to find out that someone I knew doing OU could convert their humanties course to a computing course by just taking two computing modules at the end of their course."

Okay. I think it is vitally important to realise that any university course does not operate on machines. They operate on individuals who may vary in their enthusiasm and passion for any particular area. I, like most other OU students, would never entertain such a method of obtaining a "named" qualification. But there is probably a small minority who manage to convince themselves that they have relevant qualifications by doing this.

If what you are saying is true, then there is a serious flaw in the OU system and, in my opinion, does absolutely no justice at all to our wonderful education system.

I know that the OU does allow some credit transferring, but this is minimal. I had no idea that it was to the extent you describe.

Actually I find it difficult to believe because I doubt that the OU would risk its recognised reputation in such a way.

Dave
 
Upvote 0
I would wager that a typical self-taught developer with a few years experience would be able to satisfy a customer in less time than I if we were both presented with a project right now. But I would wager that if we both continue on our current paths, I will, in around five or six years time, overtake him and stand a much better chance of scoring the larger, more lucrative contracts. Also, and more importantly, I have faith that my applications will be of a higher standard.

I'm a self taught developer Dave and to be honest I wouldnt disagree with that at all.

Would I would say however it depends if you are looking at it as a developer who has a permanent job, one who is a contractor or one who runs their own consultancy.

As a permie there are jobs that specify degree qualified people, I dont see many but they certianly exist. I also have no doubt that once working in an organisation with your relevant degrees you will do well. As for the contracting and consultancy market I would say probably not. Contracting is all about relevant *commercial* experience, a frustration for many starting out on the path and finding the chicken and egg situation. Again for consultancy work its about delivering a *solution* and the client in many cases neither knows nor cares about the database design he just wants to 'press a button and I want this to happen'. I agree entirely that the design should be carefully planned to allow future modification and scalability but many IT firms get beaten down on cost so the initial and final project phases (high/low level design and testing) get squeezed to fit the development in.

I have always considering doing an OU course, in fact 10 years ago I was looking at doing the M206 which back then was using smalltalk and not java but I had to ask myself the question; will actually doing and completing the course be *commercially* beneficial? And as a contractor at that time with 5 years experience on a very good rate I had to say no.

Although I am self taught I gained experience on large commercial systems, the sort you couldnt walk into PC world and buy and even during the 90s found myself aggreived at what I would called the VB-hobbyist-brigade, got a PC, get a copy of VB and viola! your a programmer! And I think thats where standards really slipped if I am being brutally honest.

For me when I was contracting it was great learning experience, working alongside many many others and picking up useful tips, tricks and taking the best of them along with me, something I could never have done in an academic environment.

Gary
 
Upvote 0

Latest Articles