does anybody earn a living programming in python?

S

Simon Brunning

Simon Brunning is a Pythonista in his spare time but uses
Java at work. He has got Jython fairly deeply embedded though.

Sure do. We also use Python for a lot of internal tools, the most
complex probably being a fairly extensive code generator. (If you
think you need to generate Python, you are almost certainly taking the
wrong approach, but Java is repetitive, static, verbose and just plain
hideous enough that code generation can be a good solution.)
 
M

Magnus Lycka

walterbyrd said:
If so, I doubt there are many.

Depends on what you compare with. I'm pretty sure there are thousands
of people working as Python programmers, and many more using it as a
smaller tool in their work. Of course this is small compared to Java
or C++.

In the US, it seems a lot of companies in the animation industry, such
as Dreamworks and Industrial Light & Magic regularly look for Python
skilled people.

In my vicinity, Göteborg with surroundings in Sweden, I know of
several places where people work with Python. I'm sure the amount of
C++, Java or VB programmers are magnitudes bigger, but there are also
a lot more people eager to fill those positions.

My employer, Jeppesen Systems AB, has dozens of Python programmers,
and we train our customers to use Python for customization and
integration etc. So, we know that a significant number of the world's
largest air lines and some significant railroad companies have trained
Python developers (we trained them) and use Python for customizing our
products, and for e.g. integration with legacy systems.

Just a few hundred meters from us, there is AB Strakt, which was more
or less a pure Python company last time I looked. The pharmaceuticals
company Astra Zeneca uses Python in some of their research, and I've
seen people from other companies in the vicinity asking Python questions
on various mailing lists etc. Python is certainly used in Chalmers, the
technical University here. This is in a region with way less than one
million inhabitants. I'm pretty sure we have >1 Python programmer per
10 000 inhabitants. Let's say that's above Swedish average. I still
think there is at least 300 Python programmers among the 9 million
people here. Although we're just 0.15% of the worlds populations, my
experience is that we make and use something like 1% of the high tech
stuff in the world, so my standard extrapolation technique would yield
30000 python programmers globally.
I wonder why that is?

Well, it takes time to change things, and many decision makers aren't
very well informed. Maybe they are more likely to choose something
which is marketed and supported by some large commercial entity. The
rise of Linux and open source is changing that, but it takes time.
If you look at languages introduced the last 15 years or so, I think
Python is one of the more popular. The languages I can think of right
now, that have appeared since 1990 or so, and received a significant
mindshare are C#, Java, JavaScript, Perl, PHP, Python, Ruby and Visual
Basic.

Of these, C#, Java and Visual Basic have serious commercial backing
which promoted them heavily for certain applications, and provided a
lot of convenient tools. Those languages are also closely modeled
syntactically on a predecessor, C++ for Java, Java for C#, and VB is
just a new BASIC dialect, which makes the transition to start using
them easier, at the expense of retaining stupid aspect of old languages
that we'd rather get rid of. I.e. getting started seems more important
than getting it right. That should help in the short run, but be less
good in the long run.

Perl and CGI was the best available tool when the big web boost
happened, and PHP has taken over that role. They are very popular in
a particular niche (but Perl seems to be in decline) but like
JavaScript, they are niche tools.

Ruby is the language most like Python I guess, and it's nowhere near
Python in popularity, even if RoR has given it a boost. As people have
noticed, Python is often used together with C or C++, and it seems to
me that Java programmer might prefer Ruby to Python. This might be
because Java and Ruby are both purely OO, and might fit people who think
OO is everything, while Python and C++ are multi paradigm programmers
that share a different mindset.

So, to summarize, Python is probably the most popular general purpose
programming language invented since 1990 which didn't have multi
billion dollar backing. Now, it has more backing, with Google investing
in it, for instance by hiring the creator and other important Python
developers. Python 2.5 has advanced it even further, and it seems to
me that Python 3.0 will be a much smoother ride than Perl 6 turned out
to be for the Perl community. IronPython and PyPy are also very
interesting projects.

Python is a generic programming language, so I don't think we need some
kind of killer application like RoR. On the other hand, I think a really
smooth IDE with a convenient GUI builder could help making it more
widely spread "among the masses".
 
J

Jeff Hagen

I do... but then I'm a grad student so I'm not sure what extent you
would call it "a living"

I know that Python is used __extensively__ in academia for running
experiments where speed is not important.

-Jeff
 
C

codefire

Mike said:
Job security and easy availability is not the be-all and end-all of
happiness in life. That said, if you know anyone who "just wants a
job", please, push them at Java, someone has to spend the next 30
years maintaining the Struts and J*EE sites people are putting
together today in all those big institutions.

Absolutely spot on Mike! :)

Tony
 
G

GHUM

walterbyrd,

Answer: Yes. Definitely. And, to be correct, there are some who earn a
rather comfortable living programming in Python.
If so, I doubt there are many.

depending on your definition of "many". if "many" is something around
"1% of population of earth", you are right.

If "many" is "more than 1000", than you are wrong.

I formyself earn the major part of my income doing Python - combined
with database knowledge, of course.

