4 ms·
There is something that doesn't ring completely true about this. While I agree coding is not about coming up with some ninja recursive one line function that so
by thinkloop 9y ago
There is something that doesn't ring completely true about this. While I agree coding is not about coming up with some ninja recursive one line function that solves all the problems, reducing it to a simple matter of organization is not quite right either. Yes it is about organization, but there is a component of wizardry too. It takes a lot of intelligence, skill, experience and talent to be able to identify and model the fundamental relationships between all the parts in the simplest possible way. It's what separates seniors from juniors. The top guys do the tricky work of architecting and modeling the system, while the juniors fill it in until enough new information is revealed for the seniors to improve/change/update it as needed.
- watwut 9y ago> The top guys do the tricky work of architecting and modeling the system, while the juniors fill it in until enough new information is revealed for the seniors to improve/change/update it as needed. If that is how it works, I did not really experienced it. In one place where they attempted this, senior ended completely out of touch with his architecture problems - because it was only juniors experiencing them and never him. In big corporations, architect does super uber high level and negotiations. Big refactoring and architectural changes were done by seniors and require experience, of course. But that is only part of what senior does, a lot of if is using existing architecture. Also, juniors can grow into such senior only by taking on larger and larger tasks - you don't get there by filling small boxes without doing own decisions, mistakes and living with them. The biggest problems, especially in larger projects, are organizational one. As in, algorithms part is what is often done by juniors, who often actually can do them well being just out of school and being trained in them lately. And also who have bigger uninterrupted chunks of time then seniors.
- TheOtherHobbes 9y agoBut that’s the point. There are algorithms for sorting with known properties. There are no algorithms for problem analysis - just a lot of tradition (e.g. “refactoring”) which is hand-wavey even when it’s done well, and actually adds complexity when done badly. The kind of problem segmentation => simplest solution we’re talking about isn’t even mentioned on most CS courses, and certainly isn’t taught in any useful way - possibly because it hasn’t been researched or understood.