Seeking a mentor/career advice - Page 1
Forum section: electronics / general

author: yamanoorsai
author_rank: Contributor
timestamp: May 18, 2015, 01:25:18 am
content: I work for a startup company where there are people with different backgrounds. I am the only embedded systems engineer in the company and I have been employed by my current employer for the past 12 months. The manager who hired me left the company this week (under very good terms) and I am going to sorely miss working with him. He was a great source of advice in the past year.I have some experience in building devices that have a microcontroller/Linux SBC as their heart and I have worked on different projects in different phases of their product life cycle and successfully completed them.At my previous job, I had a colleague to discuss ideas, resolve any challenging issues, troubleshoot problems, collaborate on challenging projects etc. With the departure of my manager who was a great resource, I would like to be on my toes in terms of my capability to execute projects.I have lots to learn in terms of designing + testing embedded devices. I would like to learn more about designing fool proofed embedded devices by following good practices while developing applications. This includes improving my PCB design skills (I am horrible at this point), following good coding practices for microcontrollers as well as testing them.I have been learning from open source resources (e.g. practices to share centroid data with PCB assembly contractors, format to ship gerber files to manufacturers etc) and forums like electronics stack exchange to execute my projects. I am trying to find a potential mentor/source with whom/where I couldcollaborate on a project/review my own workto learn more about standard embedded system design practices etc. I am not seeking help to aid my employer but rather trying to learn more to prove that I am employable at my next job.Any thoughts/advice on how I should proceed? While I am not in a position to pay for a mentor, I am thinking of working on projects as a hobby, publish them and seek advice. Is this the right way to approach this situation?

author: Psi
author_rank: Super Contributor
timestamp: May 18, 2015, 06:14:03 am
content: Quote from: yamanoorsai on May 18, 2015, 01:25:18 amDon't get too hung up on making your PCBs look like works of art.If the PCB works perfectly fine then its good enough.Making it look like a art piece is more for the enjoyment of the designer, from the company's perspective it doesn't matter as long as it worksMaking a nice looking PCB is usually done to take up time so you don't have to do something else

author: yamanoorsai
author_rank: Contributor
timestamp: May 18, 2015, 06:26:45 am
content: QuoteSo far that's what I have been doing -- Getting things to work.QuoteHa Ha. I downloaded some PCB design files of some open source projects. I was impressed by the effort they put into organizing the layout + routing. Though I found some articles on layout practices, I could never perfect it and I was not sure if I was doing it right.

author: Psi
author_rank: Super Contributor
timestamp: May 18, 2015, 06:49:21 am
content: When i design a PCB it always starts off looking like someone threw-up on the copper.The more time I spend playing with the component locations and different track options the better it looks until i decide i'm no longer ashamed to let the manufacture see the grebes

author: yamanoorsai
author_rank: Contributor
timestamp: May 19, 2015, 03:56:00 pm
content: QuoteQuoteYou both brought up good points. One of the main challenges I am currently facing is the time factor. My employer executes all projects in phases. A phase spans 4-5 weeks approx. I screwed up something in a particular phase where I did not hit all of that phase's goals. In order to accelerate the project, I was asked to capture the schematic, design a PCB, manufacture and assemble 50-100 of them (using a 3rd party vendor), write the firmware, software that interacts with the device in a 5 week period.There was no intermediary step of building first samples and I was not able to verify certain characteristics of the device. My team mates were upset at the fact that the device is not performing up to the mark (it still worked). I was overwhelmed by the work load in doing everything within a 5 week period. I manually routed most parts of the board and used autorouter at the end. I feel guilty for doing it but the schematic capture,PCB design,quotes,BOM prep, PCB vendor interaction took me 2 weeks of that phase.I plan to download open source projects and emulate what they did and learn more on a day to day basis. I decided to do this for both brushing my programming and PCB design skills.

