It's fair to say that the tech industry at the moment is not in a good place. Software engineers tend to be detached, demotivated and unwilling to care much about the work they're doing beyond their paycheck. Code quality is poor on the whole, made worse by the current spate of vibe coding and whatever other febrile ideas come out of Sam Altman's brain. Much of the software that we write is either useless or actively hurts people. And the talented, creative people that we most need in the industry are pushed to the margins of it.
Another excellent piece from Iris Meredith - strongly recommend reading if you want an idea of how to un-fuck software as a field.
There is nothing wrong with learning python in general or as a first language. My gripe is more that if you self teach it with no software engineering thought, you end up with some real bad habits that lead to bad code, like:
not documenting code with comments etc.
not testing
not understanding data types
RE: micropython, and other python wrappers: not understanding the underlying wrapped thing.
complaining when other languages are as easy or convenient as python
So as long as you avoid that you might be good.
Also specifically with micropython: it’s good to get something working, just don’t expect it to be fast. And if you want it to be fast, you’re going to have to learn C.
Those are some valid points and definitely things I’m trying to be mindful of. Especially since I’m just teaching myself and at this point everything I’m doing is in a vacuum by myself, but if I want to get to the point where I can share my code and work with other people on projects I need to be doing it in a way that it’s understandable to anyone else (and myself).
I think the next thing i’ll lear will be C it seems a lot of what I want to do needs that too, so that will be fun. Thanks!
There is nothing wrong with learning python in general or as a first language. My gripe is more that if you self teach it with no software engineering thought, you end up with some real bad habits that lead to bad code, like:
So as long as you avoid that you might be good.
Also specifically with micropython: it’s good to get something working, just don’t expect it to be fast. And if you want it to be fast, you’re going to have to learn C.
Those are some valid points and definitely things I’m trying to be mindful of. Especially since I’m just teaching myself and at this point everything I’m doing is in a vacuum by myself, but if I want to get to the point where I can share my code and work with other people on projects I need to be doing it in a way that it’s understandable to anyone else (and myself).
I think the next thing i’ll lear will be C it seems a lot of what I want to do needs that too, so that will be fun. Thanks!