Business issues regarding adapting Python

N

Nash

Hello everyone,

I'm a big time python fan and it has helped me write code fast and
push it out quickly. We have a medium sized telecom product written
90% in Python and 10% in Java. The problem is, in the place where we
work (Pakistan), we can't find Python developers. I asked HR to send
me figures on how many people do we have available who have worked
with C++, Java, PHP and Python with 2-3 years of experience. They did
a search on available candidates on Pakistan's biggest jobsite and
this is what they sent:

Language: Available Candidates in Pakistan (Available Candidates in
our city)
Java: 2020 (750)
C++: 1540 (650)
PHP: 630 (310)
Python: 25 (4)

Almost no-one shows up with Python experience when we put out a job
opening and now it is becoming a real hurdle. Despite our liking and
cost savings with the language, we are thinking about shifting to
Java.

1. Have any of you faced a similar issue? How did you resolve it?
2. Do you think it makes sense to hire good programmers and train them
on Python?
3. If we do train people in Python for say a month; are we just
creating a team of mediocre programmers? Someone who has worked with
Python for over an year is much different than someone who has worked
with Python for only a month.
4. Any suggestions or idea? Related posts, articles etc would
certainly help!

I know that going Java will probably mean a 3x increase in the number
of people that we have and require time for Python component
replacement with Java ones. But for Business Continuity sake,
management doesn't mind.


Thanks a lot everyone!
 
R

Roger Binns

Nash said:
3. If we do train people in Python for say a month; are we just
creating a team of mediocre programmers? Someone who has worked with
Python for over an year is much different than someone who has worked
with Python for only a month.

In my experience the best way to "train" new developers is to have them work
on porting, maintenance, bug fixing, testing etc of your product. This way
they get exposed to your code, methodologies, quirks and values (eg
security, internationalization, test coverage etc). It only needs to happen
for a few months and has them in a position where they will do little harm
to the main development. You'll also get a good idea where they will be
best deployed.

If your existing code base is a good example for the new developers to
follow then this should work very well even for developers new to Python
(but competent in other languages).
4. Any suggestions or idea? Related posts, articles etc would
certainly help!

Start a user group:

http://wiki.python.org/moin/LocalUserGroups

There is a Pakistan Linux User's Group and so should be some affinity and
overlap with them.
I know that going Java will probably mean a 3x increase in the number
of people that we have and require time for Python component
replacement with Java ones. But for Business Continuity sake,
management doesn't mind.

Or you could offer to pay Python developers more, and make it known that is
happening. You'll soon find some more supply :)

Hopefully your next question will be about interviewing Python developers ...

Roger
 
G

Gregor Horvath

Hi,

Am Sun, 27 Sep 2009 00:13:47 -0700 (PDT)
schrieb Nash said:
I'm a big time python fan and it has helped me write code fast and
push it out quickly. We have a medium sized telecom product written
90% in Python and 10% in Java. The problem is, in the place where we
work (Pakistan), we can't find Python developers. I asked HR to send
[...]

4. Any suggestions or idea? Related posts, articles etc would
certainly help!

http://www.paulgraham.com/pypar.html
 
K

Krishnakant

Hello everyone,
Salam Valicum.
I am Krishnakant from Mumbai India and in our country case was exactly
the same but now pritty different in just a matter of few years.
I have answered your queries inline with your questions so read on.
I'm a big time python fan and it has helped me write code fast and
push it out quickly. We have a medium sized telecom product written
90% in Python and 10% in Java. The problem is, in the place where we
work (Pakistan), we can't find Python developers. I asked HR to send
me figures on how many people do we have available who have worked
with C++, Java, PHP and Python with 2-3 years of experience. They did
a search on available candidates on Pakistan's biggest jobsite and
this is what they sent:
<snip>
Almost no-one shows up with Python experience when we put out a job
opening and now it is becoming a real hurdle. Despite our liking and
cost savings with the language, we are thinking about shifting to
Java.

Well, As I said this was a case in India just a few years back.
But now we pritty well find programmers in languages like python or ruby
or php. The main reason for such growth in the number of python
programmers is the awareness people like myself create amongst the
masses of new computer programmres.
Moreover the industry itself is slowly realising the time and resulting
cost saving by making use of python.

