Python is easy to learn.
But it still lacks the luster in job market. We can see that Java and .Net are already the employers firs choice. May be this because these require a little steeper learning curve.
So is the easiness killing Python?
Python is easy to learn.
But it still lacks the luster in job market. We can see that Java and .Net are already the employers firs choice. May be this because these require a little steeper learning curve.
So is the easiness killing Python?
I don't think java and .Net have a steeper learning curve. Python has just as much to learn as them.
The language itself is really not the challenge when being a programmer. It's the related concepts and way of thinking/abstracting that is the challenge.
It is more likely that there are different types of jobs that .Net and Java have offers for, and the places you are looking for employment are for that type of job.
There are a lot of jobs in Python, Python is used by many companies/agencies including Google and NASA.
Take a look at the Joel on Software job board, or the Python job board, there are always open jobs for the taking relating to Python.
I'd disagree. There are lot of very good jobs offers for experienced Python programmers.
Python website has a job board which has numerous companies which are looking out for python developers. Infact there are many more companies which doesn't have an entry in this page (I work for one such).
If you need to do complex stuff to get a job, only assembly language developers would be getting most of the job.
It is just that most enterprise software companies are afraid to switch over to a language which doesn't have any corporate behind it (like java/.net).
Does seem to be true. I haven't seen anyone looking for Python programmer's that I can ever remember. .Net and Java do seem to be the front runners. I know that Python is in use out there, but I wonder if it's in more of a "supporting" role, rather than primary?
I think the difference is that there are tons more Java and .Net jobs/developers out there. Its almost a self-fulfilling prophecy. Most corporate development shops don't really rock the boat so if software development isn't your company's main focus, are you going to want to do your projects in a language that tons of people know (Java/.Net) or that only some people know (Python/Ruby/etc.)?
Additionally, and perhaps more to your question, you're more likely to get a job as a Java newb than as a Python newb. Most of the Python jobs out there are for experienced Python developers where as there are more Java shops out there that just need bodies and are willing to train you up. Either way though, the more experience you have, the more likely you are to find a job, regardless of the language.
Python is often used in supporting role; it alone seldom suffices, but it's an excellent counterpart to compiled languages like Java or C++. It's best to learn at least a couple of languages well, because not many jobs can be done well with just one tool; usually you need several tools.
And despite its initially easy learning curve, learning to program well with Python is as difficult as it is with any other language. Excellent Python programmers are rare.
Its easier to get a job with less experience at more popular languages like Java or C#. These languages are backed up by big enterprises so more home made enterprise software are done with these languages. But Python are getting more ant more acceptance in big companies.
It depends how and where you're looking. No doubt the major recruitment websites are chock full of Corporation X companies looking for blub experts, but the environment around the edges is much more diverse.
I'm involved with a SF-bay startup, and over the last 18 months I can only remember ever seeing one (1) Java job posting from all of my peers. I've never seen a C# job.
In contrast, everyone (myself included) is looking for hotshot Python, Ruby and Erlang programmers.
Although these companies will only be looking to hire one or two people at a time, there's a lot of them, and their collective recruiting demand would dwarf that of the established companies flooding job sites with their graduate scheme positions.
It's definitely harder to find these jobs - you generally need to be part of the "scene" here on the west coast, or actively follow the progress of the myriad small companies out here. Because they're not all concentrated and condensed down into one place, it's easy to think they don't exist at all.
"So is the easiness killing Python?"
No.
Java and C# have the edge because of the following question.
Whom do I sue?
Seriously.
In the case of Java or C#, every corporate lawyer knows there's a vendor to sue. When the board of directors asks the CIO about risk, part of the answer from the CIO is the name of a vendor and everyone's happy. It's either Sun's Java or someone else's Java (e.g. IBM's) or Microsoft's product.
There's no good reason for this. But everyone's happy.
<rant>
With rare exceptions, it's impossible to get formal approval for use of open source products because there's no one to sue. The corporate lawyers and the board of directors of many (not all) public companies in the USA are forced to cover the remote possibility of failure by saying "we followed best commercial practices by spending a lot of money on licensed products."
If there's ever a shareholder's lawsuit, the lawyers wind up in "battling expert witnesses" situations with the company's expert witness saying the open source technology is acceptable, and the opposing expert witnesses asking questions about the corporate and legal entities backing the "product" and due diligence and financial stability and a lot of irrelevant questions that make lawyers happy.
Lawyers don't want to address the technical merits because it devolves to a religious war in front of judges or juries who can't really work out the pros and cons of open source tools.
I've seen business executives refuse to use Unix because it was "risky". They didn't want to "bet the company" on this "unproven" technology. They wanted Windows.
Facts -- like Unix predating windows by at least a decade -- don't enter into this. The business buyer has invented a risk factor, and no technical conversation can ever change their mind. Only a license from MS.
</rant>
Open source slips into to large corporates via the "skunk works" route. First someone uses it, then it's an established part of the tech stack, then it's okay.
This is true of things like Apache. Many companies have an official policy against open source software, yet make heavy use of Apache.
Open source slips into small companies because small companies aren't as heavily influenced by the "oh my God we could be sued" corporate lawyers. Small companies exist -- in some cases -- to reward innovation.
Do some stats on IT-related job boards like Jobserve, counting hits for 'Python', 'Java', 'Perl' etc. Over the past few years I've seen the number of hits for 'Python' going upwards steadily. From time to time I get contacted by recruiters trying to place a Python developer, but the jobs tend not to pay anything like as well as the work I'm doing.
The TIOBE Index is also a good indicator of how widely various languages are used relative to each other. This page discusses the source of the data used to calculate the statistics.
Actually look at this graph: http://www.indeed.com/jobtrends?q=django&l= it doesn't look any bad for a Python web application framework.
Do not learn a programming language because of its quantity of jobs openings, that tells a lot about your likeness to code.
As a hiring manager, I agree with some of the answers that C# or Java would give you a broader choice of potential jobs. The fact that things like Google App Engine use Python; that IronPython allows you to write .Net code are all positive. As a Python hobbyist who manages .Net developers I would love to see applicants with Python experience, but I think you will have few job options if you only know Python.
It is Fear of the UNKNOWN.
If Python had bigger reference sites. A CIO would be able say we are losing competitive advantage against company XYZ, they can deliver faster and cheaper than we can. That's enough ammo to take to a board, who don't know diddly about technology anyway.
People hate change. They like what they know. So the fear of a competitor may be big enough to make them change.