5 ms·
The poor ontology backing the term software engineer has always seemed to me like the primary culprit for this problem. I've often heard people doing any of the
by Hermitian909 5y ago
The poor ontology backing the term software engineer has always seemed to me like the primary culprit for this problem. I've often heard people doing any of the following for their day job referred to as software engineers:
- people who write basic static sties
- people who write wordpress sites
- people who write simple CRUD apps
- people who write hardware drivers
- people who write compilers
- people who write databases
- people who write google-scale distributed systems
- people who write graphics engines
- people who write physics simulation systems
- people who write video games
The complexity, depth of abstractions, and expected maintenance lifetimes of these tasks vary wildly, but because we all write source code we're all counted as doing the same job! Sort of an obvious lunacy, different mistakes will punish each of these jobs differently than others.
- ctvo 5y agoDo you think other engineers think this way? Your bridge is only 20 yards over a creek, you're not a civil engineer? I'm sure the complexity, depth, and expected maintenance of some bridges vary too.
- cardosof 5y agoThis also applies to other fields - medicine for instance.
- Hermitian909 5y agoBased on civil engineers I know I think it's more likely they'd simply consider the engineer making 20 yard bridges more junior, but doing similar work. As I understand it there aren't the same difference in kind that I'm describing here.
- smnrchrds 5y agoIn my field (mechanical), there are engineers, technicians, and drafters. Each of the above require more education than the next, and is paid better than the next. Someone who only does drafting work will not describe their job as engineering, nor are companies likely to ask engineers to do drafting because it doesn't make sense to pay someone an engineer's salary for that kind of work. Basic static site seems like drafting. A CRUD app or WordPress site or similar between drafting and technician.
- true_religion 5y agoIn a way, software development is more like writing than it is engineering. There is a continuum between people who author crud apps and people who author compilers, but you can go from one to the other simply by having industry experience and access to good books.
- cutemonster 5y agoWordpress sites is more like painting and writing. And physics engines and distributed databases and creating Wireguard is software engineering. I think there are hundreds of times more people doing the former, than the later
- goodpoint 5y ago> Do you think other engineers think this way? Yes, and that's correct. If your skills go as far as building a 1-meter tall wall around a patio you are not an engineer.
- johncena33 5y agoIt's really good point. I usually use this analogy in the context of unit tests. Everyone understands that the review process for a nuclear power generation site shouldn't be same as foot-bridge over a stream on a trail. However, this basic common sense is missing in all these clean code, TDD, unit tests etc. conversation. I've seen a startup where the front-end is a very simple web-site (just some basic forms, charts and tables). But the team follows all the clean-code, TDD, unit test and whatever latest buzzword you can think of. It takes one front end developer to sort a list alphabetically more than a day, which probably takes a decent developer less than 10 minutes to finish. IMO, the whole clean-code seminars/books industrial complex if responsbile for the amount of time, effort and money wasted following these clean code trends without any real business value.