1. Have any of you faced a similar issue? How did you resolve it?
I currently lead the development of an accounting software called
GNUKhata ( http://gnukhata.gnulinux.in ) which is totally developed in
python.
Let me tell you that none of the developers working on this project were
python programmers.
It took me about 15 days to train them till intermediate level. The
trick here is to take good programmers who have good logical sence and
have the fundamental idea of programming in some other language. For
example the coordinator of this project knew .net pritty well and today
she is a much better python programmer than me.
2. Do you think it makes sense to hire good programmers and train them
on Python?
Exactly. Look at my anser to your question number 1.
3. If we do train people in Python for say a month; are we just
creating a team of mediocre programmers? Someone who has worked with
Python for over an year is much different than someone who has worked
with Python for only a month.
Firstly, that's true with all programming languages. Whether you will
create good efficient programmers in python depends on how well you use
my trick of taking good programmers proficient in any other language,
and yes they should be open to learning new languages.
May I repeat, including GNUKhata, the accounting software I lead, all
the projects I worked on, we hardly had python programmres. But we
trained them by making them do porting work and also do some bug fixing.
So the other hack is that you make the new python programmres port the
code from let's say some module in Java. Now if you hire java
programmers and decide to train them in python for example, then this
trick works very well because they alredy know the language of the
source module and now portint it to python.

Now due to many such projects being done in huge companies in India, we
have a good repository of python programmers.
Remember that popularity of a programming language directly depends on
how much you involve the programmers.
4. Any suggestions or idea? Related posts, articles etc would
certainly help!
I think you can find that your self.
I know that going Java will probably mean a 3x increase in the number
of people that we have and require time for Python component
replacement with Java ones. But for Business Continuity sake,
management doesn't mind.

Well, If you take my words as coming from an experienced person, I
highly recommend you to believe in what your inner feelings say about
this decision.
If you feel python will svae cost and time then just go ahead and train
programmers in python. From your own experience you might have realised
that trainning people in python for a month will be not as bad as
trainning new programmers in java for a month.
I mean the learning curve is very very narrow in python.

Khuda Hafiz.
Krishnakant.
 
N

Nash

Nash wrote:

<cut can't get enough Python Developers>
I think normal market rules will apply to Pakistan too, if your desired
trade has not the quantity you wish, the price per item should get
higher. Net result should be that more quantity will be available due to
increased interest.

If I rephrase the question: In an absense of steady Python Developers;
can there be a viable strategy involving training? Or will it be much
safer going with an already common developer pool.

Please note that my goal is not to promote python but to make a sound
business decision. Using Python is not an absolute requirement.

I appreciate all the feedback thus far, please keep it coming in,
thanks everyone!
 
S

Simon Forman

If I rephrase the question: In an absense of steady Python Developers;
can there be a viable strategy involving training? Or will it be much
safer going with an already common developer pool.

Please note that my goal is not to promote python but to make a sound
business decision. Using Python is not an absolute requirement.

I appreciate all the feedback thus far, please keep it coming in,
thanks everyone!

Hire good programmers, they can pick up python rapidly.

It's widely acknowledged that hiring good people is a (the?) crucial
factor in the success of programming endeavors. "Good" programmers,
almost by definition, will be able to handle learning python without
problems.

Just my $0.02,
~Simon
 
K

Krishnakant

Hire good programmers, they can pick up python rapidly.
Bingo! That's the point even I mentioned to Nash in my last email.
When I take interviews of programmres aspiring for a job, I never ask
them which programming language they know and never take them on the
basis of how good they are in comparison to that language for my
projects (in python for example ).
It's widely acknowledged that hiring good people is a (the?) crucial
factor in the success of programming endeavors. "Good" programmers,
almost by definition, will be able to handle learning python without
problems.

+ the easy and power of python.
Happy hacking.
Krishnakant.
 
V

Vladimir Ignatov

Ha-ha-ha (sorry, can't resist).

Here is at Moscow/Russia I have had a tought time finding a
Python-related programming job. Positions both very rare (comparing
with Java/C++ - maybe 1/100) and not pays well. And about 99% of them
are web+Django.
 
J

Jean-Michel Pichavant

Nash said:
Hello everyone,

I'm a big time python fan and it has helped me write code fast and
push it out quickly. We have a medium sized telecom product written
90% in Python and 10% in Java. The problem is, in the place where we
work (Pakistan), we can't find Python developers. I asked HR to send
me figures on how many people do we have available who have worked
with C++, Java, PHP and Python with 2-3 years of experience. They did
a search on available candidates on Pakistan's biggest jobsite and
this is what they sent:

Language: Available Candidates in Pakistan (Available Candidates in
our city)
Java: 2020 (750)
C++: 1540 (650)
PHP: 630 (310)
Python: 25 (4)

Almost no-one shows up with Python experience when we put out a job
opening and now it is becoming a real hurdle. Despite our liking and
cost savings with the language, we are thinking about shifting to
Java.

1. Have any of you faced a similar issue? How did you resolve it?
2. Do you think it makes sense to hire good programmers and train them
on Python?
3. If we do train people in Python for say a month; are we just
creating a team of mediocre programmers? Someone who has worked with
Python for over an year is much different than someone who has worked
with Python for only a month.
4. Any suggestions or idea? Related posts, articles etc would
certainly help!

I know that going Java will probably mean a 3x increase in the number
of people that we have and require time for Python component
replacement with Java ones. But for Business Continuity sake,
management doesn't mind.


Thanks a lot everyone!
My 2 cents:
We're about 5 people working with python on a quite complex application.
No one of us had ever heard about python before starting on this
project. And now, I'm so grateful to the guy who decided to use python,
because everything is working perfectly well. Python is just an amazing
easy-to-learn yet powerful language.
I now use it whenever I can.

JM
 
R

Raymond Hettinger

Hello everyone,

I'm a big time python fan and it has helped me write code fast and
push it out quickly. We have a medium sized telecom product written
90% in Python and 10% in Java. The problem is, in the place where we
work (Pakistan), we can't find Python developers. I asked HR to send
me figures on how many people do we have available who have worked
with C++, Java, PHP and Python with 2-3 years of experience. They did
a search on available candidates on Pakistan's biggest jobsite and
this is what they sent:

Language: Available Candidates in Pakistan (Available Candidates in
our city)
Java: 2020 (750)
C++: 1540 (650)
PHP: 630 (310)
Python: 25 (4)

Almost no-one shows up with Python experience when we put out a job
opening and now it is becoming a real hurdle. Despite our liking and
cost savings with the language, we are thinking about shifting to
Java.

1. Have any of you faced a similar issue? How did you resolve it?
2. Do you think it makes sense to hire good programmers and train them
on Python?
3. If we do train people in Python for say a month; are we just
creating a team of mediocre programmers? Someone who has worked with
Python for over an year is much different than someone who has worked
with Python for only a month.
4. Any suggestions or idea? Related posts, articles etc would
certainly help!

I know that going Java will probably mean a 3x increase in the number
of people that we have and require time for Python component
replacement with Java ones. But for Business Continuity sake,
management doesn't mind.

Thanks a lot everyone!

If I were the one looking for developers, I wouldn't search for
people with Python experience. IMO, any good developer can rapidly
learn to be a good Python developer.

In contrast, ISTM that it takes at least 6 months to become
a good Java developer and a couple years to become a decent
C++ programmer. Python is distinct because it is not that
hard to learn.

So, if I were hiring, I would focus on general programming skills
and knowledge of the problem domain.


Raymond
 
M

Martin P. Hellwig

Vladimir said:
Ha-ha-ha (sorry, can't resist).

Here is at Moscow/Russia I have had a tought time finding a
Python-related programming job. Positions both very rare (comparing
with Java/C++ - maybe 1/100) and not pays well. And about 99% of them
are web+Django.
To who/what are you replying?
 
V

Vladimir Ignatov

Python-related programming job. Positions both very rare (comparing
To who/what are you replying?

Nope. Just a replic.
BTW I agreed - just peek a good programmers and let them learn python.
Literally in a days they will be able to write "average" production
code. Don't expect hovewer that this code will be a very "pythonic".
Especially from guys with strong C++ - like background. My advise -
show em a "generators". IMHO that is a mindblowing feature for
everybody who get up from static-type languages.

Vladimir
 

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,773
Messages
2,569,594
Members
45,123
Latest member
Layne6498
Top