So what is the difference between a software engineer and computer scientist?

[]

That is not a Computer science problem. That is a management problem.

I said SOME of the better ones. I guess I have been lucky to work with a lot of good developers. Some had CS degrees, some EE's, some others (including Biology and philosophy). The problem may not be due to the developers. Management is the place to start looking! Haven't you worked for a pointy haired manager sometime in your experience? Ed

Reply to
Ed Prochak
Loading thread data ...

So who is teaching Programming Management?

John

Reply to
John Larkin

John Larkin had written: "[..]

What Computer Science should do is figure out how to get a group of people to produce good code in a predictable manner.

[..]"

Ed Prochak has responded:

"[..]

That is not a Computer science problem. That is a management problem. [..]"

I am not convinced that it is fair to blame those involved in management: even if they intend well and are good, if they are not the implementers and if they are not competent to be the implementers, they might not be able to manage perfectly.

In news: snipped-for-privacy@4ax.com timestamped Sun, 11 Mar 2007 21:16:51 -0800, John Larkin replied to Ed Prochak's news: snipped-for-privacy@4ax.com :"So who is teaching Programming Management?"

I am not certain, but I suspect that the discipline called Information Systems is more managerial than other degrees related to computers. However, I was acquainted with someone who deliberately selected courses with as little programming content as possible and who as a result of that, graduated with a first class honors degree in Information Systems.

Regards, Colin Paul Gloster

Reply to
Colin Paul Gloster

... snip ...

Generally known as a 'lead programmer'. Programming team size should never exceed 5, after which d(productivity)/dN turns negative.

--
Chuck F (cbfalconer at maineline dot net)
   Available for consulting/temporary embedded and systems.
Reply to
CBFalconer

Ain't that nice to occasionally see a gadget and knowing "Ah, I designed this". Sometimes happens to me when I visit at a hospital. Those machines have an amazing service life. The front bezel paint might be completely gone but they still use the thing.

--
Regards, Joerg

http://www.analogconsultants.com
Reply to
Joerg

And then it shows up on ebay for 0.5% of what you sold it for.

John

Reply to
John Larkin

Then we need a new level, the technical programming manager. This person would have to be a good programmer, but his main function would be to make sure modules are correct and that their interfaces are fully and accurately documented. And to make sure modules call each other correctly. They would have to actually *read* the code their people produce, and enforce standards. Hell, most code is never read by anybody, including the author.

Programmers wouldn't generally like this. Herding cats and such.

John

Reply to
John Larkin

John Larkin a écrit :

How could you describe so exactly what I did for years?

You end up dealing with the most difficult bugs that nobody wants to be bothered about. Once I found a defect in a module and since it involved interface and not internal behaviour, the programmer said it was a realtime bug meaning that was not his business.

They only liked the part where I found the bugs and corrected them without telling anybody.

Cats are ok.

Reply to
Lanarcam

Appropos to this topic, an article just appeared in the online version of EETimes bemoaning the lack of PhD computer scientists to attack the problems of effectively using multicore computers. The title of the article: "Where are the programmers"

formatting link

Part of the problem with the article is that it is really about the problems of finding PhD-level people for theoretical CS research. It isn't really about the difficulties of finding undergrads for the CS departments or programmers for the forestry or chemistry departments, or for businesses small and large. The problem with CS is that the jobs for BSc grads in CS are just not very attractive to students. Perhaps those kids have been reading Dilbert and aren't thrilled with the idea of a cubicle and a PHB.

Mark Borgerson

Reply to
Mark Borgerson

I have worked for such good managers. One did not read the code (though he could), but made sure the development process was followed. Beyond that he made a point of saying his job was to remove obstacles from the way of developers. This included finding out what the requirements really were (not just the market-speak features list), getting the right people doing the right assignments, getting training for people as needed, and a lot more. Of course that was in an engineering company where we build products, not just business applications.

If you try to herd cats the same way you do cattle, you are doomed to fail. That doesn't prove cats cannot be herded. If you try to manage programmers the same way you do assembly line workers, ...

Ed

Reply to
Ed Prochak

Not those, at least most of them don't. Often you need to buy sterile disposables such as single-use catheters and that will become a minor inconvenience when you aren't registered.

--
Regards, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Management could be hierarchical, with a fanout of 5. That's the way big organizations are usually structured.

You'd think with this much at stake, some management/business/CS schools would address this issue.

John

Reply to
John Larkin

... snip ...

Well, you can remove one major difference by selecting cats to herd of the same general size as cattle. I expect other problems will then arise :-)

There must be a moral here.

--
Chuck F (cbfalconer at maineline dot net)
   Available for consulting/temporary embedded and systems.
Reply to
CBFalconer

I have only met one or two, Physicists, EE's, and Chemists that can program are so common that you can hardly swing a cat without hitting one. I have even met a draftsman that was a good programmer.

--
 JosephKK
 Gegen dummheit kampfen die Gotter Selbst, vergebens.  
  --Schiller
Reply to
joseph2k

Isn't it ridiculous to think about the old and trivial crap like that as of great achievements or a pieces of art?

When I see a piece of equipment that I designed long ago, I feel a shame for the crooked solutions and a pity for the amount of time that it took me to make it to work.

VLV

Reply to
Vladimir Vassilevsky

Nope. For some of them there has not been a single competitor in a decade, despite numerous attempts to give us a good market whooping.

Sure, hindsight is easy. But what counts is whether it worked for mankind. Or in the case of medical equipment how many lives it has ultimately helped saving.

--
Regards, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Are you an Ayn Rand fan? Do you think that bosses must (and do) have the skills of all their employees? No really, do you think a manager that manages programmers MUST be a programmer first? It might help but it is analogous to saying that to manage a truck stop you first must be a truck mechanic. Sorry but I do not buy it as an absolute required prerequisite for being a manager in IT. It might help but I'd rather have a manager that understands his limits and no programming experience than one that has programm experience but little organizational skills.

I'm sure we'd both prefer to work for one that has both solid progamming skills and good organizational skills. But we know there are few of those.

Prochak'snews: snipped-for-privacy@4ax.com

So on the basis of one anecdotal data point you condemn an entire degree program? Or just that person?

To get back to the nominal topic of this thread:

Computer Science is not directly about programming. In my experience CS should include programming AND hardware (small, as in cpu architecture and large as in systems architecture) and networking/ communications, theoritical mathematics (boolean logic, relational algebra, information theory). It has more of a theoretical leaning (it is Computer SCIENCE after all). Many of teh assignments would be individual not team projects. A noticable percentage of assignments would produce research papers rather than working code. I would not expect to see a management class in a CS program.

Software Engineering also deals with about the same areas, but the emphasis is more practical in putting the CS theory into practice. The Engineering part comes from balancing the need to find the optimal solution and meeting the requirements. Mathematical courses might cover things like Numeric analysis or control theory. Architecture courses would lean more toward issues of how to select the right CPU to meet the performance requirements. More of the assignments would be team projects than in a CS degree. More of the assignments would be to produce working systems rather than just theoritical models. I would not be surprised to see a management related course in a SE degree program. (I would not expect it to be a core course for the degree.) If a school offers both SE and EE, I would expect a close relationship between the two departments on some classes.

And in my mind Information systems is like Software engineering in that it leans more toward practical solutions. But I would expect it to have a heavy emphasis on business type applications. I would not expect a Process Control or Robotics class in an IT degree program. There might be a Numeric analysis class, but a a shallower depth than covered in SE curriculum. Both IT and SE might share a Human Factors course (covers design of Human-Machine interfaces). That might be one course that many developers should find useful, but few if any ever take it (AFAIK). Team assignments would also form a significant percentage of the IT degree program.

This was all kind of off-the-cuff thoughts, but I am actually surprised how much I must have thought about it over the years. They seem to make sense to me at the moment. I hope they make sense to others. Ed

Reply to
Ed Prochak

