[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sysadmin qualifications (Re: apt-get vs. aptitude)



Le 18.10.2013 16:22, Miles Fidelman a écrit :
But now, are most programmers paid by societies with hundreds of programmers?

(and whether you actually mean "developer" vs. "programmer")

I do not see the difference between those words. Could you give me the nuances please? I still have a lot to learn to understand English for precise terms.

The terminology is pretty imprecise to begin with, and probably
varies by country and industry.  The general pecking order, as I've
experienced it is (particularly in the US military and government
systems environments, as well as the telecom. industry):

Systems Engineer:  Essentially chief engineer for a project.
(Alternate term: Systems Architect)
- responsible for the big picture
- translate from requirements to concept-of-operations and systems
architecture
- hardware/software tradeoffs and other major technical decisions

Hardware Engineers (typically Electrical Engineers): Design and build hardware (including computers, but also comms. networks, interfaces,
etc.)

Software Engineers: Engineers responsible for designing and building software. Expected to have a serious engineering degree (sometimes an
EE, often a Computer Science or Computer Engineering degree) and
experience. Expected to solve hard problems, design algorithms, and so forth. Also have specific training in the discipline of software
engineering.  People who's resume says "software engineer" have
typically worked on a range of applications - the discipline is about
problem solving with computers.

Developer:  Vague term, generally applied to people who do the same
kinds of work as software engineers.  But doesn't carry the
connotation of an EE or CS degree.  Tends to be commonly used in
product development environments.  In my experience, a lot of
developers start out writing code in their own field of expertise
(doctors writing medical applications, musicians writing music
software, and so forth).  People with "developer" on their resume
often have specialties associated with the term - e.g., "game
developer" - emphasizing an area of specialization.

Programmer: A term I've never actually understood. Basic use seems to be "someone who knows how to program" or "someone who programs for living." But.... I've personally never seen anyone hired purely as a
"programmer."  (I've hired, and seen hired, a lot of developers and
software engineers, but never a pure programmer.)  As far as I can
tell, the term is a carryover from the early days of large systems - where "systems analysts" figure out what a system was supposed to do
(i.e., did the engineering) and then directed programmers to write
code. (Akin to the relationship between a hardware engineer giving a
design to a technician, who would then build a prototype.)

Coder (or "code monkey"): A somewhat pejorative term for an unskilled programmer - someone who might have taken a couple of "introduction to
programming" courses and now thinks he/she can write code.

For what it's worth - my observation is that the demand is for
software engineers and developers (i.e., skilled people who can solve real problems). But... computer science curricula, at least in a lot of schools, seems to be dumbing down -- a lot of places look more like
programming trade schools than serious engineering programs. Not a
good thing at all.

It seem you attach a lot of importance to schools ( that what I understand in "computer science curricula" ) but I wonder: how do you consider people who learned themselves, before even learning a craft at school ( that's what wikipedia says when I start from the French "métier" and then switch on English language. I understand that it seems to be reserved for physical products in English, but, I like that notion: "A craft is a pastime or a profession that requires some particular kind of skilled work." which makes things different from a simple job. ) ?

Would you name them coder, programmer, developer? Something else? Do you consider they are always less efficient that people with high degrees?

Well, yes.... engineering is a professional discipline, lots of
knowledge (both from books and practical) - generally, folks who work
as software engineers a degree in EE, or CS, or CE, or sometimes math.

Having said that:
- In the early days, say before 1980, that was less so - in those
days, practically nobody knew anything about computers; I know quite a
few people who dropped out of college and went right to work in the
field, and never looked back.  (For that matter, Bill Gates comes to
mind.) These days, though it's a lot harder to get hired for anything
without a bachelor's degree - at least in the US (I know that
education works a little differently in Europe.)

- Also, a lot of people doing software development are NOT degreed
engineers

(though it's pretty hard to get hired for anything in the US
without a bachelorate in something)

I do not think it can be worse than in France.

It's certainly possible to learn stuff on one's own, but my
observation is that true depth and bredth requires some amount of
formal education from folks who are already knowledgeable.  It's like
anything - sure there are self-taught violinists, but most who've
achieved a serious level of skill (much less public recognition)
started out taking years and years of lessons.

I do not say that best guys never have years of lessons.
I think that, lessons by knowledgeable people will help you to develop your knowledge faster, in only one direction, while the self-learners will learn less, and in many directions, so they will probably not be as expert. Then, for both kind of guys, what really matters in the end is how many problems they solved ( problems solved, not products released ).

Accomplished craftsmen
(and women) have typically studied and apprenticed in some form.

Self-learners studied, they simply made it themselves.

I sure wouldn't trust a self-taught doctor performing surgery on me -

That's why some professions have needs for legal stuff. We can not really compare a doctor with the usual computer scientist, right? And I said "usual", because most of us do not, and will never work, on stuff which can kill someone. And when we do, verification processes are quite important ( I hope, at least! ), unlike for doctors which have to be careful while they are doing their job, because they can not try things and then copy/paste on a real human.


Ok, but now we're talking an apples to oranges comparison. Installing
developers tools is a pain, no matter what environment. For fancy,
non-standard stuff, "apt-get install foo" beats everything out there,
and "./configure; make install" is pretty straightforward (assuming
you have the pre-requisites installed).


But when it comes to packaging up software for delivery to
users/customers; it sure seems like it's easier to install something
on Windows or a Mac than anything else.  Slip in the installation CD
and click start.

You mean, something like that ?
http://packages.debian.org/fr/squeeze/gdebi
http://packages.debian.org/fr/wheezy/gdebi

There is also a kde-version, but kde does not seems to depend on it, unlike gnome, which means only default installations with the gnome DE will have that feature. Note that I gave the links for old-stable, to show that it is not a so recent software. Reading things about it (quickly, I admit), it seem it allows exactly the same procedure than what you want. Double click on package, do what you need to acquire admin rights ( as on recent windows ) and it installs itself. Plus, of course, you do not have the "next, next, next, ..., finish" you will find on windows, and dependencies will really be checked and installed.

In less words: as brainless, less questions, more secure (it still uses dpkg in background, with stuff dpkg can guarantee in terms of dependencies)

With windows, *most* of the time, I had no problem, _if you except the advertisement toolbars_ (I did not had any problem with them myself, but I have seen lot of computers slowly dying thanks to these. Or chrome browsers installed for nothing. In short: malwares.). But in practice, I had lot of dependency problems, without even speaking about drivers ( but I guess that I can not compare on that point, since I never used a linux-based system when XP was just out ). And those dependency problems were never easy to fix, unlike the 3 I had on my heavily personalized Debian boxes (purging everything I do not understand the use, except stuff required "depend" by applications I use is something I did more than once, and taught me a lot). I only consider having between 3 and 4 years of Debian usage, against more than 8 for windows.

I have no hatred for windows, I stopped saying stupid things because of my windows feeling when I discovered Debian. But no, really, you can not say that installing a software is easier on windows.

For mac, I do not know.

Not as common on Linux.

On all linux-based OSes? I doubt it, since there are tools like gdebi. I do not know for other distros, except that gentoo, or arch, for example, probably do not provide such kind of tools.

I think it was made by canonical. I have also noticed more than once URLs starting with "apt://" on ubuntu websites. Those URLs would have installed the package directly by a simple clic on the link, if I had not a Debian without gnome (I guess. Or maybe only Ubuntu installs and configure the tool in question, who knows? Plus, maybe the problem comes from opera. I do not know and do not mind either. I do not want to install stuff that way.).

This is actually what I would name something easy, no? More than on windows, since CD-roms really starts to be less and less important for installing softwares: even for single-player only games you can buy the license on Internet and download the installer. Of course, it does not means that they have disappeared, but I think that, at a moment, their use will be reduced. A lot. Being it bad or good, I do not know.


Reply to: