Posts

Showing posts from July, 2022

they cannot help but associate with you

How'd you like a reputation as an excellent, outstanding developer? To feel other developers on your team looking up to you? To be seen as one of the "star coders" in your organization? If you'd like to be the kind of coder who legitimately deserves this esteem from your colleagues... there are several factors that need to be in place, above and beyond your basic skills developing software. Some of these factors are social, and some are technical. For now, let's talk about the technical side. Meaning, the kind of code you write. And how that influences how others on your team look up to you, or not. A few of these factors: 1) Developing robust and reliable code As part of a team, you're writing code other developers are using, and must build on. When they do, do they find your code is fragile? Does it break easily, when something goes out of normal bounds? For example, if the program gets fed 10 times more data than normal? Or do they find it's s

know the immediate practical application

" Yeah, but when would I actually ever USE this?" I took a deep breath. Five minutes in, and he'd asked this twice already. I was explaining a very complex programming technique to a group of experienced developers. I started by showing a few examples of how it's used in different Python libraries. I explained the benefits of the technique, in abstract, high-level terms. And I pointed out it's used extensively in the code bases for Django, Flask, Twisted, Pytest, SQLAlchemy, and a whole bunch of other Python libs you use every day. I started this way to motivate everyone. Because here's the thing: this is such an advanced technique, it takes a while to learn. You have to start by learning several Python features you've probably never used before, and the mental models for working with them effectively... You have to un-learn certain things most Python devs believe about functions in Python, and replace them with a different, more powerful, more accur

what I recommend you start

One of my readers asked: "Any Python practice projects we can work on for learning you can suggest?" You bet. 1) A Django Webapp This is especially for those of you who haven't done web development. (Data scientists: I'm looking at you.) Being able to create a web application is a valuable skill for any developer. The reason is that it allows you to take any other kind of programming you do, and package it in a way that's accessible to the masses. If you haven't done web dev before, this needs to be your #1 priority, compared to others on the list. (If you *have* done web dev, skip to the next item... get out of your comfort zone.) What framework do you use? Google will point out a dozen great choices for you. It doesn't matter too much which you use. You can pick the one you like. But if you want a recommendation, I'll give you one: Use Django. It's a great full-stack framework, and well documented.. If you find yourself spending more t