6 ms·
ALL companies suck at writing software. Our tools are in the dark ages still. There is nothing that combines the wisdom of the past and applies it to the proble
by pling 12y ago
ALL companies suck at writing software. Our tools are in the dark ages still. There is nothing that combines the wisdom of the past and applies it to the problems of today.
- new299 12y agoWouldn't you say the same was true of hardware? What EE tools are available that help people avoid making stupid choices?
- reportingsjr 12y agoI'm pretty new to actual engineering (I will be getting a BSEE in one year), but I've worked for a couple of years at a hardware company. From what I have seen I think EE and other types of engineering are quite a bit more rigorous than Software Engineering is currently. Also keep in mind that for firmware often times an EE will be the one doing the programming and much of the time they picked programming as another tool on the way rather than as another separate field of work.
- new299 12y agoI think when you start picking apart a lot of electronic designs you see that there are a lot of bad EEs out there too. Software engineering and EE are different in a lot of ways though. It's a lot harder to modify a EE design after it's shipped. You're also often designing around a particular manufacturing process. I think that makes you focus on getting things working correctly before it gets out the door. Software engineering has a long way to go, but I can also see the EE world does too. A lot of the EE design tools suck, lack standards, and often don't (or aren't) integrate well with revision control. The design process therefore, tends to be a bit messy during development. The fundamentals of EE work do seem to been clearer than software engineering though. I think this is partly due to EE having developed a mature set of design patterns, but also because it relies on a standard set of components which are really based on physical properties and as such strict and concrete in their definition as opposed to most concepts in software engineering.