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.
--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/62ed447ff79fc242fb2a0b98e581a...@neutralite.org