| So for me.. "Engineer" is actually different. Honestly I think they are all different however I'm especially fond of engineer and care to differentiate it. In my opinion an Engineer is a problem solver, at scale. Similar to a Contractor vs Civil Engineer. Sure a contractor can build you a good bridge for your backyard but you don't get them to design you the Golden Gate. Similarly you don't build DynamoDB or BigTable with programmers, in my opinion you need Engineers. Outside of analogy, the biggest difference I can think of is probably the ease at which youre able to be taught new things and the breath of knowledge that they already have. An engineer, at least in my experience/opinion has more breath of knowledge and a far easier time teaching themselves new things than a programmer. However, some programmers actually have more knowledge about a specific topic. For example I couldn't currently profile a running JVM (I'm sure I could learn) but to someone taught to program in Java and specifically took classes on Java, it is second nature. Again similar to how a civil engineer couldn't build you a closet. Or mechanical engineer couldn't fix your Honda Civic. Anyways, I'm just being a bit defensive since I had to go through 1 year of general engineering (physics/chemistry/project management) 1 year of electrical engineering and 2 years of computer engineering. For the record, I don't think you need to have gone to university to be an engineer. That was just my motivation for segregating its definition as much as I could. |