The act of asking a question when you are stuck has two advantages:
- The process of forming the question has a high chance of leading you to the answer, so you may end up never having to ask your question
- By converting a problem into a question, you no longer have a problem, instead you now have a question, and someone is bound to have an answer!
Software eng tip(s):
- Time estimates are hard. A good rule of thumb is to add one more of the largest unit of your time estimate.
- For example, if you estimate that a task will take 1.5 hours, add another hour. If you estimate 1 day, add another day, if you estimate, 2 weeks, add another week, etc, etc.
- When assigned the task of implementing a new feature or improving an existing one, consult your nearest domain expert before consulting Google. A domain expert could be a co-worker with experience in that area, or whoever had worked on the feature you are trying to improve.
- When a domain expert does not exist, then you and your team are in no position to undertake such a task. Forget Google at this point, you all need to have a serious meeting to determine a new solution for the task at hand.
- As a new developer, practice the art of asking questions. If you go three days working on a ticket and never ask a question, you are in danger of making a costly mistake.
- Every local variable is a global variable with limited scope.