I wonder why that is?
There seems to be a challenge to have more people programm Python: to
hire people with Python knowledge. Maybe the recruiters of Google can
enlighten you on the prospects of Python programmers on the market :)

Java is educated in a kind of vocational training in universities; but
at the moment only the elite gets in touch with Python.

Harald
 
S

Steven D'Aprano

This seems to be a very, very silly original post. I know of plenty of
people who make a living programming Python. It's been the vast
majority of the programming (for money) I've done in the last ten
years, and there's countless other people I know here in Melbourne in
the same position.

Countless people? Are we talking aleph-zero people (countable infinity) or
one of the uncountable infinities?
 
R

Roy Smith

Steven D'Aprano said:
Countless people? Are we talking aleph-zero people (countable infinity) or
one of the uncountable infinities?

Countless and uncountable are not the same thing. The former simply means
you haven't bothered to count them yet, which as a basis for number theory,
sounds like it belongs in a Douglas Adams book.
 
S

Steven D'Aprano

Countless and uncountable are not the same thing. The former simply means
you haven't bothered to count them yet, which as a basis for number theory,
sounds like it belongs in a Douglas Adams book.

You're thinking of "uncounted", which means "not counted yet". The
dictionary definition of countless is "too many to count" (Pocket Oxford),
which I suppose could be 11 for some people if they didn't take their
shoes and socks off. Mathematically, any finite integer is able to be
counted, so "countless" is equivalent to "infinite in number".

Of course, I suppose it is conceivable that there isn't actually an
infinite number of Python programmers living in Melbourne, and Anthony was
exaggerating just a tad. Maybe it's not actually infinite, just very, very
large. Graham's Number perhaps?

http://en.wikipedia.org/wiki/Graham's_number
 
B

Blair P. Houghton

walterbyrd said:
If so, I doubt there are many.

I wonder why that is?

Because Java has Sun's crazy-money behind it, and that pisses Microsoft
off, so C# has MS's crazy-money behind it. And long before that, C was
/the/ language because it was the only one that would allow you to
actually program systems properly.

I happen to know that Google does most of its admin scripting in
Python. It can't be a small job, running a few hundred thousand
servers worldwide and keeping them all up to date for system and
security.

--Blair
 
M

Mladen Adamovic

walterbyrd said:
If so, I doubt there are many.

I wonder why that is?


As I've seen on the monster there are openings for Python developers.
It is 30x less than Java, but there are less Python developers, so...
I don't know is it easier to find the job as Python or as Java developer.

I could try to find one as Python developer, to try how does it looks
like...
 
D

Dan Bishop

Paul said:
George Sakkis wrote:

[Oslo, Norway short of 300-500 Java developers]
Um, how many of these "lots of Java developers looking for work" live
in, or are willing to relocate to, Oslo?

Well, I really meant to say that the "lots of Java developers" I've
seen actually are in Oslo. Certainly, every time this topic comes up in
some article, people tend to complain about a mismatch between employer
claims and their own experiences trying to get hired, and there
wouldn't be much of a debate if those people were not within commuting
distance.
Another point might be that many ads prefix the offered position with "senior", and my
guess is that most of those looking for work don't really qualify, for any reasonable
definition of "senior".

It's quite possible that a lot of the people out in the job market
don't have the experience with Java that employers supposedly demand,
although in many cases that isn't anything to do with how long they've
been in the business (one definition of "senior"). However, I'd
question the need only for senior developers in a market for a
particular technology, since it would suggest that either everyone
seems to think that they're doing rocket science, or the technology
isn't the most appropriate or efficient way to do the work (especially
given the supposed lack of developers).

Are you hiring? :)

It's so frustrating seeing all those job postings that require a
"mimimum 10 years experience".
 
P

Paul Boddie

Dan said:
Are you hiring? :)

No, just complaining. ;-)
It's so frustrating seeing all those job postings that require a
"mimimum 10 years experience".

I've seen adverts with phrasing that could have been interpreted as
having meant "minimum 10 years .NET experience", and that was a couple
of years ago. Of course, despite the presumed lack of knowledge of the
recruiter who wrote the advert, it's quite possible that something else
was meant, but the quality of prose in such adverts is usually either
so poor that you wonder whether "good written communication skills"
wouldn't also be beneficial in the recruitment business, or the text
merely consists of a checklist of recruitment clichés, that it's hard
to know exactly what they're getting at sometimes.

Paul
 
B

Ben Finney

Dan Bishop said:
It's so frustrating seeing all those job postings that require a
"mimimum 10 years experience".

I think it shows a huge gulf of communication between the person
writing the job requirements and the person who actually asked for the
position to be filled.

If someone has been doing the same thing for 10 years, they're not the
sort of programmer I want coming anywhere *near* the systems I depend
on. If, instead, they've been doing lots of different things for 10
years, I'm not a bit interested that one of them happened to be
consistent throughout that period.
 
S

Stuart Bishop

walterbyrd said:
My research of this subject was very limited, just looked at the major
job boards, and compared demand for python developers to demand for
other languages, such as java, c++, visual basic, or php. An
unscientific test, I realize. But, it's not easy to get good data on
such a subject: everybody has an agenda, it seems.

