Skip to content

Comment on Getting into robotics as a software engineer

Comments

This is very interesting.

But quite a lot of CS people -- well at least I hope it is not just me -- end up on the web development trajectory despite or because of having less than good enough understanding of e.g. trigonometry, geometry and calculus... all of which start to matter a lot when you are starting to make things; especially things that move and consume electricity.

I am a good programmer but a weak mathematician. I have a 3D printer now, and I'm starting to learn FreeCAD and microcontroller stuff actively rather than just reading about it, and run up against my maths weakness all the time.

I have recently discovered the three books Joan Horvath and Rich Cameron wrote:

https://www.makershed.com/products/make-trigonometry-print

https://www.makershed.com/products/make-calculus-print

https://www.makershed.com/products/make-geometry

boukOP

Some trig and geometry is definitely useful—but it's quite limited to be honest. For most things you can use existing algebra libraries and for most things someone else has figured it out before!

I don’t know that I agree, even at the simple project level. If the problem you’re trying to solve has been solved exactly before and you can find a good reference to copy then you might be ok (for example the inverted pendulum problem). But in my experience you end up solving a related problem instead and that’ll often require re-deriving the equations of motion with whatever quirk is required.

The other part that’ll catch you pretty hard if you don’t have strong trig and linear algebra going for you is that debugging is going to be really hard. I admittedly have been deep in positioning-and-attitude control for 5 years now, but the ability to look at a transformation matrix or quaternion and mentally grok exactly what it means odd going to be incredibly useful when you’re trying to figure out why your system isn’t doing what you think it should be.

Indeed. But I think I would like to be oriented better, and not feel completely outside it.

My calculus is strongest; I can deal with that basically. My geometry is so poor that I am surprised I passed my maths A level.

These books excite me because they give back that, er, constructivist thing that has always appealed to me -- Piaget, Papert, Minsky.

I enjoyed your article, thank you for writing it.

It’s just used to gatekeep still. It justifies why they should hire the new grad masters student with a similar background over someone who has actually written the code before.

I guess this may be true. But my lack of knowledge of these things is on a different plane to the "knows well-enough" vs "expert in" distinction that might be useful for gatekeeping.

My grasp of trig has relapsed to 13-year-old level. It's an embarrassment!

Web dev just has the best pay/perks for the amount of work.

It was exciting thirty, twenty-five, even twenty years ago. I loved it.

But the pay/perks situation is dependent on putting up with a lot of corporate BS; if you're a solo developer, or the only developer in a small team, web stuff is hard, the task shrinks over time as things commoditise and you become more dependent on hosted offerings, and pays relatively poorly. I am tired and seeking a direction change before it is too late.

Literally the only topic on which I agree with Elon Musk is that more developers need to be persuaded to do something more interesting than getting dragged into web dev BS. And I wish I'd paid a lot, lot more attention in maths lessons away on topics that didn't have to do with logic.

(It is, nevertheless, amusing that it is web dev BS where Musk is getting his posterior handed to him)

I’m with you. I’d love to work in not web dev, but I don’t even know how to do that.

Feels like everything is server programming.

I currently have the short-term luxury to rethink.

I am steering myself away from web dev tools (I'm a Laravel/PHP/Rails/Node.js/Vue/React/GraphQL/DB/server/Perl/HTML/CSS/front-end/back-end/every-bloody-end guy, jack-of-all-trades, master-of-some).

I've been doing it too long and I'm a solo/design agency worker now. I've built some big stuff (and some early semi-famous stuff) and I've also ended up doing the crappy-little-WP-site shuffle.

I am aiming specifically towards tools that reach out a little further.

Basically I am finally, after all these years, properly learning Python, which I have never once actually needed. Because it reaches further than the programming languages on that list. Into desktop app development. Into scientific computing. Into embedded. More towards 3D printing, GIS etc.

And it still works for all the web things, so I can bridge.

And perhaps most importantly, more towards teaching and education, so I can actually be some use before I die.

Learning different areas of programming is all well and good.

I started in game mechanics programming and graphics programming when I was a kid.

But that isn’t the same as knowing how to get a job in those fields.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.