4 ms·
I'd add another point to the list: when considering asking a question, first ask yourself why the situation is such that you have a question. That's vague, so
by aisofteng 10y ago
I'd add another point to the list: when considering asking a question, first ask yourself why the situation is such that you have a question.
That's vague, so let me give an example. Let's say you want to ask, say, why data being sent over a network is chunked at a certain size. Before asking that question, first ask, "why _would_ it be chunked?" You then might start down the road of considering that maybe there a maximum size of data that can be sent over the wire, and dig in from there and answer your own question.
Most of the time, things are the way they are because someone made them that way - you're not discovering new land that nobody has seen before - and that someone probably had a reason. If you try to think about what that reason might be - if you ask "why would this be made to be this way?" - you will often find a way to the answer to your original question on your own without having to ask anyone else.
Often, when learning a new library or abstraction, I ask myself, "how would I have designed this?" Most of the time, either the way I would have designed it is the way it is designed and it's then easy to understand, or it isn't and the difference between how I would have designed it and how it was designed points directly at something I hadn't considered or been aware of, giving me a place to start understanding.
Critical thinking and careful investigation are incredibly valuable skills that can push you ahead by leaps and bounds without needing anyone else to help you. Those skills do take time to develop, though.
- matwood 10y ago> Most of the time, things are the way they are because someone made them that way - you're not discovering new land that nobody has seen before - and that someone probably had a reason. This is so important when reading others code or re-designing a system. It is easy to be mentally lazy and just think that the prior system was designed poorly when in fact it is covering many cases you simply have not come across yet.