7 ms·
Can you define what a "programmer" is?
by nerdwaller 4y ago
Can you define what a "programmer" is?
- codetrotter 4y agoA programmer is a person who writes program code. A software engineer applies engineering principles when designing and/or implementing programs. A computer scientist uses scientific methods and rigor when solving problems relating to computing.
- thriftwy 4y agoSoftware does not work like that. If I would to meet somebody who claims to apply engineering principles or, worse, scientific method, I will make sure to be on top of their PRs at all times.
- SlickNixon 4y agoWhy I always make a point to mention my preferred methods for determining architecture--bird signs, and throwing the bones.
- newaccount74 4y agoIt does. We are just not used to looking at it like this. For example, if you are changing labels or adding buttons to a web app according to detailed instructions from a manager, then I would call that "programming". If you are implementing an OAuth flow, or designing an API for some service, and doing so according to the current state of the art, you are "engineering". If you develop a novel algorithm to solve a specific class of problems, you are "computer sciencing". Obviously, there is some overlap between the tasks, and people will switch between the different parts depending on the stage of the project, but I don't think the titles can be chosen randomly.
- dr_dshiv 4y agoGoogle snippets aren’t helping me in my search for general principles of engineering. Any certified engineers care to share? Or someone want to ask chatGPT to confabulate some?
- batiudrami 4y agoThe core thing that I think differentiates software engineering and programming is accountability for the quality and ethics of what you design. If an engineer designs and signs off on something, they are legally accountable for if it. There is mandatory ethics training at university and people refuse to sign off on work they don’t understand or aren’t confident in. Engineering assurance and management of change processes are the opposite of “move fast and break things”. As far as I can see there is no ethical accountability for the programmers at big tech companies. People are happy to pocket the crazy salaries and claim their managers or execs should be blamed for the damaging outcomes of their work.
- biztos 4y agoSo the hordes of Electrical Engineers slaving away at Apple and Intel and all the rest — these people, and not their bosses, have legal accountability for every harebrained thing they are required to implement?
- batiudrami 4y agoYes. If they designed something they knew was unsafe, or they were negligent in their design, or they misrepresented their competency I would expect them to be accountable for their actions as a professional electrical engineer.
- michaelt 4y agoThe idea is drawn from things like structural engineers signing off bridges - where there's probably only one on a project, and if they won't sign off the design, neither will any other structural engineer. I doubt it'll ever get adopted in the software industry, because we have many competent people doing good work without a software engineering degree, and degrees of low enough quality employers do whiteboard coding tests at interview, so there's not really a notion of a 'properly qualified' programmer.
- dr_dshiv 4y agoOk, so you’d say that there are no core engineering principles that could distinguish an engineering approach from a mere development approach. Instead you’d claim that the key distinction is that engineering requires a legal/moral duty to accountability. Is that a general consensus here?
- deleted 4y ago[deleted]
- cosmojg 4y agoSomeone who programs. Less tautologically, someone who uses a computer to do something that takes computerless humans, say, O(nx) time and completes the task in significantly less than O(nx) time. As for who I'd want to hire? Probably just the programmers who can do it correctly faster than most. Whether they're writing Python or hacking spreadsheets, they are programming a computer, and therefore, they are a programmer.