author: Asmyldof
author_rank: Regular Contributor
timestamp: May 19, 2015, 10:46:00 pm
content: Quote from: Psi on May 18, 2015, 06:14:03 amOften the case, but not entirely always. It depends a bit with what you call "work of art", but usually the more estheticaly pleasing PCBs do have reasons for being such. One reason is very low noise performance, high frequency signalling, low delay, accurate coupling, very specific inductance, capacitance or complex-impedance requirements. A nice rounded corner is not just pretty, it can be very useful as well, as are straight lines, as are lines that seem to neatly weave over each other at several points.Do I sometimes do such things because after a hand full of years it's not that much of a challenge and even if it's not a requirement it looks nicer, sure. On the other hand it's always nice to get the customer feedback in and it says "Wow, there's virtually no noise in this bit, we didn't spec that, but damn useful perk!"@yamanoorsai If you happen to work in Altium in your design work, the basics that you now should have might very well put you in the exact place that looking for Robert Feranec's tutorials on YouTube for specific subjects or problems in your designing exercises. I know he hangs about these forums as well, but googling/youtubing for "Fedevel" + few words describing your current challenge might get you a nice vid showing step by step what to do. They've been very useful for me when I switched over to Altium for all the work.As for learning about what, why and when, I seem to remember a good way was asking of yourself or a book specifically "Why does this track do..." or "why would they have done.... on this PCB?" Now, lo and behold, we have the internet, so you can actually type that question in Google and have a good bet a satisfying answer comes up on a reliable site. When you're not very critical yet it's a good idea to stick to sites where you know a lot of people critically look at what is being claimed. Such as Stack and Here.As for coding, the best way to get that down is finding the gurus and their on-line works in your specific language and/or environment. If you are looking to C/C++ for examplewww.cplusplus.comandwww.cprogramming.comhave very neat tutorials and let-us-explain segments. Apart from that the creator of cprogramming.com actually wrote "Diving into C++", which you can buy off his site in PDF for about $20,- and it'll get you going with the basic language constructs very neatly and as well written course books go, $20 is a steal.Then when you have specific issues, questions or problems StackOverflow is an exceptional resource that gets so many professionals that it's highly improbable a question has not yet been asked and answered, unless, maybe, if it's about the latest changes (C++14 for example). And, in fact, awesome people like Bjarne Stroustroup (father of C++) actually are on there regularly, though you'll be hard pressed to see them answer your one question.If you already have a hang of the language you're using, or got there through sites as mentioned above or similar ones, you are often best off looking for a brand-based-nerd corner with some cool examples, open source projects and Q&A fora. For example, if you want to learn about os-less programming on an Atmel you could seek out AVR-Freaks for 8-bit Atmels and possibly these days also the ARMs or a product specific corner of Stack or similar fora, to learn the ins and outs of that language as used on your devices.

author: yamanoorsai
author_rank: Contributor
timestamp: May 20, 2015, 04:27:20 am
content: QuoteQuoteI agree with you. I have been doing that for the most part. For e.g. I posteda questionin a different section of this forum. I managed to solve the problem with the suggestions provided. I posted this question for a couple of reasons:a) I wanted to leave behind a good legacy when I move on to the next position. Hence, I am trying to standardize my design practices and I was seeking to ensure that whatever I am doing is something generally closer to the norm. For e.g. as Psi had put it, I did not want to leave behind boards that look like someone threw up on copper. I think I have a plan now.b) Though I remember learning about features of a microcontroller like the watchdog timer while working with PIC microcontrollers in college, I never bothered to setup one in one of my projects. At my previous job, I was reviewing my colleague's code for some references and I learned that I never setup watchdog in my project. I was a bit concerned that I do not have a peer to discuss such ideas, emulate good work etc.Thanks for the tip on the Robert Feranec's tutorials. I did find them on youtube. I do nopt use Altium but I do plan to review the videos.

author: Asmyldof
author_rank: Regular Contributor
timestamp: May 21, 2015, 08:54:13 am
content: That is the rub, right there, I only know what I have used and I only remember what I learned recently.And that's a good thing, because if I would iterate the process of learning to design in UltiMate around 1997, everyone here would certainly question the relevance of any of it.But I'm sure there's people like Feranec for every suite and every step willing to put their time in to put what they know on YouTube. Certainly much of what he does and tells applies to design as a whole, it's just extra easy if you can follow his steps yourself.Anyway, you seem to have the exact right attitude to progress quickly, so one thing you mustn't do is worry too much and just keep asking what you need to know, keep looking at the stuff you come across and try a lot of small things on your own with what you have learned and see how they work. One very good way to learn is to make mistakes yourself. You learn ten times as much from your own mistakes as from those others make, just make sure you make them in things that cost dollars, in stead of thousands.