Do people actually use UML in practice? It's not something I've ever really found useful for my own development. Maybe it's more of a communication tool than a design tool? Or am I being too hasty?
there's no guarantee that 2 requests kicked off at the same time will arrive or complete at the same time. When time is an axis (often y axis), typically we see parallel lines in sequence diagrams, when in reality they will often cross the latter request will actually arrive/finish before the earlier request.
Additionally, any reasonable system will have timeout + retry, but it's not possible to differ btwn timeout and inordinately delayed. Meaning your requests maybe replayed many times, and the system frequently doesn't handle that well
Learning Rust without the context of what it solves with C seems a bit weird to me. C isn't easy to master but it's a lot smaller language than Rust and easier to get up and running.
I'm not the original poster, but I'll share my opinion. As an undergrad I took two semesters of software engineering at Cal Poly San Luis Obispo (CSC 308 and 309), and as a grad student I was a TA for a year-long senior-level software engineering sequence at UC Santa Cruz (CMPS 115, 116, and 117), which culminated in a capstone project. In these courses we were taught formal software engineering methodologies, with an emphasis on iterative development (at UCSC we taught our students Scrum). However, at the companies I've worked for, which include a mixture of traditional, conservative companies (such as an aerospace company, an "old-school" Silicon Valley enterprise giant, and a traditional Japanese IT company) and large Web giants (like Google and Facebook), the software engineering processes I've encountered in industry have been much more informal.
Granted, at both Cal Poly and UC Santa Cruz we learned very useful skills that are very important when writing production software, such as source control, code reviewing, coming up with effective testing strategies, and other things that I use in my career daily. However, we learned other things that I haven't encountered in industry yet, such as writing formal requirements documents and drawing UML diagrams.
I'd say one might learn rust instead of C, and learn python first instead of 2nd...
Also IMO UML and those Software Engineering classes are not useful for Bay area styled tech companies.