1. -1

As a software engineer for about three years i have been extensively coding in Python but i still see myself as an intermediate. What are some tips on how to become a Pro at your craft.

  1.  

  2. 2

    Contribute to open source projects that you like.

    1. 1

      I see, I have gotten that advice before I have contributed to opensource by adding documentation fixes or creating documentation for the project but sometimes it gets really hard when reading the code

    2. 1

      Limiting myself to 100 words:

      Capture explicit intent in code and docs. Assume that the next code maintainer six months hence is you. Teach others everything you know, selectively. Excell at beginning again. Think architecturally with quality attributes. Buy when you can, build when you can’t, but balance DIY with shipping. Master your native language.

      1. 1

        Agreed

      2. 1
        1. Read good source code written by other people that are better than you in some way.
        2. Learn other paradigms of doing things. i.e. learning some Haskell might improve your Python.
        3. Read some time-tested books about programming in general (like “the practical programmer”).
        4. Get in the habit of not relying on StackOverflow or your IDE autocompletion for answers.
        5. Observe what works and what doesn’t. Try to articulate reasons why something doesn’t work.
        6. Dive deep in to what you are doing (e.g. data structures, algorithms, statistics, data bases, etc).
        7. Practice, practice, practice.
        1. 1

          Well written advice, To be honest I really hate ides I tend to focus on text editors such as sublime text or vim. Furthermore, I do use outside resources such as google or stack overflow when doing something completely new.