Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've written python for a living everyday for a few years now. No means an expert but IMO there are two core skills:

Cleanliness and design. Learning and using language features that make code easier to build on, test, and deduce about. Basically writing code that's very nice to humans. Here python really shines.

The second part is writing code that's very nice to machines and runs really fast and correctly. Multiprocessing, writing parts of the code in a compiled language for extra speed, using buffers for speed, async, that kind of thing. Easy enough for specific problems, the issue is that these performance tweaks often make code harder for humans to understand.

Now writing a nice looking and well designed program is fairly easy. Making a really fast-but-ugly program is also fairly easy. The mark of a real expert in my opinion is combining these two abilities: writing code that's both human and machine friendly. As always, practice makes perfect.

To practice you need to practice both, and on real data. Don't just use toy examples, get your hands on some big messy data that takes hours to crunch. Don't just write toy apps, keep writing and adding features until it becomes a huge stinking mess, then learn from that mess and do it again.



Agreed. I totally agree with unless you aren't willing to try you can't really learn so pratice really matters




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: