|
|
|
Ask HN: How do I become a competent engineer?
|
|
3 points
by hx781
1100 days ago
|
|
How do I become a better engineer? I ask this looking back on my four years as an undergrad…and realizing that I sucked at pretty much every single lab class I had. I’ve done okay on homeworks and tests where I could read a textbook and see how a certain kind of problem was to be solved; and yes, sometimes I could take a new novel problem, sort of break it down, and then solve it with the tools/concepts I had learned. But the fact remains that in any lab class or homework, I am completely lost at what to do. Nearly every group member (though some won’t admit it) does the majority of the work at the end of the day, though I wish I could do more. When they ask me for help on how to debug something, I almost never can figure out a strategy of how to even identify the problem, much less figure it out. When they ask me for help to design something, I end up constructing either something that misses the requirements/specifications completely, or I end up with an overcomplicated mess which does poorly. I just feel intensely frustrated because I cannot seem to “figure out” what I am doing wrong – it feels like everyone around me has some sort of natural inclination, some sort of innate reasoning, which enables them to solve problems. I don’t mean to suggest that I think they’re geniuses – I know I watch them struggle for hours to fix things at times – but I feel that if I were in their shoes, I would never be even able to do that much. I’ve tried asking them for advice, but almost all of them just try to make me “feel better”, or claim that they do not know what they are really doing as well – that I am “reading too much” into their actions, as it were. I agree that this is perhaps true for some, but there’s no way that they can be so successful without there being some sort of strategy, though they are perhaps unaware of it. So I want to ask you, how does one actually solve problems, in a systematic and clear fashion? How does one solve novel problems without the luxury of being able to read a textbook and learn how to solve them? I legitimately feel so lost and confused, and frustrated with engineering as a discipline – part of me just wants to give up and quit engineering altogether. Should I just accept that it is not my calling, that if I don’t think naturally in a certain way, it is not meant for me? |
|
If you are currently not able to identify the cause for a small effect, start with something really small.
Maybe something like hello world.
What happens when that program runs? Who reads the file? Who compiles it? How does the processor run it? How does the output come back and get printed to the screen? These are the chain of thoughts that you need to go through.
Great programmers are built through only one path that is trial and error.
By trying new things and seeing what happens. After you have been burnt enough number of times because you followed something which other people said was good, maybe clean code or maybe React JS for example, only after that will you become a great developer.