So this has probably been bugging you for a while. Why you? Because it happened to you sometime in the last month, if not week and if not the last 24 hours! If it was a workday, of course. My first experience as an engineer was as a software developer. Oh, the good ol’e hours of fun while wrestling with compilers, OS issues and when you get down and dirty with some hardware, even counting bits and bytes. But there was one point I was yet to appreciate at that point. That while the problems are hard to solve, every search yields new result, there are always forums packed with information and possible answers (not to mention whole solutions and useful code snippets). And here is the part you should start to be confused. Yes, you! The RFIC engineer struggling with the user interface of your CAD software. That Analog designer lying in an embryo position in front of your computer, crying, because you can’t seem to place that footprint just right, or at all. Trying to export or import a comfortable format for simulation in an external platform? Pah!! How about dying, instead? Setting up a new module in your simulation? I hope you told your spouse you are not coming home tonight, eh?

Having said all that, this isn’t even the worse part. Now you are trying to take initiative and solve your own problems. You are looking for answers on the internet. You refine the search line once or twice, but for some reasons none of the links seem to be related. You start descending into forums, groups and you of course opened a support ticket. But you need this problem solved, now, not tomorrow between 10:00 and 16:00. The link mining has taken two hours already and you tried endless solutions. Three days and an endless fear of a termination hearing pass by and the problem is resolved. You put a notch on your belt and feel you have not only grown as a person, but also pulling your weight in the company and gain those invisible experience points that seem to be on everybody’s mind.
Stop, rewind. Now lets rethink why this happened. Before starting this fiasco, if an answer would be found online, then everything might have been a lot easier. It would diminish the achievement sensation, but lets get real here. We are here to solve R&D problems, not wrestle with faulty user interfaces all day. But most of us (including, sadly, this writer), after resolving a serious design tool issue, do one or more of the following things:
- Not documenting what we just did. This is the worse sin of them all, so it will be here first. By doing this, not only we don’t share this effort with anyone, but take the risk of forgetting what we have done. Sorry, it’s not a risk, it’s definite.
- Not sharing the conclusions. Even if you are the type to help others at work (and if you are not, we are watching you) with issues, this isn’t enough. If the results of the hard “research” (more like ploughing through glass) were shared in groups, forums, various stack exchange websites, no not only stack overflow and sharing in any way possible.
Naturally, this isn’t enough on it’s own, but it’s a start. A lot of data gets lost on the web, because it’s not in the first row of your google search. However it still is out there, hence it will be found. The last item on the list would be, however:
- Feature requests, bug reports and keeping in touch with our friendly neighbourhood support engineer. Here is were a lot of us recall any of the following: Ignored or mistreated bug reports, believing wholeheartedly that the company is trying to make the software as least friendly possible (I still believe this is true for some programs) and finding yourself better at certain aspects than the long-term support engineer.

None of these are excuses. Sadly, the developers in the CAD companies, are (you guessed…) engineers. And they think like engineers and not necessarily as users, or heaven forbid, new users. Yes, you will notice that a lot of software is not friendly at all towards the new user. This comes to be in the form of useless (or in-existent) help files, tutorials (step one – open project, step two – Design entire workflow of top-level chip design with large and small signal S-parameters) or endless non-intuitive menus. The bad news are, that this isn’t probably going to change. Maybe nudge a bit if a lot of people hassle the support with feature requests, improvement suggestions and feedback. But just maybe. So if you are allowed and have some free time, please share, share and share.
- Some possible forums: https://electronics.stackexchange.com
- https://www.edaboard.com/A
- little bit to generic, but still: https://www.quora.com/