In your quest to become a better software engineer, if your journey is anything like mine, you’ve heard it many, many times: “Composition Over Inheritance”.
Early on, it may seem counter-intuitive. You just learned all this “Object Oriented” stuff, and you want to make big pretty object graphs to solve all the world’s problems. The pros tell you to pump the breaks, you don’t listen because oh my god look at the beautiful fractal of inheritance I just created. Then your project becomes impossible to modify or maintain, and it’s not immediately obvious why.
Continue reading “Using Composition Over Inheritance Makes You Think Better”
Code interviews are stressful. It doesn’t matter if you’re a pro, it doesn’t matter if you’re overqualified, it doesn’t even matter if you don’t need the job. Proving that you’re competent is always intimidating.
The good news is you’re probably much more competent than you think you are, you’re just possibly not as good at demonstrating it as you’d like to be. Python makes it pretty easy. And you might actually improve your production code along the way.
I’m not going to cover basic interview tips, like explaining your thought process and starting with the naive solution, because they’re covered in a million other articles. Instead, we’re going to focus on things that can make a candidate interviewing in Python look super slick.
As a quick aside, if you aren’t interviewing in Python, in my opinion, you should work on that. Everyone says to interview in the language you’re most comfortable in, and that’s absolutely true. So get comfortable in Python. It’s terse, it’s clean, it’s elegant, and it gives you 3 opportunities on every line to look smart. If you have the time and the base knowledge to learn Python well enough in time to interview in, do it. Just make sure you have a few months to get very comfortable.
Continue reading “How to Trick People Into Hiring You With Python”