Technologies: Embedded systems, automotive, machine learning, signal processing, data science, real time computing, safety processes (MISRA, ISO26262, etc), MATLAB, FPGA.
Background: Masters in control theory and signal processing, working in the auto industry for the last 7 years, first on low level powertrain software then the last year or so on LIDAR/computer vision for autonomous vehicles. I've done the most work in C, but I'm now contributing to safety development work with the Rust consortium and Ferrous Systems through my current employer. Recently had to read the Linux kernel source and use the BCC tool suite to find a subtle issue in the network stack causing high latency on sensor data for AV, also coincidentally fixed most of the network timing infrastructure.
Currently doing software defined vehicle software architecture with a focus on fail-safe and fail-operational, loosely coupled, distributed systems. This includes some standards contributions and work with high level suppliers like Nvidia and Renesas for next-generation software/hardware system co-development.
Primary skills include hard real time embedded systems, safety critical applications, firmware development, system integration and complex hardware/software interaction debugging, along with detailed data analysis problems.
Side interests include machining, 3D printing, embedded system development, coffee roasting and furniture making.
Student housing near the engineering campus at University of Michigan is about 1/2 mile away from the reasonably close Kroger grocery store. When I started there in 2009, the carts didn't have the locking wheels and many people would take the cart all the way back to their apartment complex -- this meant that the Kroger store manager had to rent a moving van every so often and go collect them all as the carts cost $500~1000 new, so replacing them when they're 1/2 mile to a mile away wasn't good economics. Eventually this got so bad (never a cart at the store when you wanted one, had to go get them all the time) that they switched to the geolocking wheels, which was a pain because the geolock frequently false detected if you were at the back of the annoyingly small parking lot, so there were always carts stuck in the back ~20 spots.
Later, my girlfriend told me that the specialty foreign foods store near the Big Lots she worked at in a different Detroit suburb would intentionally come steal the Big Lots carts, rather than pay for their own (see above, expensive), so the Big Lots clerks would occasionally get sent on a mission with a moving van to get a bunch of their carts from the next shopping center over's parking lot. I think they might not have ever paid for the geolocking wheels, since Big Lots is low margin and those options are pretty expensive, but you can see the incentive to do so.
I've seen carts with stacks of disks for wheels (with gaps between them). The parking lot edges have grates that are the width of the disks, so if you push a cart over this, it'll fall in and stop moving. You have to pick it up and carry it out, which might be enough of a roadblock to deter some casual theft.
Was prosecuting the thieves ever considered? It wouldn't even have to involve law enforcement in this case but could be handled through the university. Sometimes even a little bit of deterrence is much more effective than a mountain of technical solutions.
Also they've been bought out by private equity an prices have shot through the roof -- Vegas is seeing massive downturns in tourism and from my cursory following of the problem, it's all price increases on food, booze, travel, hotels on the Strip making people uninterested in going.
I think a lot of people feel the same way. Not to say that I'm in a comparable situation -- I also want to leave, but there are good days and bad days and I don't feel nearly as economically comfortable as I'd like to leave, etc etc.
I guess a response question to you, OP, how bad is the job if you just start doing less? It's not like you care about promotion chances or long term outcomes, so just do exactly what's assigned and nothing more.
It’s pretty difficult because my manager is very incompetent and micro manages everything, he has called my personal phone after hours many times asking about things
The pertinent question is about your company as a whole. If it wasn't for your manager would you be content to stay?
If "yes", then blacklist his number and never answer after hours. When asked to do something different always explain how that affects the other work in progress. Only work 8 hours or whatever you are contracted to do. If your manager kicks up a fuss, then go to the next level and/or HR. Refuse to be demeaned. Of course, you could get fired, but then your manager might get fired for his incompetence. It is a risk. But taking the "I don't give a F**! FAFO" attitude makes you feel more in control.
I speak from experience. I once had a managing director give me a hard time, I blew up on him and waited for what I thought was the inevitable termination. A week later, and most unexpectedly the firm's partners fired the MD.
> It’s pretty difficult because my manager is very incompetent and micro manages everything, he has called my personal phone after hours many times asking about things
People can only take advantage of you if you let them. Why are you answering his calls after hours? By answering his calls you’re signaling to him that it’s okay.
Technologies: Embedded systems, automotive, machine learning, signal processing, data science, real time computing, safety processes (MISRA, ISO26262, etc), MATLAB, FPGA.
Background: Masters in control theory and signal processing, working in the auto industry for the last 7 years, first on low level powertrain software then the last year or so on LIDAR/computer vision for autonomous vehicles. I've done the most work in C, but I'm now contributing to safety development work with the Rust consortium and Ferrous Systems through my current employer. Recently had to read the Linux kernel source and use the BCC tool suite to find a subtle issue in the network stack causing high latency on sensor data for AV, also coincidentally fixed most of the network timing infrastructure.
Currently doing software defined vehicle software architecture with a focus on fail-safe and fail-operational, loosely coupled, distributed systems. This includes some standards contributions and work with high level suppliers like Nvidia and Renesas for next-generation software/hardware system co-development.
Primary skills include hard real time embedded systems, safety critical applications, firmware development, system integration and complex hardware/software interaction debugging, along with detailed data analysis problems.
Side interests include machining, 3D printing, embedded system development, coffee roasting and furniture making.
I always use a configured!(F2) htop (not mentioned as well). Always enable PSI information in htop (some red hat systems I work with still don't offer them...).
If you have zfs enable those meters as well and htop has an io tab, use it!
That's where you start down the eBPF rabbit hole with bcc/biolatency and other block device histogram tools. Further, the cache hit rate and block size behavior of the SSD/NVME drive can really affect things if, say, your autonomous vehicle logging service uses MCAP with a chunk size much smaller than a drive block... Ask me how I know
Literally did miracles at my last job with the first book and that got me my current job, where I also did some impressive proving which libraries had what performance with it again... Seriously valuable stuff.
Yea it is kindof cheating. I was helping someone debug why their workload was soft locking. I ran the profiling tools and found that cgroup accounting for the workload was taking nearly all the cpu time on locks. From searches through linux git logs I found that cgroup accounting in older kernels had global locks. I saw that newer kernels didn’t have this, so we moved to a newer kernels and all the issues went away.
Kernel/distro upgrades can cause severe regressions. Generally the approach we do is have the service run a canary which runs on the newer kernel for a while to A/B test the upgrade. Generally we rely on the service owner to validate this A/B test as we don’t want to own making sure services are healthy on the new kernel. This means it is primarily on the service owner to look at the results of the A/B test to determine if the upgrade is ok.
I build a cloud (such as AWS) and we have many tenants running on the cloud. Much like AWS will not force upgrade AMIs, we will not force tenants to upgrade either.
There was a big thing about this a few years ago -- companies didn't want class actions (too expensive in lawyers, primarily), so they forced binding arbitration agreements into their EULA. Then a big law firm filed thousands of binding arbitrations on behalf of what was basically the class. The company had to pay $1000's/arbitration in fees to the arbitration company, which also didn't have an incentive to reduce the number of arbitrations when the company tried to get out of it. Turned into an incentive to not put binding arbitration clauses in agreements...
That’s actually the standard in automotive and industrial applications — likelihood of failure vs consequences of failure, set the “acceptable” risk low and show proof that you’re not any higher than that level. Medical devices actually have a much higher “contributes in any way to any patient harm” risk analysis.
Remote: Yes
Willing to relocate: no
Technologies: Embedded systems, automotive, machine learning, signal processing, data science, real time computing, safety processes (MISRA, ISO26262, etc), MATLAB, FPGA.
Resume: LinkedIn -- https://www.linkedin.com/in/wcunning
Email: wdocunningham \@\ gmail.com
Background: Masters in control theory and signal processing, working in the auto industry for the last 7 years, first on low level powertrain software then the last year or so on LIDAR/computer vision for autonomous vehicles. I've done the most work in C, but I'm now contributing to safety development work with the Rust consortium and Ferrous Systems through my current employer. Recently had to read the Linux kernel source and use the BCC tool suite to find a subtle issue in the network stack causing high latency on sensor data for AV, also coincidentally fixed most of the network timing infrastructure.
Currently doing software defined vehicle software architecture with a focus on fail-safe and fail-operational, loosely coupled, distributed systems. This includes some standards contributions and work with high level suppliers like Nvidia and Renesas for next-generation software/hardware system co-development.
Primary skills include hard real time embedded systems, safety critical applications, firmware development, system integration and complex hardware/software interaction debugging, along with detailed data analysis problems.
Side interests include machining, 3D printing, embedded system development, coffee roasting and furniture making.
reply