Hacker News new | ask | show | jobs
by hiAndrewQuinn 819 days ago
Learning Django and the Django REST Framework by working through William S. Vincent's Django for Beginners [1], Django for APIs and Django for Professionals was a turning point in my career. I started to take myself seriously as a developer, not just an electrical engineering grad who happened to like coding.

Not SICP as a teen, not the Haskell Book, not The Art of Unix Programming, not A Philosophy of Software Design. Those are all fantastic books, but they were the wrong things to read for someone whose definition of "Keep It Simple, Stupid" was "never build anything at all and stay unemployed". Django got me to shut up and build.

And build I did, and most of it did and does suck, and that's okay. And then I got a job, not doing Django, but using the things I learned from actually building with Django every day. I owe Django a great deal, and I still think of the DRF as my favorite approach to building a "well-tempered", maintainable API, on a deadline.

[1]: https://djangoforbeginners.com/

3 comments

I have a very similar relationship with .NET MVC + EF. I suppose Django would win against it (them) by a mile in the "batteries included" battle but oh boy was I productive with it, especially with some jQuery and knockout.js for the frontend. I really felt like I could build anything CRUD with the tools I had (I was specialized in system integration) and I had the fortune of getting paid for it. Now even the smallest memory of some of the code I've written back then makes me cringe, but I learned a lot.

From those experiences you not only learn what to do, you get "what not to do" and "ah these parts are useful because of this" kind of information as well.

Having done both in my career I would pick either one depending on various factors but they both can get the job done.

One edge of Python is its like the modern day Perl in terms of how many libraries you can use with it to get things done. It certainly feels that way anyway.

On the other hand .NET has cool things Python barely scratches the surface on like MAUI and Blazor. Not to mention both MAUI and Blazor are directly supported by a major tech giant.

I felt the same thing when learning Rails through Railscasts. So much practical advice for building useful apps to fulfill customer's needs

A few years later I learned Elm and had a similar lightbulb moment, this time for front-end web development specifically.

Will Vincents books were a turning point for me too despite never having been employed to write Python.

Learning to build stuff and the excellent explanations he gave are still something I refer back to now as a senior JS dev