"labview on embedded systems" first job interview challenge - Page 1
Forum section: electronics / projects

author: Sasja
author_rank: Contributor
timestamp: December 17, 2014, 08:16:49 pm
content: Hi, I just had my first job interview today for an electronics job (used to work in research before i discovered i loved electronics, i'm a physicist). And it went pretty well actually, i brought my box of projects, pcb's and stuff to talk about just like dave advised (thanks mate) and they said they never saw someone bring stuff to the interview before!? I must have made an impression because they invited me right away for a new interview, or more precisely: a challengeI get one day to prepare a presentation on friday for their engineers about "labview on embedded systems" (30 minutes), a topic they chose knowing that i have never programmed in labview before. So I guess that's part of the test, to see how much i can find out in a day.So what topics do you think I should cover?Hmm, in case anyone from this company is reading along: i'm just using the resources i have, and eevblog is one of thoseWhat else should i mention? Well, they're a biotech measurement company, young, 30ish employees, i bet their products are expensive enough not to care too much about component costs and licencing fees and such. Also, the head of R&D admitted that using labview was one of the two decisions he never regretted, so I should keep that in mind.

author: Sasja
author_rank: Contributor
timestamp: December 18, 2014, 08:57:23 am
content: common guys, throw me something!I've been surfing NI's website and some Labview forums and read some blog posts, and got some useable material. But I was wondering about feasible alternatives, I read about Agilents VEE, another graphical programming tool, looks pretty much the same thing at first sight. Are there any other frameworks, maybe not graphical programming, that I need to consider? Some engineers seem to hate Labview with a passion, so if you do, please tell me what firmware stack/framework/language you would use for a high end tool that needs to do fast 16bit analog measurements, some actuation, driving a touchscreen and writing to usb, do some mathematics.Am I making any sense if i believe that for novel pricey measurement systems done by a small company that sell less than a 1000 a year, doing everything with NI's hard- and software solutions is a pretty reasonable thing to do? Maybe when sales go up and cheaper versions of the product are developped, another solution might be interesting (but a lot of work to implement)?I believe Dave dissed Labview a few times on the Amp Hour while Chris admitted it had it's place. So would a young tech company with basically 1 instrument be such a usecase Chris was thinking about?where are the "Labview Sucks!!" people around here?

author: jeremy
author_rank: Super Contributor
timestamp: December 18, 2014, 09:05:52 am
content: Well, the major problem is that few manufacturers make 16bit DAQ cards other than NI. But I often use python to drive actuators and perform acquisition instead of labview. The truth is that labview doesn't actually do anything "high performance" with respect to sampling, it just asks the DAQ card "start sampling at this rate, over this depth, etc, and fill this buffer". The silicon on the card does the rest.There is also a pythonIVI project on these forums which is very useful.Labview is a reasonable choice I think if you are making 1 or 2 machines, they are mostly custom, you need it really quick and the software is not complicated. But the moment you start doing any maths that isn't "do an FFT" or "subtract these signals" or use multiple nested loops, labview can become overwhelming.Labview FPGA is probably worth learning about too.Also, adding comments in the software sucks.edit: one last thing, I've had a lot of trouble with labview acquiring and holding >1 million samples (hangs/lockups). With python, it was no issue.

author: george graves
author_rank: Super Contributor
timestamp: December 18, 2014, 09:53:26 am
content: 1 day to prepare a 30 min talk about something you know nothing about? To a group? Man - good luck! Wish you the best. But that'sa.) kinda wasting the group's time?b.) setting you up to fail?If it was me, I'd be tempted to do 1 min on a lab view overview, and then show how you can do everything labview claims with the tools you already know.Friends don't let friends labview.(do you know it that's their main testing tool?)

author: Sasja
author_rank: Contributor
timestamp: December 18, 2014, 10:58:28 am
content: hey thanks for the input! i can use thatThe company indeed use 16 bit ADC's to read out optical sensors, and i've seen NI's also offers 24bit ADC's on their embedded hardware platforms. But 16bit means 16uV LSBaccuracyresolution (for 1V ref) and 24bit means 60nV, would it even make sense to use such a board instead of using a dedicated ADC right next to the sensor to reduce noise and then transmit digitally? Just a thought, not much experiece on the subject.I will definitely look into pythonIVI as I know python and i like it. At first I was tempted too to talk about an linux/python solution or something and explain why Labview sucks but that would not be wise after the head R&D told me he never regretted chosing Labview, and after reading throug NI's doc and checking out some labview fora I kind of start to understand why.Quote from: george graves on December 18, 2014, 09:53:26 amI will definitely use this quote in my presentationbtw. it's not their testing tool, it runs their product.UPDATE:i checked pythonIVI, and it seems to be more an alternative to using Labview for lab-automatisation, but not for embedding in a product, driving control loops, reading out sensors, managing a gui on a touch screen and so on. That's what they're using it for (i did sound pretty weird to me at first to)It's just seems to be an awesome solution stack from hardware to gui to get something up and running real quick. I guess it's hard to say "no" to such a thing in a rapidly evolving sector like biotech.

author: jeremy
author_rank: Super Contributor
timestamp: December 18, 2014, 01:20:08 pm
content: Quote from: Sasja on December 18, 2014, 10:58:28 amUnfortunately, it's resolution, not accuracy. Accuracy technically has nothing to do with the bit-ness of an ADC. Be careful!

author: Sasja
author_rank: Contributor
timestamp: December 18, 2014, 01:27:17 pm
content: Quote from: jeremy on December 18, 2014, 01:20:08 pmthanks for the correction! I'll keep it in mind

author: jeremy
author_rank: Super Contributor
timestamp: December 18, 2014, 01:32:20 pm
content: also, to answer your question, "makes sense" questions usually have an answer which is very implementation specific. For example, if all you are doing is trying to work out if an LED is on or off using a photodetector, then it probably doesn't matter. On the other hand, if you are trying to monitor a strain gauge and pass the signal through a electromagnetically hostile environment, you might be better off doing the conversion inside a shielded container close to the gauge and getting the signal out using differential or optical communication.Sorry there isn't an easy answer. But I always think that if you ask questions for which the answer is "it depends", then you are on the right track!

author: Gribo
author_rank: Frequent Contributor
timestamp: December 18, 2014, 01:34:28 pm
content: Ok, I'll bite.LabView as an IDE is nice for engineers and scientists who don't want to dive into a text based programming language. It is powerful and intuitive enough to have your test and measurement setup running within a week or so, without any skill in it.LV for embedded systems: Here things get more complicated and the NI shackles become much heavier. Using the NI various RIO systems has a stiff learning curve, and sometimes it requires skills beyond programming, as you might have to configure its internal FPGA. Generally, as long as you pay NI their dues, everything should be fine, as their support is top notch. Stop paying and you are in deep trouble.While the above is true, everything LV can do, can also be done in C++, C#, Python or VB for a fraction of the cost. The VISA interface is supported on all these languages and some of the obscure LV limitations do not exist in other languages. If your company is already paying the NI tax, LV is a great solution to test and measurement automation, if not, it is very expansive and requires maintenance.

author: zapta
author_rank: Super Contributor
timestamp: December 18, 2014, 03:04:22 pm
content: Quote from: jeremy on December 18, 2014, 01:20:08 pmAccuracy is bound by resolution.

author: c4757p
author_rank: Super Contributor
timestamp: December 18, 2014, 03:11:52 pm
content: Quote from: Sasja on December 18, 2014, 10:58:28 amProbably not the brightest idea if you're going for good impressions, unless they're an unusually relaxed bunch and you're unusually graceful with humor...

author: Sasja
author_rank: Contributor
timestamp: December 18, 2014, 03:24:56 pm
content: Quote from: c4757p on December 18, 2014, 03:11:52 pmi wouldn't consider myself unusually graceful, but we did have a few laughs during my interview yesterday, so i think i should get away with it, I do pretty much agree with their choice so i would just present it as "one of the answers after asking advice on the forum". If they dont like that, or the fact that i asked for advice on this forum, well then they're not the company i would want to work for, but i'm sure they dont mindbut thanks for the warning anyway, i'll tell you how it went later...and thanks all for the input!

author: miguelvp
author_rank: Super Contributor
timestamp: December 19, 2014, 03:05:10 am
content: Quote from: Sasja on December 18, 2014, 03:24:56 pmI would be careful if I was you. Not because you seek help on a forum but they might get the wrong impression that when you need help with some project you might be leaking information about their ongoing products and alerting their competition on what is going on.

author: tggzzz
author_rank: Super Contributor
timestamp: December 19, 2014, 09:25:54 am
content: Quote from: zapta on December 18, 2014, 03:04:22 pmIt can be a loose association. My company made a loss meter that had a resolution of 0.001dB and an accuracy of 0.1dB.The accuracy was not relevant to the customers: they were interested in the resolution and repeatability, since they were looking at changes over time and temperature.

author: Sasja
author_rank: Contributor
timestamp: December 19, 2014, 11:41:02 am
content: Quote from: miguelvp on December 19, 2014, 03:05:10 amprobably a good point, didn't think of that.So, i've just done my presentation and i feel like they didn't really expect a presentation like that, full off other peoples opinions straight of blogs, forums and some commerial propaganda, and what my impressions were of all this. But hey that's what i do if I quickly want to figure out if some approach i don't have any experience with would be a good or bad idea. I could have tried a more technical approach on embedded Labview but that would have been horribly boring to those engineers using it all the time.In the end i'm kind of happy i did it the way i did, not because it was any good (i'm no good at presentations and at talking out of my ass) but it did show them honestly how i function and now it's up to them to decide if i would have any value and to figure out if i would fit in. To be honest I'm not so sure myself now. Possibly I tried to early getting into the field professionally, maybe not, who will tell?Strangely enough, I also got an invitation just yesterday from a cloud storage software company. A friend working there somehow was talked into asking me to come over to have a chat with them,i know even less about that stuff than I know about Labview. What is going on with recruiting procedures these days??by the way, i did use the quote, and i did use the whole post of george graves at the end saying that this test was a)wasting their engineers time, b)setting me up to fail. Just to remind the people listening that I was indeed talking out of my ass about smth i don't know much about... I heard a giggle or two so I guess it was ok. Got to have a sense humor right.

author: free_electron
author_rank: Super Contributor
timestamp: December 19, 2014, 03:51:34 pm
content: Quote from: Sasja on December 17, 2014, 08:16:49 pmyou don;t need a day preparing for that and you surely don't need 30 minutes to present that topic.it can be condensed in one sentence , which in itself can be collapsed into on succinct conclusion.here's the sentence : Overpriced , overhyped , bloated middleware to do things that can be done with one line of c code.here's the conclusion : Neverquestions ?

author: Sasja
author_rank: Contributor
timestamp: December 19, 2014, 09:46:57 pm
content: hi free electron, thanks for joining in!what about this scenario: as a researcher you've developed some novel measurement procedure in the lab and you want to turn that procedure into a measurement instrument as fast as possible because you know it's a product the industry wants and will pay you top dollar for?Would it then make sense, as a startup, to go for a NI hardware+software solution in order to minimize time to market? I suppose you'll end up with overpriced NI hardware and you'll be paying the NI tax as someone else put it, but maybe the reduction of development time is worth that sacrifice in some cases?personally, i'm also pretty reluctant to the whole idea of a graphical programming language, and to being tied to NI products, but i'm just trying to understand why the head R&D was so confident about embedded labview being the right choice for them.

author: janoc
author_rank: Super Contributor
timestamp: December 19, 2014, 10:42:55 pm
content: I had a bit of experience with a LabView based environment for Lego Mindstorms. It was supposed to be used for teaching programming, because, you know, there is no scary monster of having to type in any code, you can only click with a mouse! In the end it took longer to do anything beyond very trivial stuff in that IDE than it would have taken in C, because we were constantly fighting the clumsy and buggy software. Also the expressiveness of the graphic language is very low - anything non trivial takes a huge amount of space and it is next to impossible to get an overview of, because it doesn't fit on the screen no matter what. Even the kids I was teaching loathed it.I can see why a researcher would use it to cobble up a data acquisition apparatus for their experiment quickly, but the idea that someone uses this to actually build products makes me shiver with horror.

author: Sasja
author_rank: Contributor
timestamp: December 20, 2014, 10:11:37 am
content: I think you're right, i found so many stories of people getting frustrated about being forced to work with it and ending up with unmanageable spaghetti-code, literally a mess of wires on your screen.An interesting read was this blog post and especially some of the comments on it:http://www.briancbecker.com/blog/2011/why-i-detest-labview/I think a lot of this frustration stems from NI selling this as a solution that lets you make things just work without having to program. That's wrong, labview should be approached like a programming language, and you should learn how to code properly in any language you use, be it a graphical or a text ('real') programming language.You can write shit code in any language, only it's easier in labview due to its learning curve.Compare it to using Word vs using Latex for document formatting...

author: janoc
author_rank: Super Contributor
timestamp: December 20, 2014, 04:11:28 pm
content: Quote from: Sasja on December 20, 2014, 10:11:37 amThe problem is that people who don't know how to program tend to think that not having to type the code will have it easier for them. That is the target group NI (and many others proponents of these graphical languages) peddle their wares to. In the end they discover it didn't help at all, they still have to do the same work, but now they are saddled with a crappy and expensive tool as well ...

author: Wim_L
author_rank: Regular Contributor
timestamp: December 21, 2014, 04:07:37 am
content: Quote from: free_electron on December 19, 2014, 03:51:34 pmThe perfect combo with "the head of R&D admitted that using labview was one of the two decisions he never regretted, so I should keep that in mind."I'm inclined to agree though. I've had limited experience with Labview, but it wasn't particularly positive. Compatibility between versions was often more complicated than it should have been. Lots of test hardware has Labview drivers, but not all of it is of decent quality.It may be a useful, productive system when your problem is one Labview has already solved nearly completely. Something you can do with just a few components and obvious connections.If you're trying to do more complicated things, proper program design becomes very important. As others have mentioned, you need good programming skills. And good programmers who also know Labview aren't that common. Worse, their programming environment is specific to Labview, and not being textbased means many of the tools programmers are used to aren't available. Instead, you get screens full of spaghetti to look at.

author: Sasja
author_rank: Contributor
timestamp: January 06, 2015, 07:29:27 pm
content: Just a quick follow up: i just got hired!chatting to one of the engineers i also found out afterwards that one of the employees had been reading along here(so in case you read this: hello, looking forward to working with you)

author: Alex Eisenhut
author_rank: Super Contributor
timestamp: January 06, 2015, 07:44:07 pm
content: Quote from: Sasja on January 06, 2015, 07:29:27 pmCongratulations!

author: jeremy
author_rank: Super Contributor
timestamp: January 06, 2015, 07:56:29 pm
content: hooray! Sounds like a good employer

author: Smokey
author_rank: Super Contributor
timestamp: January 06, 2015, 10:47:58 pm
content: Good job!It would be interesting to find out why the labview presentation as an interview task, if they didn't already tell you.

author: c4757p
author_rank: Super Contributor
timestamp: January 07, 2015, 04:09:49 am
content: Quote from: Sasja on January 06, 2015, 07:29:27 pm

author: vargoal
author_rank: Regular Contributor
timestamp: January 07, 2015, 04:35:23 am
content: Quote from: Sasja on January 06, 2015, 07:29:27 pmCongrats!Also for future readers I would probably talk about how labview is better than their chief competitor matlab when it comes to electronics, although simulink is allowing matlab to catch up.

author: c4757p
author_rank: Super Contributor
timestamp: January 07, 2015, 04:42:36 am
content: LabVIEW: At least we're not MATLAB

author: vargoal
author_rank: Regular Contributor
timestamp: January 07, 2015, 04:46:31 am
content: Quote from: c4757p on January 07, 2015, 04:42:36 amya that matlab vs labview rivalry could be it's own thread

author: c4757p
author_rank: Super Contributor
timestamp: January 07, 2015, 04:51:47 am
content: Quote from: vargoal on January 07, 2015, 04:46:31 amOh dear, I hope I haven't started something, I was just kiddingThey're both eldritch abominations...

author: Sasja
author_rank: Contributor
timestamp: January 07, 2015, 08:19:17 am
content: Quote from: Smokey on January 06, 2015, 10:47:58 pmthanks!I believe it's a kind of stress test. I guess it does show how well you can improvise and present something.If they let candidates talk about something they knew well it would mostly show how well they knew that particular subject, and maybe they have done such a presentation before, so it would be much harder to compare candidates on an equal basis. Also, i had allready done a technical interview by then so that aspect was allready covered.

author: vargoal
author_rank: Regular Contributor
timestamp: January 08, 2015, 06:08:45 am
content: Quote from: c4757p on January 07, 2015, 04:51:47 amNo worry, nothing was started yet. Besides I don't have that kind of time