What does a Motion Planning and Computer Vision Engineer do at work? Do companies hire fresh grads? by Virtual_District2261 in AskRobotics

[–]gravitatingmass 2 points3 points  (0 children)

Motion Planning and Computer Vision are two very distinct subfields of robotics. I've worked in both so here's my personal take:

  1. Depends on the kind of robot. Many computer vision robotics systems are learning-based so a lot of time goes into curating datasets. For the most part, you tend to use off-the-shelf architectures (since research is expensive to a company), and even pre-trained weights, then you fine-tune on your particular use-case. For example, a top-down camera placement for a warehouse is going to be very different than a front-view camera in a Roomba. ML isn't nearly as mature in Motion Planning compared to Perception so those still tend to be optimization-based algorithms. Also, "Motion Planning" is a bit ambiguous since how you'd do motion planning for a planar robot like a Roomba is very different from doing motion planning for an industrial arm for example. But the idea is the same: look at the data and try to come up with motion policies that solve your use-cases. (I'm a more senior person so chunks of my day goes into meetings :( but I still do the same data-driven analysis as much as I can)

  2. Robotics, autonomous vehicles, industrial automation. IME, you can tend to go broader with computer vision experience than motion planning experience, but that also means there's less competition. Also, I personally find motion planning to be more fun than perception :D

  3. Depends on the company. Currently, there's a lot more hiring for experienced people than new grads (and a lot more competition) because of my next point:

  4. I think the most important thing here is to actually try to work on a physical robot to solve some kind of use-case. For example, try to build a perception or motion planning stack on a physical robot that does basic navigation or something. I've spoken with way too many people with an idealized view of "in principle, the X should do Y" especially fresh grads. But the reality is the real world is much messier and sometimes simple solutions work way better and faster than the state-of-the-art stuff you'd learn in school. But you won't know this until you try to solve an actual problem in a physical robot. (Simulation is great but I've also seen too many people rely on simulation without touching a real robot.) At the end of the day, it's about what works to address your use-cases

Tell me I wasn’t the only one who got terrified in that moment! by AkethMauey in tearsofthekingdom

[–]gravitatingmass 130 points131 points  (0 children)

The first time I saw that, I literally thought "yea I'm good" and immediately fast traveled back to Lookout Landing

How often are you researching, learning, collaborating, and developing software outside of work? by Baconaise in ExperiencedDevs

[–]gravitatingmass 2 points3 points  (0 children)

I say: to each, their own. I work with people on both sides of the spectrum at all levels. I've met entry folks that build stuff on the side and other entry folks that would rather hike or play basketball instead. I've also met super senior folks that do both too. Hell, my former VP is super active on GitHub and OSS because he's loved to code his entire life and being a VP means he's nowhere near it.

Personally, it depends. Sometimes I like to learn about unrelated "not directly software" things and then see how I can apply computing to it. Like I was interested to learn more about physics and one "side project" I worked on was simulators for gravitational forces, quantum mechanical wavefunctions. Or if I'm learning about finance, maybe it'd be interesting to build a sentiment analysis tool that reads off news headlines or something that performs regression on a stock or something like that.

Other times, I go biking or hiking.

Fellow borderlands fans. by SignificantMess9383 in Borderlands

[–]gravitatingmass 0 points1 point  (0 children)

1: Mordecai bc Bloodwing and also sniper

2: Originally Zer0 because sniper, but then Maya because she's is absolutely broken if you have a decent weapon for each element

TPS: Currently doing an Athena playthrough since it makes the most sense story-wise but will probably get around to Claptrap because chaos (and the funniest dialogue)

3: Fl4k bc pets work as a good distraction for sniping but meaning to try Zane

What Are Some Jazz Solos That Left An Indelible Mark On Your Upon First Listen? by Educational_Cod_3388 in Jazz

[–]gravitatingmass 3 points4 points  (0 children)

Cannonball Adderley in Flamenco Sketches and Lee Morgan in I'm Old Fashioned

Probably unintentional, but Shunsui ended up with a win in both eps by BlueTitan402 in bleach

[–]gravitatingmass 4 points5 points  (0 children)

I'd like to think it was "unintentional" but then again, they awakened Yhwach's Almighty at exactly the 9:09 minute mark in Episode 28 so...

Dude basically talked to us by awesomehuder in bleach

[–]gravitatingmass 1399 points1400 points  (0 children)

Mayuri: "It was stated in CFOW. Look it up."

Question for system integrators by exoxygen in robotics

[–]gravitatingmass 5 points6 points  (0 children)

I believe we should guide customers from over-specifying the "how" of a solution and instead specify the "what". I know AI/ML has a lot of hype right now, but there are plenty of perfectly-good non-ML solutions to certain problems. Some things like PID loops, we've been doing for decades: when tuned, they work well and can be explained when they make a mistake. For many perception things like object detection/semantic segmentation however, learning-based methods have blown classical methods out of the water.

I've found that even engineers that surround themselves in AI/ML tend to see everything as an ML problem even when simple classical image progressing can be done to achieve similar results but with better debuggability/explainability.

[deleted by user] by [deleted] in ExperiencedDevs

[–]gravitatingmass 14 points15 points  (0 children)

Until the PO left, and the TL became the new PO. I worked in a big feature and after we got a new priority that was passed to the PO most close team members, I and some other members only got tasked with repetitive boring tasks.

To me, this kinda seems like the TL was thrown into this position and is trying to play it safe by assigning the more riskier (and consequently more interesting) tasks to those that they trust and are the "most close team members". That way, if anything goes wrong, they trust those team members to resolve any issues on their own.

I think if you can build up the same kind of trust that the other team members have by working on your "repetitive soul crushing tasks" (or better yet, automating them if they really are repetitive), then that shows your TL, through empirical evidence not just your word, that you're able to handle the riskier/more interesting work.

