this post was submitted on 26 Aug 2025
28 points (91.2% liked)

NotAwfulTech

492 readers
9 users here now

a community for posting cool tech news you don’t want to sneer at

non-awfulness of tech is not required or else we wouldn’t have any posts

founded 2 years ago
MODERATORS
 

Another excellent piece from Iris Meredith - strongly recommend reading if you want an idea of how to un-fuck software as a field.

you are viewing a single comment's thread
view the rest of the comments
[–] froztbyte@awful.systems 4 points 11 hours ago* (last edited 11 hours ago)

best advice I'd have for you is continuing with python is fine but

  1. find a good mentor
  2. read a lot of sourcecode (both good and bad), reason through stuff, try to understand the decisionmaking behind things

on the good, you could read code by people like glyph, hynek, projects like twisted. they have years of experience, high mark of quality, care for their work, and also do a lot of teaching

on the bad, you could read something like the code to home assistant (and/or esphome), or bits of calibre code (and calibre plugin code). I will say that these are not bad intentionally, but bad out of "someone inexperienced trying their best". it ends up creating a very particular kind of other thing.

you can, and should, learn from both

µPython is a bit of a special beast in that it's juuuust close enough (and handy enough) that it can trip you up, because there's some notable significant differences that if you spend all your effort in it first you might pick up bad habits that don't apply elsewhere (off the top of my head, some of the applicable: scoping, some arg-handling semantics, stack stuff)

other bit of advice: remember, it's all just code. especially when you deal with libraries, if some error is coming out of a thing your first instinct may be to try ask the internet but you could also dive into the library - follow the callpath, figure out what's what, see if you can figure the problem out yourself. it's often not too hard, and it gives you some good practice of code reading and reasoning