G
G
globuser2014-12-19 19:39:22
Python
globuser, 2014-12-19 19:39:22

What are the most real and effective projects / jobs / freelance for a python programmer?

Many resources and interviews of web developers, video reviews, articles by analysts are full of the fact that recently the Python language is the most common and gaining the most popularity.
Very practical and easy to learn. The dispute about the use of this or that language in various projects is endless, it is a matter of taste, tasks, habits, psychology, time and philosophy.
The question is not about that.
I would like to hear the opinion of those experts who have been involved in Python for a long time, as well as those who are just starting to learn it. Looking through many computer science textbooks, Python is even taught in schools, instead of BASIC, as before...
Having gained a certain level and experience in programming in this wonderful programming language, where can I work in what projects and in what typical tasks?
What typical tasks are encountered for python programmers on odesk, fl, elance, weblancer?
What experience and qualifications do you need to freelance on python-related tasks?
What is the work in such tasks: is it a whole complete project from scratch and write-write-code-code modules and link everything into one whole in some kind of loaded service OR fasten some ready-made module to some server?
That is, what tasks are encountered in terms of labor intensity and time costs? Average for pythonists?
A question for those who started to learn python: after what period of time, having started learning python from scratch, can one already start freelancing or working? What tasks to focus on initially?
In what direction to grow experience and skills in the field of python programming? What libraries, modules and frameworks are you trying to learn?
What, besides Python itself, does a python programmer need to know from web technologies?
What is most used and most common in the tasks of python programmers?
How promising is this language and technology? And does she have a future?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
Y
Yuri Yarosh, 2014-12-20
@voidnugget

I've been writing in python since I was 15 years old (2.4+)... I hate its runtime and architecture. The language is good - the implementation is poor. Well, yes, its syntax is quite simplified, but you have to pay for the syntactic sugar with the complexity of debugging and support.
Now, almost all the offices I know do not use python in productions with a more or less high load. Yandex is an example. More often, python is used to solve applied administrative tasks, as this is done, for example, in SaltStack. Everyone gets off python, PHP and rails on Golang, Java / Scala, and sometimes even Groovy - performance is ten times higher, and managed runtime is much more stable. True, in the case of the JVM, the heap swells very much due to the redundancy of the object model (it eats the operative as bad, but I'm used to counting bytes). Now this should be treated with the help of Project Graal and Truffle, although so far only jRuby has come to this, which is also a couple of dozen times faster than Ruby. In theory, Groovy should also crawl somehow ... I don’t know anything about jyton.
Many of my friends have switched to Golang from Ruby and Python.
It is worth a try - it is quite simple and idiomatic, but reflection should be avoided - it is very slow, however, like everywhere else. You may not find a job right away, but after implementing a couple of simple projects, it will be easier to offer as a target platform.
You can start freelancing with python, but it is highly desirable to try at least a couple more environments and frameworks like Groovy Grails, or Typesafe Stack. Now the market requirements have increased a couple of times over the past two years - we need asynchrony / multithreading, push notifications to mobile applications and web sockets / comet. And this is all with rich js frontends on all sorts of Angular and React. Naturally, you can turn crutches like Celery / Gearmand / Beanstalk / RabidMQ, but the communication overhead is too high :( Compiled languages ​​with their Managed Runtimes allow you to build monolithic applications in which such solutions are redundant within the same machine, and if it a bunch of nodes in the cluster, then you need to measure / think.
Django is hard to maintain right now as it has evolved quite a lot in the last 3 years and I highly doubt newer versions will be compatible with older ones.
But with pyramid (pylons) and SQLAlchemy, you can build pretty good applications. They have enterprise support and warranties.
Typical tasks in python:
- write some small script with Gui on PyQT / Pyside for some kind of analytics and drawing graphs, sometimes there are tasks with gstreamer
- write some simple RESTful CRUD application, in the style of "one database table - one controller", this is of course a ton of copy-paste and I like DataMappers like TastyPie more. Sometimes people want pure Tornado or Flask as they don't like overhead in jung and pylons.
- write scripts to deploy something, usually people don't know about SaltStack.
In terms of architecture, various SOAs with CQRS-ES are alien to pythonists, because the compiler itself does not have it. It's easy enough to maintain though.
The problem with all Node.js / Python / Ruby projects is the lack of long-term support for libraries and frameworks - backward compatibility often breaks, and you need to constantly monitor the status of all dependencies. Again, TDD / BDD is needed in order for it to be well controlled. You test with your hands - you do not respect yourself.
Well, everything seems to be ...
ps I will publish an article on Habré today or tomorrow "Freelance - you're doing it wrong" there I will share my experience and the main organizational problems in the framework of remote work and freelance, I will show the difference between them.

V
Vladimir Abramov, 2014-12-19
@kivsiak

The main skill for any programmer is an independent search and analysis of information.
odesk fl etc. are not a closed elite community. What's stopping you from going in and seeing what tasks they set there? What do they require? How much pay? What are the deadlines?

A
Ali Aliyev, 2014-12-20
@ali_aliev

Python is used wherever possible. Web development, data analysis, system programming/administration, mathematics, etc. You just have to decide what you will do. As for experience, the more the better. I recommend that you google "python engineer vacancy" and see what the requirements for a Python developer are for employers.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question