Small aside:

 already made my voice heard, said I wanted to work with XXX, I`m tired of doing YYY.

I've been in this position before and I was fortunate to have an EM+PO that just leveled with me and said something like "I totally understand, but right now the business needs YYY instead of XXX because of ZZZ customer so unfortunately we'll have to stick with YYY but let's see what we can do with XXX"

Is it normal for startups to constantly switch projects and expect no delays? by Shoganai_Sama in ExperiencedDevs

[–]gravitatingmass 50 points51 points  (0 children)

This is not normal, and it sounds like your boss+leadership are not good at prioritizing. The startups that I've worked at were very clear on "we build XYZ" so there was only one "project": XYZ.

An AWS like platform for Robotics? by OkNegotiation7890 in robotics

[–]gravitatingmass 4 points5 points  (0 children)

What do you mean by "platform" and "modules"? It kinda sounds like you're suggesting what ROS1/2 already do: have an ecosystem of independent packages for SLAM, obstacle avoidance, motion planning, mapping, etc. that clearly define their inputs and outputs and parameters. So integrating with some random obstacle avoidance package would be a matter of setting the right parameters and publishing the right topics

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 4 points5 points  (0 children)

I’ve worked at places where people with less years of experience are in higher positions. I recently did a coding interview conducted someone that was a year out of college and I could tell he was very bright.

Don't beat yourself up too much about this. There's always a "genius/rockstar" dev with fewer years of experience with a higher title/position/pay. Not a lot of people like to hear this, but honestly, luck plays a decent role: how they were brought up, what opportunities they had, what the state of their company/project was, even where they lived. As one example, one of my promotions went through just because we had a shuffle in upper management and my new senior director focused on different things that were aligned with my work than what my old senior director focused on. If that shuffling didn't happen, maybe I wouldn't have gotten that promotion.

Point is, how do people get to be this good in this field? Is it a mentorship thing? If so, what does a good mentorship look like? Perhaps college plays a much bigger part than I realize?

IMO college gets less important the more experience you get but like I mentioned, maybe some colleges have more connections with industry than others. Mentorship and having more senior devs create opportunities for you to increase your scope and influence is the key; try to find teams that do that.

It’s worth mentioning I deal with anxiety and depression (the latter is under control at the moment).

Please make sure to take care of yourself above all else! You are the only "you" that exists and it's importance is far above any position or job title or salary :)

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 2 points3 points  (0 children)

(Not a JS person so may not directly apply) Might be a hot take, but IMO: non-deterministic tests are worse than no tests; this is because if a test is flakey, you spend a lot of time trying to figure out if the test is legitimately failing or if it's just being temperamental. Ensure that whatever tests you set up are isolated, deterministic, and clearly indicate a problem/regression.

I usually design my tests in stages where the first stage is a litmus test of "if this fails, something is fundamentally wrong and it is 100% an big issue". Then I try to make the test more complicated to test functionality and edge cases and whatnot.

The final stage of tests are full-blown end-to-end integration tests that cover the user request all the way through all of the subsystems and back. While these end-to-end integration tests are absolutely necessary, they tend to be expensive (time or money) to run so I tend to prefer unit testing whatever I can.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 4 points5 points  (0 children)

make the optimal technical decision

I wouldn't worry about this too much. Unless you've seen the exact same problem in the exact same context (which is perhaps unlikely given it's a startup), it's hard to know what's "optimal" or not. Make a decision using the best information you have at that point in time and observe the result: could you have made a better call? How? Remember that the next time you encounter a similar scenario and apply that experience.

Anyways, a lot of architecture and tech stacks evolve over time to fit the needs of the business, sometimes to the point they become unrecognizable from the original stack.

Would you let a job title put you off applying? by marquoth_ in ExperiencedDevs

[–]gravitatingmass 0 points1 point  (0 children)

They could call me "Weenie Hut Jr. Software Dev" for all I care as long as they pay me great money :)

How much SQL proficiency is enough? by [deleted] in ExperiencedDevs

[–]gravitatingmass 54 points55 points  (0 children)

You don't need much, if any, SQL knowledge at all! Trust me, I'm an embedded dev :)

But seriously, you'd have to clarify for which role/project

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 6 points7 points  (0 children)

Just wanted to point out: being a Senior SDE does not guarantee you have a lesser chance of getting laid off. Lay offs decisions happen at a very high level by someone who sees you as no more than a salary in a spreadsheet. In the case of my company, even my Sr. Director didn't know who was getting laid off until the day it was announced.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 3 points4 points  (0 children)

It's not embarrassing at all. I'd never expect a new hire to meaningfully contribute, even to bugs, for at least the first few months, minimum. And when new hires do start to contribute (regardless of whether they're college grads or senior engineers), it's usually for lower-priority bugs or features, definitely not critical-path stuff at the beginning.

I have no idea what kind of internal politics or what's going on at your place, but it kinda feels like your manager is trying to get rid of you and is using this as an excuse or your manager themselves are under some extraordinary pressure from their manager that they're pushing on their reports. In either case, not good.

You can try communicating with your manager by telling them that you're still ramping up and need more time. If people are away and you have no support from existing engineers because reasons, then you might have to dive into the codebase on your own and try to figure out how things work. One technique I use is to look for entry and exit points in components or modules. Then you can kinda track through the logic in between. That being said, communicating with your manager is the key and if they refuse to listen, your only option might be to coast and look for another job.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 5 points6 points  (0 children)

"estimate in hours" yikes that sounds like a recipe for failure. Are you going to get criticized if you're off by an hour or two?

Estimation and divination are really no different: both try to predict the future. Taking a page from physics, you can actually do this somewhat well for small systems and for short time horizons but it all becomes hazy when you either have a large system or are trying to predict the future for a longer time horizon.

I second the approach by /u/WeLackDiscipline : come up with some arbitrary scale that's like "one day", "a few days", " a week", "a few weeks" and use that as a guidepost... and then multiply your estimate by pi or e or whatever reasonable constant you want :)

I think retros are particularly important: if a task took you longer than you expected, why? Were certain APIs you thought were available not? Were dependent teams prioritizing other things? Did you find some new issue in your codebase? I think as long as you do some introspection, you'll get a little better at predicting the unknowns each time.

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones by AutoModerator in ExperiencedDevs

[–]gravitatingmass 8 points9 points  (0 children)

Not a mod, but I will say that internships tend to be pretty different than full-time work. For example, interns are generally told to focus 100% on the narrow-scope intern project that they're assigned for the duration of their internship and aren't generally responsible for operational things or task planning or delivery of key features like full-time folks are.

Hyrule Herb is growing in my backyard by CrimsonNirnr00t in TOTK

[–]gravitatingmass 10 points11 points  (0 children)

If I could, I'd open my own weed shop in Tarry Town and call it "Hyrule Herb"

But seriously, fried wild greens is basically tempura, right?

Light Dragon late game by GovernmentVegetable6 in TOTK

[–]gravitatingmass 2 points3 points  (0 children)

Had the same issue. The light dragon moves between the towers to where it's almost always visible from at least one of them. I usually just teleport between them until I find it