View Full Version : Should devolopers have a degree?
Mortime Business Software
7th January 2006, 21:37
Hello All. This is a continuation of an interesting discussion from the "UKBF Offers" forum which mysteriously vanished from the "Sapphire Web Design Sale - 25% OFF!" thread; probably because it was off-topic for that forum.
I would like to respond with an argument which I consider highly beneficial to software developers and their business. I've spent the last 70 minutes or so forming this response, so I would appreciate it if I am allowed to offer this advice. The discussion was about whether a developer with a degree is more likely to produce better software than one without a degree.
I am not in any way implying that a self-taught developer produces sub-standard software, and I acknowledge that there are many such developers who produce software which is highly useful and fit for purpose. However, I am asserting that a graduate developer is far more likely to produce better software
vshosting says about computer programmers...
---------------------------------------
I know qualified people who's work is terrible, and other people that are not qualified whose work is very good.
---------------------------------------
Sure. There are also smokers who die naturally of old age in their nineties, and non-smokers who die young of cancer. This doesn't mean we can smoke and run the same lower risk of getting cancer as a non-smoker. There are always exceptions to such rules.
Any proper programming language requires some knowledge about mathematical methods.
Code fragments, and the overall structures they form, should display characteristics including but not restricted to...
> clear and unambiguous contracts and specifications of primitive and user-defined data types,
> sensible mathematical modelling abstracted from the real world,
> an appreciation of the iterative and recursive approaches to looping,
> minimisation of conditional statements with analysis methods such as parse trees and Boolean algebra,
> adherence to appropriate robust, mathematical and logical algorithms,
> invention or commissioning of new algorithms only where necessary,
> use of patterns,
> component reuse,
> method and function signatures,
> machine checkable pre- and post-conditions written with a mathematical syntax,
> the maintenance of loop invariant quantities and proof of this by mathematical induction,
> mathematical recurrence systems,
> closed form mathematical formulae which provide a way to count statements and estimate asymptotic behaviour of code fragments for given input,
> a readiness for some customer requirements to be analysed and proved using Boolean algebra and the Rules of Inference,
> an ability to clearly describe to a customer exactly what is happening within the application domain,
> using an adequate method of ensuring other developers can quickly understand what is happening within the domain model.
These are small a selection of topics covered in the OU courses "M206 Computing: An Object Oriented Approach" and "M263 Building Blocks of Software".
A relational database requires careful planning and mathematical reasoning to set up efficient relations between attributes to, amongst other things, avoid data duplication. The following list of requirements and properties of a relation scheme should include but not be restricted to...
> first, second and third normal forms,
> Boyce-Codd, fourth and fifth normal forms,
> implementation of ideas expounded by set theory,
> identification of rules from natural and user-defined sets of attributes,
> extraction of explicit and implicit functional dependencies and keys from the above rules,
> linking schemes with foreign keys,
> one-to-one and one-to-many relationships between relations.
...and that's only some of what should be considered before you start accessing the database from applications. These ideas are from just one unit of sixteen which form the OU course "M263 Building Blocks of Software". I will be taking a more advanced 30 point course "M365 Relational Databases" in 2007 where I expect there to be more essential mathematics.
Now if we define mathematics as a language which allows us to reason logically with, as well as manipulate, numbers and quantities, then it is indeed indispensable in achieving many of these objectives.
You can key in some of those keywords into a google textbox and run around like a mad march hare finding books and tutorials on these subjects, and take years to learn about them. But I guarantee that you will learn about them far more thoroughly and rigorously by investing £500 for a couple of high quality courses.
Again I must stress that I am in no way trying to have a go at anyone. In fact I am trying to encourage self-taught developers to formalise their experience so they may progress and be more successful. I was programming for three years before I started at the OU, and I quickly found that I had never even heard of most of the items in the lists above.
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.
This is not an attack on self-taught developers. I respect and admire them, and regard them as highly intelligent people with genuine passion.
I am just trying instill some patience and thought into that wonderful, youthful exuberance. I do this because I am also very passionate, and I believe the world would be a better place if we acknowledge the work of all those great people who have preceded us.
Even if I didn't make as much money as a self-taught developer (which I reckon is highly unlikely), I will consider myself more successful because my applications will be superior in quality, and lend themselves to continuing maintenance and development by any other team if the customer so chooses. This is how I choose to measure my success, and at the end of the day money is merely a bonus to me.
A practising, self-taught developer has no need to postpone business to do a degree. Even if it takes the next 7 or 8 years to graduate, I guarantee that it will be immensely rewarding, and work will definitely benefit in the long run.
Education is awesome and we should embrace it.
Dave
Jayne
7th January 2006, 21:46
Education is good, but that can be gained in many ways other than college. We have a bakery, my husband was apprentice trained and was asked to teach baking at college, yet he has no degree, but is better than most degree bakers :D
I guess this is the same with computer knowledge too.
Jayne :D
Mortime Business Software
7th January 2006, 21:52
Thanks for the tip Rob.
I wouldn't want to put you to too much trouble, but do you think it would be useful if the other relevant parts of the discussion were also included?
Dave
KM-Tiger
7th January 2006, 22:01
Education is good, but that can be gained in many ways other than college.
I think that's true, and certainly experience in business will always count for more than a degree.
But that only works if the person gaining the experience is willing to learn from it.
confused
7th January 2006, 22:47
I didnt read your entire post, I will tomorrow.
such debates regarding formal qualifications often appear on some of the technical boards I frequent, I always reply with this one line.
it depends on the person
an example
person A) goes to uni, studies hard, gets a degree, goes on even further, ends up studying for 10 years, gets excellent results all through, then meets the real world and is totally lost.
person B) is from a poor family, cant afford to go to uni but gets a job in his field, does well, and after 10 years is a very respected member of the company he works for, and can do his job with both eyes closed.
person C) goes to uni, does as well as person A) and fall into place immediatly, secures a good position within the firm he works for and never looks back.
Cornish Steve
7th January 2006, 22:51
Doesn't it depend on the type of application?
- Would you trust a doctor without qualifications to perform triple bypass heart surgery on you?
- Would you trust a doctor without qualifications to give you something for a sore throat?
- Would you trust a developer without qualifications to write software for the next moon landing?
- Would you trust a developer without qualifications to put together your first attempt at a simple website?
In addition to technical qualifications, there are skills that are less tangible - such as business communication, time management, people skills, and conflict resolution. Someone who has been through training in these areas is likely to work more effectively.
Finally, there are character issues that cannot be taught. Is the developer trustworthy? Is the developer fair in business dealings? Does the developer discriminate?
I don't see a simple yes/no answer.
DotNetWebs
7th January 2006, 23:06
I am self taught developer with over 20 years experience AND an OU student with several credits in Science although probably as far away from my Science degree as you are from your IT degree.
I find your post quite offensive.
Perhaps you would at least like to finish your degree before coming out with statements like this:
"But I guarantee 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, my applications will be of a much higher standard"
Regards
Dotty
ps Sorry this is the first time since joining this forum that anybody has succeed in winding me up
pps Jayne you live in the real world like most of the people on this forum. My wife has a maths degree, she teaches A level mathematics and she is very good at it. However she would be the first to admit I (with only O level maths) am better at working out practical details like which mortgage should we go for etc..
pps Just about to post and I read Steve's post. Very good points about moon landings etc (did they really occur BTW :)) Since this is a Business forum and mostly a Small business forum I take this argument in the context of what us developers can do for (predominately small) businesses (where real world experience plays a large part)
Cornish Steve
7th January 2006, 23:12
pps Just about to post and I read Steve's post. Very good points about moon landings etc (did they really occur BTW :)) Since this is a Business forum and mostly a Small business forum I take this argument in the context of what us developers can do for (predominately small) businesses
Yes, and rereading my post, it was probably not very applicable to this forum , was it?
When it really comes down to it, trust is the biggest single factor for me. After that, it's references and the calibre of previous work. Third would be time and cost. Also important are the soft skills; I'd choose solid communication skills over technical skills, I think. If the task was particularly critical, then technical qualifications would be more important.
I always admire people who have struggled against the odds to succeed. In my time in the corporate world, I have hired people to whom fellow managers would not give a second glance. However, I saw in them grit and determination and character. You can teach people skills, but you can't teach them character. I would add that these particular people never let me down and really proved their worth.
creacom
7th January 2006, 23:28
Hi Dave
This is a debate that in anycase we will never have the answer to. Its like politics - we all have different opinions and we will always argue over the dinner table with our friends about it.
When I worked as marketing and communications director for a company I was in charge of recruiting 7 employees for my team. I interviewed over 30 people for those posts. In the final 7 only 3 of them had a degree in the subject I was hiring them for. The others showed wonderful talent, skill and most importantly experience in their field.
Of course there are professions that need to have qualifications doctors, dentists etc..
I contradicted your theory on the other thread that developers with degrees will get a job in a large company and those who dont have one wont. I have a friend who is a head developer for Infogrames in France. He doesnt have a degree yet he is very succesful, well paid, respected and headhunted almost every year for the last 6 by their competitors. He was given his post ahead of others who had degrees and some who didnt.
In my opinion education is important to us all but is not always justified with a piece of paper. Everyone can be judged, if this is the right word to use, by their experience, talent and ability to get the job done and done well.
If you are recruiting and 2 developers come for an interview. One with a degree, 3 years experience, 28 years old, ok references and average work and the other no degree, 6 years experience, 28 years old, great references and excellent work. Who would you choose based on that ?
Mortime Business Software
7th January 2006, 23:43
ps Sorry this is the first time since joining this forum that anybody has succeed in winding me up
Hi Dotty. Although I feel a little upset that I wound you up, I'm afraid I cannot appologise for having an opinion. I mentioned in my message that I have a lot of respect for self-taught developers, but I believe that the road to better quality software is significantly shortened by a guided study of the relevant disciplines.
I would very much like to hear any constructive arguments you may have. I am not an arrogant person, and I will consider any sensible reasons about why developers should not have a solid education before or during their endeavours to supply the market.
My reason for posting such an opinion is not to annoy people, but rather to engage them in a sensible, and hopefully useful debate.
All the best mate,
Dave
easyasit
8th January 2006, 00:22
i have had the term professional rammed down my throat so many times
"your website is not Professional"
"Be careful how u define a professional web developer"
The point is, how do u define the term professional?
Is this someone with expereince and qulifications, or just experience?
Al
DotNetWebs
8th January 2006, 00:30
OK having just chilled out a bit playing Pink Floyd :D and Metallica :D prior to hitting the sack:
Why do you assume that just because you have only just discovered some of those terms in your 'M263 ' course that none of us have heard of them before?
Regards
Dotty
DotNetWebs
8th January 2006, 01:16
Also as I said I am part way through an OU degree myself. I am a big fan of the OU but in the context of SME web development (which is what is relevant to this forum) I am not sure they can keep abreast of current trends and developments.
A lot of what we do is understanding what is best for the client and how to deliver it. A lot of those terms you describe are highly theoretical. As you know one of the main benefits of modern Object Orientated Programming is that the exactly HOW a result is achieved is often irrelevant. It is more important to fully understand the clients needs and how best to deliver them.
Lets look at this post:
http://www.ukbusinessforums.co.uk/viewtopic.php?t=8228
I am not trying to be a smart arse, just trying to defend my corner. Your answer was long winded an overly complicated , mine was simple. Your degree might help you understand FTP far better than me but if it is not the right solution to the problem it is irrelevant
CG Effect
8th January 2006, 02:49
A lot of 3D artists and animators get jobs in top special effects studios without qualifications. The Mill did the effects for doctor who and stated in an article that one of their computer 3D animators is self taught and was a post man when they interviewed him. This was in a 3D mag they interviewed the best studios about wether someone needs to go to uni or not. Most studios said half the universitys teach too much of a few things. The guys that studied it as a hobby knew a brauder range of skills.
I don't think a doctor could learn their profession at home and to prove their skill they would have to bring all their succesful patients to the interview the ones he learned on would have to be burried in his garden and hope they are never found.
Coding Monkey
8th January 2006, 06:22
I don't understand what the difference between learning it and talking to the experts/reading books is than being taught it at university. I also don't understand why these theoretical concepts have any use in a practial situation, and why mathematics applies to all programming languages. If you could kindly find me an example of JavaScript that involves maths (not a function that includes a maths concept) than I'd be interested to see it. It works on a basic structure.
If these people have the knowledge over hundreds of years, than 1 person had to start it. In which case, that person was self-taught. If that person was self-taught, your information is just as reliable as those we read, as we learn from the people who learnt from the inauguration.
I could write a book on how to play football. You could read it every single night for 5 years. You could then decide to go play football. You would still be useless. I know many people who work in the sector without degrees. The old company I worked for had peopel working on software development without degrees, but 8 years experience. I know a Java developer on £60k a year who started teaching himself a few years ago. Experience means you know where you went wrong and how to combat it next time. Theroetical means you have an understand of what to do.
Now, this doesn't mean I feel you should simply start doing large scale projects with 5 minutes experience. I truly believe to learn you should begin with up-to-date books and the authors website regarding that book. It will give you the entire understanding of what you're doing in as far as you need it. Then practice, practice, practice.
Rob Holmes
8th January 2006, 06:32
Thanks for the tip Rob.
Yes I'm unsure where that point is now - I think I may have deleted it by accident instaed of editing it when you changed the thread title :roll:
I wouldn't want to put you to too much trouble, but do you think it would be useful if the other relevant parts of the discussion were also included?
Dave
Hi Dave
Apart from the fact that phpbb does not allow us to splice threads etc etc, I just checked the rest of the thread we deleted and it starts off with someone running down the offer, and then inviting other web designers to comment too. It then moves on to other web designers mentioning their offers and then to vaguely a conversation/squabble about if someone should be qualified or not.
I was really disappointed that other 'web designers' should be degrading the offer that saphireweb put on the forum, it's really not in the spirit of UKBF. So basically no, the thread can stay deleted as I haven't got time to edit and recreate even a half professional thread from whats there - so it's better the topic just carries on here. Lets not carry in the point I made above here (it's not what this thread is about either) - anyone can PM me about it.
ANYWAY.... It's an interesting subject - there are some things I'm qualified at and some I'm not. I would say that most of the things I like I 'just happened' to get training and qualifications in. Maybe it's the things I naturally leant towards - so when a 'natural' gets training in their naural skills this can be very powerful, but I also got trained in alot of other things I'm not a natural in and have tended not to do so well even though I am qualified.
So my slant on your point is this..
If someones 'a natural' they probably don't need too much training but WITH training they would probably really benefit. If someones not a natural then they rely on the training and a high level of discipline to make sure they can achieve a high level.
My gut feeling in to go with 'a natural' but check their previous performances so I can see they are consistent.
By the way It's also worth mentioning that with most web design the job often goes to the best salesman not the best designer.
Rob
Mortime Business Software
8th January 2006, 08:31
Why do you assume that just because you have only just discovered some of those terms in your 'M263 ' course that none of us have heard of them before?
Hi Dotty. Thank you for taking the time to reply.
Sorry if I gave that impression. I don't assume that. The reason I emphasised the importance of mathematics in computing could have been found in the originating thread, which I understand is now lost and would have been too much hassle to transfer anyway. A message was posted which asserted that there is no reason to study any mathematics when only programming languages and databases are being used. I disagree with this, and so I was trying to illustrate that mathematics is absolutely crucial when using these tools.
Regarding the MSN Messenger, I have never used it before. I have just finished reading the web page for it, and I agree that your solution would indeed be better than the FTP solution. Thanks for pointing that out. I have no doubt that this new knowledge will be useful to me in the future, and I would be grateful if you would pick me up on any other mistakes I make, be they due to ignorance or incompetence.
There was a short discussion about chat programs and data streaming in M150 which I took in 2004. But since I havn't been involved with this type of service, I had completely forgotten about it.
I have to disagree with you about the concepts which I listed being merely theoretical because many of them are demonstrably important for efficiency. Also, how a solution is arrived at, and how it is specified is very important for the evolution and maintenance of large applications by teams of programmers which turn over members frequently and often.
I have edited the original message to modify my arrogant-sounding "guaranteed" phrase. If there is anything else which you find especially annoying, please don't hesitate to let me know. I will try my best to arrive at a compromise with you.
Please try to understand that I am not trying to be argumentative just for the sake of it. I am genuinely trying to understand why some people are of the opinion that guided education is not required for computer science. I truly believe that the learning curve for most academics is of a more efficient order in the long run, and that in most cases it is a false economy to forgo education.
All the best with your science degree Dotty.
Dave
Mortime Business Software
8th January 2006, 09:13
I could write a book on how to play football. You could read it every single night for 5 years. You could then decide to go play football. You would still be useless.
Hi Mac. Of course. Like anything, practice is more important. But would you agree that even the likes of raw talent like Wayne Roony benefit from coaching and tactical diagrams on the whiteboard?
By the way, I played for my 4th year school team when I was in the 3rd year, alongside George Berry who later went professional and played top grade football for Wolverhampton Wanderers in the old 1st division. It's such a pity that my legs were too skinny!
Dave
DotNetWebs
8th January 2006, 09:25
Thanks Dave
I did not read the original thread which has apparently been deleted now anyway. Perhaps I did not read your post in the context it was intended. I apologise for being overly defensive.
Regarding this:
I have to disagree with you about the concepts which I listed being merely theoretical because many of them are demonstrably important for efficiency. Also, how a solution is arrived at, and how it is specified is very important for the evolution and maintenance of large applications by teams of programmers which turn over members frequently and often.
My point is that modern OOP uses classes that encapsulate the code. Developer A might write Class A and Developer B might write Class B. Class A might call a function in Class B. As long as Class B can be tested and proven to deliver the correct results 100% of the time Developer A will be happy. He does not care about the exact code within Class B, only that it returns the results he is expecting. That is the whole point of ENCAPSULATION. Now developer C could come along and modify Class B by applying the methods you describe. This MIGHT gain some performance improvements. It might for example take a fraction of a millisecond less to execute a function. BUT the end result will still be the same. Lets not forget that we are talking about SME Internet applications here. The performance improvement will be completely insignificant when compared for the time taken for the page to post back etc. I do agree however that some projects that require high performance would benefit from your techniques. Video games for example.
Another point I would like to make is that it possible to 'pass' a degree with results as low as 40% in some exams. Also the student is spoon fed that material he needs to pass. A self starter who has worked his way in to a position like Macs 60K Java programmer has probably got there on his results, which will be significantly better than 40%. He has also probably proved his resourcefulness and initiative in seeking out and learning the material required.
Regards
Dotty
Edited for typos
crus
8th January 2006, 09:46
Keeping it brief as I hat wasting my breath,
Good on you for seeking out qualifications that will get you additional contracts with idiots that look at this for the basis of their decision, (to the rest of us self educated, there is an unfortunately high number of those idiots in commanding position).
Shame on you for what appears to be an assumption that your knowledge will be greater than those who have rationalised where and when to use such theories that you speak off.
I know of a guy who has taken a similar route at Bristol Uni and man was the crap they taught them from another decade. The problem with direct education is that by its nature it has to be constrained and is therefore preventative of you gaining an accurate grasp of the subject matter.
Beyond this you may find you could loose a lot of contracts for pursuing a riooute of ultimate structural perfection as 'most' clients want something fir for the task and it done as quick and cheap as possible. Discuss the finer points of database normalisation and you'll probably be in big trouble. Case example, is the success of PHP as a development environment as it was not as anal as ASP for example, with its felxibility it proves to be a quicker and nicer platform to work on.
Ultimately, your sales skills will determine how well you do working for yourself and alongside this, a large number of agency based contractors lie about their qualifications anyway.
D
dagr
8th January 2006, 10:06
In the spectrum of software development, formalism is only a must if you're developing "mission critical" applications. Web sites are at the other end of the spectrum and so formalism is not required. Rapidity, ingenuity, street-wise-ivity* and even understanding of art-design concepts are far more important.
Having a degree is a part of the bigger formalism picture and so I wouldn't say it was important for web design work.
For "mission critical" applications, I would be very hesitant to employ someone without a degree; not from a software knowledge point of view, but because of mindset.
(Don't get me started on software quality, CMM and validation).
David.
* - It's Sunday. You're allowed to make up words.
Mortime Business Software
8th January 2006, 10:20
Hi Dotty. I feel so much better now that you're not angry with me. :) And thank you again for your time. I appreciate it because I know I will learn a lot from people like you with so much valuable experience.
Any mathematician would agree that it is simply impossible to achieve a perfect solution to any complex problem because we live in a chaotic universe. If ClassB is of any significant size, it would be very difficult to know for sure if it performs as per its specification 100% of the time. Nevertheless, as precisionists, this is what we should aim for.
You are quite correct about being able to pass a degree by achieving as little as 40%. But it is also possible to attain distinctions at over 85%. I've done this in two out of the three gradable course I have taken so far, and I can assure you it wasn't easy. This is my main point. To teach myself what I learned on my last two courses would have taken me AT LEAST another 4 months because the assignments and timed exams were very rigorous.
In fact I reckon it would have taken longer because I hadn't even heard of most of the concepts. I honestly believe that I would have continued to read books which mostly cover the technical aspects of programming, without learning about the underlying, fundamental concepts. Of course there is no substitute for experience and practice.
As an example, before I started my courses last year, I was reading "The ACE Programmer's Guide by Huston, Johnson and Syyid". It is quite heavy going for me because the reader is expected to have reached a certain standard in C++ which I havn't. Every now and again they promise that certain methods in their library will be O(1), O(n), O(nlog(n)), etc. efficient. I hadn't a clue what they were on about so I looked up a couple of tutorials on the web. I searched intensively for a day and a bloody half to find out about these notations, and I was still none the wiser. Anyway, after completing a short section on M263 last year, I now have a good understanding of what these notations mean and how to use them. And more importantly, the mathematical techniques which are used to formulate these estimates are very simple to grasp and very important for what I want to do when I start my business - network programming.
This is exactly why I think a degree is very useful. It doesn't matter how much talent and enthusiasm someone has, it will always be enhanced and nurtured by good quality education. At the same time, I really do appreciate that I will also learn a lot from the likes of you and Mac.
Dave
Enigma121
8th January 2006, 10:28
In the spectrum of software development, formalism is only a must if you're developing "mission critical" applications. Web sites are at the other end of the spectrum and so formalism is not required. Rapidity, ingenuity, street-wise-ivity* and even understanding of art-design concepts are far more important.
That might have been true a couple of years ago, where you were talking about flat file, boring brochure sites. These days we have Ajax, flash, RSS feeds and SEO to consider.
Clients are demanding integration with their existing business systems, mobile networks and their suppliers. This is the era of ebusiness and the need for competent trained consultants becomes much more important.
A copy of Frontpage and a flick through a book on HTML just won't cut it for much longer...
jmds
8th January 2006, 10:31
I spent over twenty years designing and developing software for some very large international companies. I studied programming/systems analysis and design for a year before starting on my career. I now work for a sixth form college as a deputy director of MIS. I have come into contact with many developers who have degrees and would never want to work with them again. I feel that a track record is worth much more than any peices of paper(but do not tell my bosses I said that).
Mortime Business Software
8th January 2006, 10:31
Ultimately, your sales skills will determine how well you do working for yourself ...
Hi crus. Thank you for joining the debate.
As I mentioned in my original message, I choose to measure my success in terms of the quality of my work. Any money is merely a bonus to me. But there is one thing for sure; I will not start trading until I can provide the quality that *I* personally deem to be sufficient. I am willing to work for subsistence level wages if I have to because I love my work that much.
I can't remember saying that the work of a self-taught developer is inadequate. I said that I believe my work will be of a higher standard than it would be if I don't complete my degree.
Dave
Mortime Business Software
8th January 2006, 10:48
Hello All. I would just like to say that, after a further reading of my original message, my views may have been expressed a little too enthusiastically. Although I still hold the essentials of these opinions, I apologise to anyone I may have offended and hope that you can forgive me.
I would also like to tell you that your efforts in responding to my post have not been in vain.
Before this thread I was pretty sure that I would never employ a developer without a degree. I have now changed this attitude and will certainly consider, and look forward to, working with self-taught developers providing they can demonstrate the necessary skills and passion.
So thank you, :D
Dave
dagr
8th January 2006, 10:58
Enigma, I agree that as web-based devlepment becomes more integrated and fulfils more complex functions, it will move along the formalism spectrum, although still far from "mission-critical" apps.
Mission-critical or not, complexity is a big driver in moving towards more formalism, as it involves teams and no longer the single whizzkid coder.
PS: By mission-critical, I mean software that CANNOT fail. In these applications, customer satisfaction takes a back seat to safety.
Jayne
8th January 2006, 11:12
Wasn't Wayne Roony trained and coached by his employers? :lol:
Just like many of the best IT people :D
Jayne
cjd
8th January 2006, 11:26
It seems to me that there's room for both here.
I hire people with experience and track records; if they have qualifications so much the better. I also find that the very best programmers (and also the very worst) I've used have all been self taught with the qualified being generally mediocre. Perhaps excellent programmers that also have great qualifications don't go looking for jobbing careers in web site building?
My personal experience with web site developers is that qualifications do not necessarily lead to better web sites but they always lead to more expensive ones.
Web site development is not rocket science and does not need the best programmers in the world to build them - which is just as well because only a few thousand would exist if they did.
Mortime Business Software
8th January 2006, 11:45
Wasn't Wayne Roony trained and coached by his employers? :lol:
Just like many of the best IT people :D
Jayne
Yes that's true Jayne, but it is still formal theory no matter what the institution. Many employers realise the benefits of paying for their employees to take certified courses because it is much more efficient to outsource that sort of training to specialists who have packaged courses into easily digestible chunks. After gaining an overview of certain areas, they can then consolidate their skills with real-world work experience. There's a bloke on here called Al who has a business who specialises in basic computer training.
Dave
Coding Monkey
8th January 2006, 11:46
I also find that the very best programmers (and also the very worst) I've used have all been self taught with the qualified being generally mediocre.
Very fair comment. There are those who read 1 book and want to take on the world, and those who keep learning and work through practice and experience until offering their services. You would assume that someone who attended university would be more aware of their subject, but this is mainly due to the course of school where everyone is pushed toward university as the right option. It's an additional that can mean they're delligent, but I don't think it says they're good at their job. If you've worked for 5 years for a software development company and have been headhunted, that says you're good at your job.
Web site development is not rocket science and does not need the best programmers in the world to build them - which is just as well because only a few thousand would exist if they did.
Yes, compared to C#, C++, web development is far less complicated due to many issues not having to be taken care of by the programmer, but I wouldn't go as far as saying it's easy.
easyasit
8th January 2006, 14:29
lets be honest
We can all go fo the stereotype of university and say that someone from there has ll the skills and ability with their degrees and letters.
This could be the case depending on the courses they studied and of course where they studied.
I am not knocking the degree route, but these days colleges tach what they want to teach, not what is actually needed and reuqired by industry.
Looking at some syllabuses myself i could see nothing in an average computer degree of any real value to the outside world.
Which is a shame as in three to four years of intensive study you would expect and hope that the product would be a fully capable professional ready to join the industry
Sadly, this is seldom the case.
I think it is ppl like us who have the skills, after all we learned the hard way, in the field. Making mistakes and learning from them.
Sorry if this comes across as brash.
But i have also wondered whgy uinviersities do not offer the MCSE, CCNA, or the Webmasters qualification to their undergrads. This way their end product (the graduate) would be far better equipped.
Al
dagr
8th January 2006, 17:13
A reason for confusion is the misunderstanding due to lack of clear terminology.
For me, a "computer scientist" is not someone who codes, but rather someone who works on the fundamentals of software (new languages, algorithms, optimisation strategies, etc.)
At the opposite pole, there is the "coder" or "developer", who does just that.
In between, there is the "software engineer".
The terminology and the appreciation of respective roles/expertise gets a bit fudged as they all come under the same banner of "software guy".
I would expect a computer scientist and most software engineers to have a degree. If someone wanted to develop code then I wouldn't point them towards a degree course, but a more practical learning route.
Enigma121
8th January 2006, 18:33
Enigma, I agree that as web-based devlepment becomes more integrated and fulfils more complex functions, it will move along the formalism spectrum, although still far from "mission-critical" apps.
Mission-critical or not, complexity is a big driver in moving towards more formalism, as it involves teams and no longer the single whizzkid coder.
PS: By mission-critical, I mean software that CANNOT fail. In these applications, customer satisfaction takes a back seat to safety.
No offence taken dagr. We know the meaning of mission critical, after routinely developing software within the nuclear and defence industries. Yes it's not safety critical, but good quality software is priceless, wherever it it found.
Web based stuff is becoming much more important, as do many more businesses are DEPENDING on the web for their business, I think that was the point.
Mortime Business Software
8th January 2006, 18:34
A reason for confusion is the misunderstanding due to lack of clear terminology.
For me, a "computer scientist" is not someone who codes, but rather someone who works on the fundamentals of software (new languages, algorithms, optimisation strategies, etc.)
At the opposite pole, there is the "coder" or "developer", who does just that.
In between, there is the "software engineer".
The terminology and the appreciation of respective roles/expertise gets a bit fudged as they all come under the same banner of "software guy".
I would expect a computer scientist and most software engineers to have a degree. If someone wanted to develop code then I wouldn't point them towards a degree course, but a more practical learning route.
Hi daqr. I reckon that's the best post of the thread so far, and I would say Wikipedia roughly agrees with you...
http://en.wikipedia.org/wiki/Computer_scientist
http://en.wikipedia.org/wiki/Software_developer
http://en.wikipedia.org/wiki/Code_monkey
http://en.wikipedia.org/wiki/Programmer
Dave
Coding Monkey
8th January 2006, 18:37
Hi daqr. I reckon that's the best post of the thread so far, and I would say Wikipedia roughly agrees with you...
Just curious Dave, have you ever done any web development work? As with what you're saying above, it would explain the confusion.
Mortime Business Software
8th January 2006, 19:15
Hi daqr. I reckon that's the best post of the thread so far, and I would say Wikipedia roughly agrees with you...
Just curious Dave, have you ever done any web development work? As with what you're saying above, it would explain the confusion.
Hi Mac. Before I started with the OU I learned some Perl/CGI (intermediate), JavaScript (elementary), PHP/MySQL (very elementary), HTML (very elementary) for web development, and some C++ (intermediate) for PC programming. Last year I studied Smalltalk (intermediate) as part of "M206 Computing: An OOP Approach".
I have also studied some assembly language for Intel based computers to a very basic level so I could get an idea of what happens at the processor level, and to learn a little about Boolean algebra, logic gates within the circuitry, and number systems.
I had a play around with Java a few weeks ago. This is quite easy because the Sun site has some excellent tutorials (I would say they actually form a very good book) and the documentation is good.
I am continuing with ACE (the Adaptive Communications Environment), but this is heavy going because it's been written by those nasty computer scientists who expect everyone else to be a computer scientist. ;) Also, the documentation is pretty poor so that makes it even more difficult. But I believe it will be well worth the effort because it is a very powerful library which promises that it will make cross-platform sockets programming much easier.
I'm not anywhere close to being an expert in any of the above, and that's why I will not start selling myself for another two, or more likely three years when I finally specialise in network programming using ACE.
Dave
Cornish Steve
8th January 2006, 19:22
A few months ago, I tried to enrol the help of local students to get some serious PHP programming work done. We have at least ten major universities within 30 minutes of here, and they all offer joint industry programs in which students work for free or for a nominal wage in order to gain experience.
To my amazement, none of the universities focus on PHP. I don't know enough to say whether PHP is a mainstream language or not, but universities offer courses on C++ and the like. As a result, I could not find any students to help me. Instead, I went to a development team in the Philippines.
Maybe this experience is not typical, but it reveals to me that wheels can turn slowly in universities whereas the Internet moves ahead at break-neck speed.
Coding Monkey
8th January 2006, 19:24
I was just asking as to whether you could see that mathematics and a degree wasn't essential with the areas I deal with.
I struggle with DHTML/JavaScript the most, purely because of the lack of documentation and my sheer hatred of cross-browser compatability, so my problem with it is a lack of knowledge, which can be said to exist through either a lack of education or experience. The syntax and logic behind what it's doing is (to me) pretty basic. But, the way to achieve the best result is where the knowledge and experience come in. I can look at almost anything in a PHP/MySQL/XML/XHTML/CSS forum and know how to solve it, but DHTML is just a path I've yet to reach the end of. I therefore can improve on this by reading a book, engage in the examples, test them, try new concepts with them and moving into projects.
Mortime Business Software
8th January 2006, 19:43
Maybe this experience is not typical, but it reveals to me that wheels can turn slowly in universities whereas the Internet moves ahead at break-neck speed.
Hi Steve. I don't think universities teach pure programming courses or specific languages on their degree courses. They use them to demonstrate some of the broad principles of computing, and concentrate more on mathematical fundamentals. They do not profess to turn anybody into a programmer because as you probably realise, specific languages in themselves are not academic, but rather regarded as a computing tool which is more for technicians or coders to use.
For example, the OU's M263 uses it's own special course language written by the course team to give the student a mathematical description of OOP, data typing, collections, recursion, iteration, etc. This year I'm taking M361 which uses the Borland builder C++ environment to illustrate some of the principles. Again, this is not a vocational course. I remember some years ago that HND (Higher National Diploma I think that is) is more for anyone wishing to take an "apprenticeship" style course which will prepare them for the industrial world more quickly than a degree will.
I am not studying to obtain specific, raw skills such as those you would get from many text books. I am very curious about academic fundamentals, and will obtain any technical skills from commercial books.
I hope this helps.
Dave
Mortime Business Software
8th January 2006, 19:57
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
Coding Monkey
8th January 2006, 20:29
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.
easyasit
9th January 2006, 01:16
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
creospace
9th January 2006, 06:16
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
DotNetWebs
9th January 2006, 08:33
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
mattk
9th January 2006, 08:37
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.
Mortime Business Software
9th January 2006, 09:30
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
DotNetWebs
9th January 2006, 09:40
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.
Mortime Business Software
9th January 2006, 10:04
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
Mortime Business Software
9th January 2006, 10:25
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
ink4-u
9th January 2006, 10:39
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++
DotNetWebs
9th January 2006, 10:46
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 (http://localhost/dotnetwebs/SimonHewins.aspx) 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.
Mortime Business Software
9th January 2006, 11:41
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
Richard Conyard
9th January 2006, 12:46
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.
mattk
9th January 2006, 12:50
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? ;)
Richard Conyard
9th January 2006, 13:04
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.
Mortime Business Software
9th January 2006, 14:03
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
Richard Conyard
9th January 2006, 14:22
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.
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.
Mortime Business Software
9th January 2006, 14:33
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
Richard Conyard
9th January 2006, 14:38
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?
Mortime Business Software
9th January 2006, 14:56
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
Richard Conyard
9th January 2006, 15:02
Dave I agree with you and hope it was just a misunderstanding on either my or her part.
garyk
5th June 2008, 14:35
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