3 ms·
Are you implying that being a programming "technician" is equivalent to being a bad programmer? Nobody has said "good developer" before you did. I think the po
by akubera 10y ago
Are you implying that being a programming "technician" is equivalent to being a bad programmer? Nobody has said "good developer" before you did.
I think the point is not to base the "goodness" of the developer on the person themselves - of course there will be people who 'get it' and excel at programming whether they go to bootcamp or college (or are self-taught for that matter), just as there will be people who don't get it, and they can just squeak through either program.
The point is to recognize that they are taught different (but overlapping) skill sets; skills that are hard to differentiate and could - from a business perspective - yield the same final product (user clicks button, correct things happen).
- jon-wood 10y agoI interpreted it not as good/bad programmers, but as the level of project you might ask each person to complete. A technician might be incredibly good at doing things like hooking a mobile app up to a REST API, building database frontends, and building on top of an established system. The engineer on the other hand is able to do all of the above, but is also someone you could trust to give a high level overview of the system as a whole and expect to come back with a considered approach to implementing it, taking into consideration things like fault tolerance, how an operations team would interact with and monitor it, and where to make tradeoffs between an ideal implementation and time/money limitations. At least in my mind there's nothing to stop a sufficiently motivated technician learning the necessary skills to be considered an engineer - its not about credentialing, but about having experience that could come either from a college course, or just from working in the field for long enough to have picked it up.
- larzang 10y agoExactly. I'm a self-taught mostly-backend web developer and so I know a variety of related languages, I know the standard tooling and best practices for both front and back end, I know things like OO patterns and project architecture so that I can create sensible structures when writing a new system, and I know enough about the ops side of things to be able to do a lot of that when needed. All these things are practical and necessary to my day to day work. On the other hand, I do not know basic things CS BS-havers learned, like how to implement a bubble sort from scratch, because that is not something that has ever been relevant or is likely to ever be relevant to my day to day work (outside of one-off interview questions from companies I likely don't want to work for anyway if that's their interview process). Algorithm design and high level math is the foundation of CS as a science and as a degree, but it just doesn't factor that much into writing code in a high level language for an established platform like the web. And having a CS degree is no guarantee that you won't put an expensive call inside a loop or write monolithic functions or any of the other terrible practices I've had to train out of junior devs.
- collyw 10y agoYour distinction sounds just like a junior developer compared to an experienced developer.
- mikehollinger 10y agoI was (I am?) guilty of that mental prejudice. A buddy poked me in the eye on that once, and now I make a conscious effort to realize that they're separate things as you've laid out here. There really are multiple overlapping skill sets at play.