3 ms·
My perspective is highly biased because I started my career as a DBA before moving more into web dev. The things I learned from databases have been tremendously
by AmericanChopper 7y ago
My perspective is highly biased because I started my career as a DBA before moving more into web dev. The things I learned from databases have been tremendously useful first principles for writing other software, especially relating to concurrency and data structures. I’d highly recommend you learn about the first few normal forms and why they’re useful, and how explain plans work in relation to time complexity, you could pick that up from some casual googling. They’re usually presented in relation to databases, but the concepts are useful in any form of schema design. Ive also found understanding concurrency control to be very useful, specifically I learned about MVCC first. I think those concepts are relatively easy to grasp, but are largely neglected by a lot of SWEs.
Otherwise in general I just always try to think about the underlying logic of the code I’m writing. If it feels hacky, overly complex or fragile, it probably is, and I probably need to take another look at the problem I’m trying to solve and consider whether I’m approaching it correctly, using the correct tools, or even whether I’m even using the tools correctly.