A talented developer can fluently translate a high level description of an algorithm into code in a language or ecosystem they are familiar with.
Could you say a little bit more about what “fluency” is in this context? It’s doing all the work in this section but I’m not sure I understand what you’re trying to communicate.
Writing algorithms that are 50 lines of code seems like one definition of fluency, and one that is probably relevant in compilers/backend, but this also rings a little hollow to me, in terms of the pragmatics of real software engineering.
In my experience, most software engineering is using libraries, not language features; how would you describe fluency over libraries? Is “glue code” like command-line flags or CRUD web app routing subject to this? Should that code also “just flow”? In my experience truly powerful developers are able to do this, but even many Google L5s will just look up this code every time. Is that “fluent”? Is there a better concept to be applying here other than “fluency”?
My impression is that this is outside the scope of what you’re describing, “implementing algorithms.” This is an important part of software engineering, but I would say it’s not entirely overlapping with what I would call “building <things/tools/products>”. Would you agree? How would you relate these two aspects?