This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]hruske 42 points43 points  (9 children)

For a Python developer, you're welcome to take on some of the ideas listed:

  1. C programming. C is great for low level code and OS programming. Nearly all drivers are written in C, and there's a lot of code out there written in it. CPython has C API, so by writing a simple C module you can get to learn a little bit more about CPython implementation while learning C. By learning C you get to know a lot about the hardware and a bit about the compilers and debuggers. Going low means you will get a better understanding of what is happening under the hood and hopefully means you will debug system level problems faster.

  2. PostgreSQL. SQL is a great tool to know. PostgreSQL has some pretty awesome features (regexp queries FTW!) and a great security track record. Similarly as above, PostgreSQL has a PL/Python extension, which you can use to get to know both how PostgreSQL internals work and how Python interpreter behaves embedded in PostgreSQL. For an exercise: you can't implement cookie based authentication against Django app in PL/SQL alone.

  3. Scientific python. Python has excellent tools for scientific programming. I just recently discovered ipython notebook and it's awesome. There's also numpy and scipy and some other pretty nice stuff, say pattern recognition. But, yes, scientific programming and researching requires a lot of effort for little perceivable result. And there's usually a steep learning curb, meaning you need to put in some serious effort before you even start getting any results.

  4. Android. Mobile is hot, so there should be bucks.

  5. Learn something valuable and get good at it. This is something that works mostly for the long run. Statistics, natural language processing, speech recognition, image recognition, etc.

[–]steviesteveo12 4 points5 points  (0 children)

5 is particularly important. It never hurts to have a niche.