3 ms·
Not OP but let me try to define by example. I've been programming for 19 years give or take, starting as a kid I'm now 29. There are many parts of software eng
by ianbutler 2y ago
Not OP but let me try to define by example. I've been programming for 19 years give or take, starting as a kid I'm now 29.
There are many parts of software engineering in several domains that are just second nature to me at this point, I don't think deeply about how to write or structure the code, it's simply an intuitive action and it's usually somewhat solid code when I finish producing it. I just write good code without having to think about how to write good code.
I've also become competent in several other domains as I've continued in the field and I can write good code in those domains, low level systems engineering as an example, however, I have to think through systematically how to structure the code and how to avoid memory issues etc etc. I'm competent, but it takes a bit longer and I'm actively considering structure etc, checking papers, reading docs more deeply.
I can say I'm competent and even good in those differing areas, but the amount of effort needed to achieve the perception of being good is a lot different between them. Some areas are basically effortless and some are effortful.
That's the distinction between unconscious competent and conscious competent as I would define it.