Should devolopers have a degree?

  • Thread starter Thread starter Mortime Business Software
  • Start date Start date
M

Mortime Business Software

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
 
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
 
Upvote 0
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
 
Upvote 0
Jayne said:
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.
 
Upvote 0
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.
 
Upvote 0
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.
 
Upvote 0
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)
 
Upvote 0
DotNetWebs said:
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.
 
Upvote 0
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 ?
 
Upvote 0
DotNetWebs said:
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
 
Upvote 0
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
 
Upvote 0
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
 
Upvote 0
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
 
Upvote 0
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.
 
Upvote 0
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.
 
Upvote 0
Dave Mortimer said:
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:

Dave Mortimer said:
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
 
Upvote 0
DotNetWebs said:
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
 
Upvote 0
MacMyDay said:
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
 
Upvote 0
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
 
Upvote 0
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
 
Upvote 0
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.
 
Upvote 0
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
 
Upvote 0
dagr said:
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...
 
Upvote 0
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).
 
Upvote 0
crus said:
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
 
Upvote 0
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
 
Upvote 0
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.
 
Upvote 0
Wasn't Wayne Roony trained and coached by his employers? :lol:

Just like many of the best IT people :D

Jayne
 
Upvote 0
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.
 
Upvote 0
Jayne said:
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
 
Upvote 0
cjd said:
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.

cjd said:
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.
 
Upvote 0
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
 
Upvote 0
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.
 
Upvote 0
dagr said:
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.
 
Upvote 0
dagr said:
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
 
Upvote 0
Dave Mortimer said:
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.
 
Upvote 0
MacMyDay said:
Dave Mortimer said:
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
 
Upvote 0
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.
 
Upvote 0
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.
 
Upvote 0
goldctrsteve said:
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
 
Upvote 0

Latest Articles