3 ms·
I am a former engineering operations manager with 30+ years of high-tech product development experience in both hardware and software. I would define an effect
by jschveibinz 4y ago
I am a former engineering operations manager with 30+ years of high-tech product development experience in both hardware and software. I would define an effective engineer as one who can:
A) work together effectively with other engineers, scientists and team leaders;
B) define the problem being solved in detail (requirements) through thorough investigation and analysis;
C) devise a safe, cost-and-time efficient solution (design) that addresses a majority of the requirements using fundamental knowledge of math, science, logic and prior engineering solutions;
D) carefully estimate the cost, schedule and labor/expertise required to build the proposed solution;
D) document and articulate the design and cost/labor estimates for others to review, analyze, and provide feedback and expert opinions so the design may be improved and the cost/labor can be minimized;
E) build rapid prototypes for part or all of the design to reveal hidden requirements, flaws and/or potential design nuances that can be better understood by engineers and the customer;
F) devise a way to test the proposed solution so that all requirements can be demonstrated as complete;
G) build and/or manage the labor team required to build the solution with an eye for quality and maintenance of cost and schedule limits;
H) test and/or manage the testing of the as-built solution; and
I) be able to communicate effectively during the entire engineering process with the customer, other stakeholders and corporate management.
This is what is required to be an “engineer,” whether that be an electrical engineer, a mechanical engineer or a software engineer. Anyone not meeting these qualifications is a technician and not an engineer.
- contingencies 4y agoA very traditionalist view. Close to the mark, but also impractical. I manage a small but very cross-disciplinary R&D team (also hardware/electronics/software) and do not expect people to execute on all of those capabilities. It would surely be a great help if they could, but it's just unrealistic to find people who are that well rounded. I find that engineers are often domain-specific and their thinking may be clouded by a core or familiar domain. For example in cross-domain problems you'll often see software engineers who want to solve everything with a stack they're familiar with, mechanical engineers who reach directly for industrial automation components, and electronics engineers so stuck in high-cost-of-iteration or large production mentalities they are unable to operate in high-iteration modes with alternative tradeoffs. In general, I would say that: (1) engineering process management is a different discipline to most domains of engineering; (2) competency at generalist or cross-domain engineering is a relative rarity in those identifying as engineers; (3) R&D engineering is a different skillset (both engineering and management process wise) to production engineering (and the magnitude of these differences is often related to the fabrication/iteration processes and associated costs and timelines in the domain in question); (4) Engineers who excel at cross-disciplinary thinking and novel problems tend to be those without overly formal engineering backgrounds; (5) In some ways, all management is human process engineering, and it's simply unrealistic to expect all engineers to be effectively multi-domain.
- feoren 4y agoSay I give you a box with 1,000 puzzles written on sheets of paper, and I ask you to estimate how long it will take to solve all the puzzles. You take out a small random sample and time how long it takes you to solve each, and then you develop a cost distribution from that, scale it up to 1000, add a healthy 2-sigma buffer on top, and tell me you're 95% certain you can solve all the puzzles within that time. You've accomplished your step D. Oops, on one of the papers was the Collatz Conjecture, so you're fucked, I'm fucked, everyone's fucked, everyone's unhappy, and you get fired. Your steps work great in an idealized perfect world where everything is simple, and they are absolutely awful, bloated, and ineffective in the real world. The perception that this is what engineers should be contributes to why a huge percentage of real-world projects go over-budget by triple-digit percentages, get cancelled entirely, or completely fail to live up to their expectations. It's quite the other way around. If you're doing something new, you just don't know everything yet, so you simply cannot do this monotonous waterfall method. You can only do this with well-known problems that have well-established solutions. If you define an engineer as someone who is producing a practical solution to a problem that has never been solved before, at least in this exact way (on this site, in this heat, at that speed, at this scale, within that organization, etc.) then you have it exactly backwards -- anyone who follows this process is a technician, solving a problem by following an SOP or a textbook or a WikiHow article. Engineers realize this is all just dumb bullshit they have to do that takes their time away from actually exploring, understanding, and ultimately solving the (probably different, by this point) problem.