6 ms·
Can we start by not calling people lacking engineering degrees "engineers"? Nothing wrong with being a "developer" but everything wrong with being a CSS jockey
by mmmpop 5y ago
Can we start by not calling people lacking engineering degrees "engineers"? Nothing wrong with being a "developer" but everything wrong with being a CSS jockey who gives them self an extremely inflated title. Exceptions can be made for CS degree holders in my opinion.
I don't hold an engineering degree myself, so I am just "programmer". I still make more than most engineers, so why the fuss?
- cassonmars 5y agoBecause computer science is not an engineering degree, and (at least in the states) professional engineers are required at a minimum to hold a four year degree in an accredited engineering program, work under a certified engineer for a period of time, take an exam, etc. While this is for literal physical engineering, there is not an appropriate parallel for software engineering. There are people who hold doctorates in computer science that cannot build functioning software. And it’s not expected that they can — CS is not an engineering degree. If mathematicians were commonly employed like software engineers, they may find themselves adopting a Mathematic Engineer, but that doesn’t mean it bears any relationship to an engineering degree, let alone any degree.
- shynrou 5y agoIn addition to that, the title is more descriptive of what other employees should expect from you. A programmer is a typist, tasks in results out, no creativity or problem solving expected. Developer creates something new so a little more creative. Engineers engineer stuff they plan and make things work. Architect strictly plans. I don't say thats what they do but a lot closer to what people expect.
- wheelinsupial 5y ago> While this is for literal physical engineering, there is not an appropriate parallel for software engineering. What you have described of an engineer applies to software engineers in Canada. There exist accredited software engineering degrees, some of which may be held under a computer science major with a further specialization in software engineering. There used to be a PE in software engineering in the US. So a parallel for software does exist. Given that there is precedence for licensing and there exist programs attempting to focus on educating those who need to build systems, why is there such an aversion to hiring those graduates and following those processes? Do they produce worse software? Is there no need because of agile and move fast and ship things?
- Falkon1313 5y agoFor one thing, there's absolutely no standard on the titles and they mean entirely different things at different companies. Company A: A developer just installs and configures off-the-shelf software along with plugins or modules to develop a solution, but they can't really program. A programmer does all the hard work of planning and designing, understanding the system, creating custom code to solve problems, and instructing the developer what off-the-shelf parts to use and how to configure them. Company B: A programmer just follows instructions from a developer to churn out code, they don't have to solve problems or understand the system. A developer develops the solution, from planning based on requirements, to figuring out the whole system and coding structure and giving instructions to programmers. Same titles, opposite roles. Then you get to Comp Sci vs Engineering discussion. That's a whole other can of worms. Sure, someone might not be doing Big O analysis of a system or whatever. But how often do you really need to outside academia? In a lot of jobs, most performance problems are caused by a few things like cartesian products and/or bad indexes in a database query, or some code that loops doing a query for each thing to fetch data then processing the data, then looping to do additional queries to update the database (when the whole thing could be done with one query, at least with a minor change to the schema), or loops that call a network request for each item. You don't need a detailed theoretical mathematical analysis on a graphing calculator to recognize and solve things like that. Another is an open endpoint - sure it might not do anything problematic from a security standpoint, and if you set up another system to call it once a day or once an hour it'll be fine. But what if some outsider sets up a system to call it once per second, or a botnet that calls it several times per second? Again, you don't need any complicated formulas to see that that will be a problem. So sure, there might be some difference in attitude/approach of a comp sci person vs an engineer vs a developer vs a programmer vs an architect. But companies don't know the difference and just give you whatever title they think sounds good. As a pragmatic software person, I don't care what they call me; I just concern myself with whether I can recognize and solve (or better design to prevent) the problems. Not even going to mention the credentialism regarding degrees. For a long time, like you, I called myself "programmer", which to me encompasses all of it. But it turns out some business people take a very different view of the terms, so now I just go along with whatever title they want to give me. As long as I can handle the job well, that's what I am.