I don't count jobs where python is an "also ran" skill. For example,
sys-admin jobs where python is listed with a dozen other skills.

I think you are getting skewed results. The companies I have been involved
in that use Python tend to be after top-tier (or as close as they can
afford) programmers rather than the sort of applications you get by the
truckload if you advertise a job on 'the major job boards'. You get a much
better quality of applicant if you target niche boards (such as
http://www.python.org/community/jobs/), use word of mouth, or posts to
highly targeted mailing lists like the ones run by your companies local
users groups or direct contact with visible community members with the
skillsets you need. The results get further skewed on 'the major job boards'
when one real job results in 100 job notices from 100 different recruitment
companies.

My personal experience is that there is a shortage of good Python
programmers. In Melbourne, Australia for example there is a continual need
for about 2 more - one Python shop there just hires clueful developers and
makes their first task 'learn Python'. We generally have a few positions
open at any particular moment too - http://www.ubuntu.com/employment (but we
are picky - it is hard to hand hold when the hand is several time zones away).

On a slight tangent, one of the appealing things about Python (and other
'non-mainstream' languages) in the past has been that the people who knew
Python also tended to be the people you wanted to employ - they generally
had experience in other languages but moved onto something they perceived as
'better' either at work or home. It indicated a level of care and pride
about their profession rather than someone who just treated cutting code as
a day job. That might be changing now that Python is becoming more visible
on peoples radar.

--
Stuart Bishop <[email protected]>
http://www.stuartbishop.net/


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFFG1M5AfqZj7rGN0oRAjDyAJoDt35UghqrVXvHdPqwapubFjk3WACeNK2M
0gTqK9Djse2l55Zk1GViGEI=
=dvva
-----END PGP SIGNATURE-----
 
H

Hendrik van Rooyen

Countless people? Are we talking aleph-zero people (countable infinity) or
one of the uncountable infinities?

Oh dont be so pedantic - countless - without count - probably just means that
nobody has bothered to count them...

- Hendrik
 
M

Magnus Lycka

Stuart said:
My personal experience is that there is a shortage of good Python
programmers. In Melbourne, Australia for example there is a continual need
for about 2 more - one Python shop there just hires clueful developers and
makes their first task 'learn Python'. We generally have a few positions
open at any particular moment too - http://www.ubuntu.com/employment (but we
are picky - it is hard to hand hold when the hand is several time zones away).

It's much easier to learn Python than it is to learn good general
software development skills, so I think that's a good approach. My
room mate here at work didn't know any Python programming before he
came, but he was fluent pretty soon. Like me, he's starting to make
stupid mistakes in C++, such as forgetting trailing ; after each line.
:)

We are fairly picky here when we employ people, but while we appreciate
that they already know Python, we don't see it as a major issue. It's
quick and easy to learn. Mentioning Python in job ads is maybe more a
way to attract people who take clever initiatives.
On a slight tangent, one of the appealing things about Python (and other
'non-mainstream' languages) in the past has been that the people who knew
Python also tended to be the people you wanted to employ - they generally
had experience in other languages but moved onto something they perceived as
'better' either at work or home. It indicated a level of care and pride
about their profession rather than someone who just treated cutting code as
a day job.

That depends if you are an employer who wants to lead
a team of skilled professionals or if you prefer a
herd of sheep that you lead around with a stick.

So, as someone who want to be employed, you influence
what kinds of job you tend to get with what you learn.
Do you prefer a job where you are just expected to do
exactly what you are told, or are you eager to take
initiatives and change your work place to something
better?
 
R

rzed

[...]
Oh dont be so pedantic - countless - without count - probably
just means that nobody has bothered to count them...

Without being particularly pedantic: no, it doesn't. It means "too
many to count". Though I would have taken Anthony's usage ("there's
countless other people I know...") less than literally.
 
B

Brad Allen

I'll attest that we have a shortage of Python developers in the Dallas
area; in the DFW Python user group (dfwpython.org) we occasionally
encounter local employers who have trouble finding local Python
developers who can take on new work. Most of the group members are
already employed, so the standard answer to the employer is to
recommend hiring experienced developers and train them in Python.
Unfortunately we've seen a few cases where the employer decided to
choose a different technology due to the lack of available Python
talent. Hopefully this will abate as more programmers understand this
problem and become attracted to Python.

BTW, are some Python-specific job sites:

http://www.python.org/community/jobs/

http://blog.gmane.org/gmane.comp.python.jobs

http://python.jobmart.com/
 
D

DaveM

The
dictionary definition of countless is "too many to count" (Pocket Oxford),
which I suppose could be 11 for some people if they didn't take their
shoes and socks off. Mathematically, any finite integer is able to be
counted, so "countless" is equivalent to "infinite in number".

While we're being pedantic, there are many more ways to be "too many to
count" than infinity. Counting is a physical process that depends as much on
the counter and circumstances of counting as on the number to be counted.

DaveM
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,143
Latest member
DewittMill
Top