Hacker News new | past | comments | ask | show | jobs | submit login

An engineer gathers requirements through a formally defined process and writes a formal engineering specification which translates those requirements into actionable norms. For example: "server operating temperature shall be between -40 and +70 Celsius at 400 m above sea level and the power supply shall operate at Voltage between 110 to 240 Volts at either 50 or 60 Hz with peak load of 35 Amperes". Or: "the program shall support following options", with a detailed specification on what those options do and how they will do it. Or: "the software shall respond within 25 ms of receiving the request on port 4096. The protocol used shall be TCP". RFC documents are often good examples of system engineering and architecture.

Simply knocking in a program as a code monkey or hacking haphazardly on a program until it works in some way which isn't formally defined isn't an application of scientific theories in computer science into a practical product, which is what defines engineering.

Most programmers I know aren’t simple code mnkeys, they solve actual problems based on the constraints of the problem domain. They model the data and devise algorithms to best process it. Sure, sometimes you haphazardly hack on a program to get it to do what you want, but a lot of the time you have to think critically about it, what you are trying to accomplish and how to do it within the constraints you are given. That sounds like engineering to me and sinse “engineer” isn’t a regulated concept where I am, I have no problem calling myself an engineer. I don’t see how its lying.

You have a very narrow definition of the term.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact