1. Get a job when you have a good mentor, senior/lead dev that is actually doing his job, not just a manager. That person should be rather strict
2. Fix tons of bugs. You will get exposure to all kinds of issues and shortcomings that people before you made. Those who do not know history's mistakes are doomed to repeat them (or any variation of this quote)
3. Talk and work with others. Software engineering is a team sport. Surround your self with smarter than yourself, that often works best.
4. Teach others, share your knowledge. No matter if they are more junior or senior, it does not matter. That will make you understand problem even better.
5. Build simple things. KISS and done. Simplicity is the ultimate sophistication. Do not try to impress others with how complicated your software is, try to do that other way around if you have to.
I have been using celery for years now and I love it. I was excited to see 4.0 with SQS support. However after giving it a spin I run back to 3.x.
Unfortunatelly version 4.0.0 has too many bugs for now. I will need to check back in few months. Better tests and better mocks would prevent the issues.
2. Fix tons of bugs. You will get exposure to all kinds of issues and shortcomings that people before you made. Those who do not know history's mistakes are doomed to repeat them (or any variation of this quote)
3. Talk and work with others. Software engineering is a team sport. Surround your self with smarter than yourself, that often works best.
4. Teach others, share your knowledge. No matter if they are more junior or senior, it does not matter. That will make you understand problem even better.
5. Build simple things. KISS and done. Simplicity is the ultimate sophistication. Do not try to impress others with how complicated your software is, try to do that other way around if you have to.