In news: snipped-for-privacy@n76g2000hsh.googlegroups.com timestamped 15 Mar 2007 13:45:00 -0700, "Ed Prochak" posted: "On Mar 12, 6:17 am, Colin Paul Gloster wrote: [..]

Are you an Ayn Rand fan?"

I am not familiar with the term "Ayn Rand".

Ed Prochak wrote:

" Do you think that bosses must (and do) have the skills of all their employees? No really, do you think a manager that manages programmers MUST be a programmer first? It might help but it is analogous to saying that to manage a truck stop you first must be a truck mechanic. Sorry but I do not buy it as an absolute required prerequisite for being a manager in IT. It might help but I'd rather have a manager that understands his limits and no programming experience than one that has programm experience but little organizational skills.

I'm sure we'd both prefer to work for one that has both solid progamming skills and good organizational skills. But we know there are few of those."

I accept your point. However, it is not merely a case of a manager knowing his limits: it would be good for a manager to appreciate that practical limitations may restrict what can be computed. I had been managed by people (one of who had actually learnt a little bit of programming) who wanted the Byzantine generals problem solved for strictly two processors. I quoted from two textbooks for them that this is impossible so they complained that I still had not shown clearly how I was going to guarantee with strictly two processors that I have solved the Byzantine generals problem.

">

Prochak'snews: snipped-for-privacy@4ax.com

So on the basis of one anecdotal data point you condemn an entire degree program? Or just that person?"

I have more detailed insights to that degree program and that person than I mentioned: we did attend the same faculty for four years and I took some of the same classes at the same time as that person.

"To get back to the nominal topic of this thread:

Computer Science [..] It has more of a theoretical leaning (it is Computer SCIENCE after all). [..] A noticable percentage of assignments would produce research papers"

Where I did my computer science degree, research was discouraged for undergraduates.

" rather than working code. [..]"

Theory without practice is useless.

" Software Engineering also deals with about the same areas, but the emphasis is more practical in putting the CS theory into practice. The Engineering part comes from balancing the need to find the optimal solution and meeting the requirements. Mathematical courses might cover things like Numeric analysis or control theory."

I am unaware of any software engineering degree which contained control theory.

" Architecture courses would lean more toward issues of how to select the right CPU to meet the performance requirements."

Is a CPU a piece of software?

" More of the assignments would be team projects than in a CS degree. [..]"

Maybe, but is it fair for one's marks to be adversely affected by lazy teammates?

"And in my mind Information systems is like Software engineering in that it leans more toward practical solutions. But I would expect it to have a heavy emphasis on business type applications. I would not expect a Process Control or Robotics class in an IT degree program. There might be a Numeric analysis class, but a a shallower depth than covered in SE curriculum. Both IT and SE might share [..] Team assignments would also form a significant percentage of the IT degree program.

[..]"

"IT" in that quotation seems to have been used as an abbreviation for "Information systems". When and where I was a computer science undergraduate, I believe that numerics was optional for the computer science; software engineering; and information systems streams and that it was not dumbed down just for information systems students if they enrolled for it.

"[..] They seem to make sense to me at the moment. I hope they make sense to others. Ed"

I do not completely agree with everything you said, but it all makes sense.

Reply to
Colin Paul Gloster

I can't see what is wrong with that? I know several IT people who work in information system who never need to write source code.

The do need to set up servers, networks, distributed systems, back up systems and software, power control, system configuration (both Os and apps) many other things but never do they have top write a program as such.

When I have problems with my Pc's (plural) the network or the back up systems the person I call is an Information Systems specialist but as he says he would not know where to start writing C code.

A computing and IT/IS is a VERY wide subject. As we have discussed here many many times the average computer graduate can program in C#' or VC++ but has no idea of programming an 8 bit embedded system. So why should an IS person be able to program?

--
\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\
\\/\\/\\/\\/\\ Chris Hills  Staffs  England     /\\/\\/\\/\\/
/\\/\\/ chris@phaedsys.org      www.phaedsys.org \\/\\/\\
\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/
Reply to
Chris Hills

In news:+AsVsiGWGm$ snipped-for-privacy@phaedsys.demon.co.uk timestamped Mon, 19 Mar

2007 10:10:30 +0000, Chris Hills posted: ">In news: snipped-for-privacy@4ax.com timestamped Sun, 11

I can't see what is wrong with that? I know several IT people who work in information system who never need to write source code."

Fair enough for them then. I think that the following quotation from page 93 of Gerald's and Wheatley's sixth edition of "Applied Numerical Analysis", Addison Wesley, 1999 does not entirely go astray here: "[..]

Computer Programs

Beginning with this chapter, we conclude each chapter with example programs that imple-ment algorithms of the chapter. We do not attempt to include code for every algorithm; this allows students to gain experience in writing their own programs. That skill is essential to the budding numerical analyst, even though prewritten programs will most often be used when doing numerical analysis professionally. Although these professional packages can supply the most useful algorithms, one cannot read these or decide which is best suited for the task at hand without some background in creating at least simple programs. [..]"

Chris Hills wrote re "several IT people who work in information system":

"The do need to set up servers, networks, distributed systems, back up systems and software, power control, system configuration (both Os and apps) many other things but never do they have top write a program as such.

When I have problems with my Pc's (plural) the network or the back up systems the person I call is an Information Systems specialist but as he says he would not know where to start writing C code."

Administration of information technology resources could be classified as being within the domain of information systems, but it is not what I believe the term was used as a distinguishing term for these degrees. Things change and inaccuracies were published re the differences of these degrees, but I will quote from the current website anyway. From

formatting link
:"[..]

TWO DEGREE SPECIALISMS TO CHOOSE FROM

[..]

Software Engineering. This will equip you with the necessary skills to create software [..] Software engineers are technically-oriented and inventive. They typically find work in computing and electronics companies [..]

Information Systems. This is concerned with how organisations can best use computing technology to allow people to work together, and to enable the company to compete effectively in the marketplace. Information Systems graduates are people-oriented and business-oriented problem-solvers. Most work outside the IT sector in banks and insurance companies, manufacturing firms, TV companies, the health industry, and logistics companies.

[..]"

I do not see many items from Chris Hills's list "servers, networks, distributed systems, back up systems and software, power control, system configuration (both Os and apps)" for the final year on

formatting link
:"[..] Programme Academic Structure for 2006 - 2007, BSc in Computer Applications (Inf.Sys.) This information is provisional and subject to change.

[..]

Year 4 Core Modules: Code Title Credit Semester CA400 Project 15 Year long CA465 Technical Communication Skills 5 Semester 1

Year 4 Optional Modules: Code Title Credit Semester CA417 Computer Graphics 5 Semester 1 CA419 Database 1:Relational Theory & Multidatabase 5 Semester 1 CA420 Database 2:Protocols & Systems 5 Semester 2 CA421 Software Patterns & Metrics 5 Semester 1 CA422 OO Models 5 Semester 2 CA425 Artificial Intelligence 5 Semester 1 CA427 Operations Research 5 Semester 1 CA429 Operations Research/Management Science 5 Semester 2 CA437 Multimedia Information Retrieval 5 Semester 1 CA438 Multimedia Technology 5 Semester 2 CA441 Business Process Management 5 Semester 1 CA447 Software Process Improvement 5 Semester 1 CA448 Compiler Construction 1 5 Semester 1 CA449 Compiler Construction 2 5 Semester 2 CA461 Speech Processing 5 Semester 1 CA483 Supply Chain Management 5 Semester 2

[..]"

Chris Hills wrote:

"A computing and IT/IS is a VERY wide subject."

True.

"[..] the average computer graduate can program in C#' or VC++"

Really?

"but has no idea of programming an 8 bit embedded system. So why should an IS person be able to program?"

Practical compulsory coursework in programming is documented for the first three years of a four year IS course. It also seems that it would be difficult to manage to get modules for the fourth year such that no programming whatsoever for the fourth year would be sufficient.

Reply to
Colin Paul Gloster

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.