2 ms·
> Programmers who only work on small temporary > projects (like an agency) may get by without > ever improving how to design programs. Amen to this.
by JohnBooty 7y ago
> Programmers who only work on small temporary
> projects (like an agency) may get by without
> ever improving how to design programs.
Amen to this. We recently ended our engagement with a very well-known Ruby consulting shop for exactly this reason.
Their engineers were very smart and wrote very pretty code.
However it was not suitable for the real world once even a little bit of scaling was required, and this was an app that needed to store and move a fair bit of data as a Day 1 requirement.
The real tragedy is that they were fairly arrogant about it. They didn't know what they didn't know. It's OK to not know how to build things at scale.... as long as you know that's not one of your core competencies. I don't know how to fly a plane, or create a design system, or write assembly code. That's OK, because I know my limitations there.
However, these folks were arrogant and dismissive about scaling concerns.
Well, they were dismissed as a result of their dismissiveness.
Which is a shame, because they did have some talent there.
- AzzieElbab 7y agoWeird, I find this to be more frequent the case for people who work on large, long lived, legacies
- JohnBooty 7y agoWhich part? The inability to write code that scales, or the arrogance/ignorance about what they don't know? The "arrogance/ignorance about what they don't know" part most definitely exists everywhere, including people who work on long-lived legacy apps. Definitely agree with you there, if that's what you mean.
- cosmodisk 7y agoThis is the problem I've got at my current job. While I try my best to write code in a way that it'd work many years ahead, the lack of scale requirements and relatively freedom I've got on my own decisions are double edge sword most of the time. Would love to work in a large shop with more senior people than am.
- JohnBooty 7y agoBoth kinds of experience are so valuable. "Consulting shop" experience where you get to play with a lot of stuff, often very cutting edge stuff. "Long lived legacy app" experience where you really get into the nuts and bolts of engineering some software, but you are often locked into a particular stack and the cutting edge is your enemy and not your friend. Can suck big time when you look for your next job and your skills are 5, 10, whatever years out of date...