Share
 

Hey Pythonista,

Happy Wednesday, hope your week is going well. Here are our tips this week:

1) Time to learn some Rust?

Pydantic, ruff, uv... speed is what is so impressive about Rust.

But so is its memory-safety which gained attention with the Whitehouse's press release stating that not having this feature (e.g. C/ C++) was at the root to many security breaches in the past years. See here.

Python is here to stay, but it would not be a bad idea to learn some Rust basics as well.

Overall, contrasting your current favorite language to another one will make you a better programmer. As friend, Rustacean and fellow coach Jim Hodapp nicely said:

> I think learning a little Rust would make you a better Python programmer, not just for the speed but for the different patterns of structuring programs and ways of solving problems.

We actually had Jim on the podcast a while back to talk about Rust and more. You can listen here.

2) The power of f-strings

Okay! Back to Python (don't stray too far!).

... basic f-strings are already awesome, but there's a lot you can do after the `:` including:

  • align data left or right
  • set column widths
  • use decimal places

A quick example:

stocks = [
    {"symbol": "AAPL", "name": "Apple Inc.", "price": 150.10},
    {"symbol": "MSFT", "name": "Microsoft Corp.", "price": 295.36},
    {"symbol": "GOOG", "name": "Alphabet Inc.", "price": 2732.16},
]
for stock in stocks:
    print(f"{stock['symbol']:<6} {stock['name']:<20} {stock['price']:>10.2f}")

# Nicely formatted output:
"""
AAPL   Apple Inc.               150.10
MSFT   Microsoft Corp.          295.36
GOOG   Alphabet Inc.           2732.16
"""

Another cool f-string debugging tip (>= 3.8) is to use `=` to show both the variable name as well as the value it holds, for example:

>>> day = "Sunday"
>>> temperature_in_celsius = 28
>>> f"{day=}"
"day='Sunday'"
>>> f"{temperature_in_celsius=}"'temperature_in_celsius=28'

🐍 😍

3) Hugh interviews Julian about mindset and Pybites' vision

Last week we spoke with Mike Fiedler. Talking with the PyPI security developer / expert was fascinating and gave us good insight as well as how to apply security best practices to our code and craft of software development.

This week we have another cool episode lined up: Pybites Coach Hugh interviews Julian about mindset (no surprise), Pybites' future vision, and much more.

Of course I am biased as the other co-founder, but it's seriously an insightful, inspiring and fun conversation. Julian is eloquent on the mindset as always (take notes, this is usually the stuff developers REALLY struggle with!), and Hugh showed some amazing interviewing chops, love the chemistry. Thanks guys! (I've never been called eloquent before! Thanks mate! - Julian)

4) Having the confidence to speak up and be assertive

For Python developers, assertiveness is key to overcoming common challenges like miscommunication, limited innovation, missed deadlines, and career stagnation. Here are a few tips to enhance assertiveness:

  • Communicate clearly: Being able to articulate your ideas and concerns clearly is fundamental in a collaborative environment like software development. It's not the tech skills that are most important in this (and any) field, it's the way we effectively communicate with people!

  • Always seek feedback: Feedback is crucial for growth. It helps in understanding the impact of your assertiveness and improving your approach to team interactions. Constantly seeking feedback has definitely helped us a lot in our careers. On the other end, when giving feedback, be positive (practice gratitude), constructive, and concise.

  • Listen, listen, listen: Listening to others' ideas and feedback not only fosters a culture of respect and openness but also enhances team problem-solving and innovation. Susan Cain's Quiet book is as much for introverts as it's for extrovert (great insight Hugh!). Using ears and mouth in their quantitative proportions (Epictetus) really does miracles. Or as Derek Sivers said: to be interesting, be interested.

Do you struggle with this? Reply and let us know and/or post in our growing community (and while there feel free to introduce yourself and/or share a WIN as well, no better way to engage and stay motivated!)

5) From the archives: common things we highlight in code reviews

We wrote down some common code review comments a while back. Things like managing complexity by breaking things into smaller parts, using linters, putting magic numbers into constants, etc.

Give it a read here - hope you pick up some new things.

And if you want more content like this, including on our YouTube, let us know by replying or make a suggestion in our community.

As we always say: the best content often comes from your questions / feedback because they reflect the real world which we always want our content to be based on (rehearsed tutorials often don't show this side and therefor won't prepare you well to succeed as a developer!)

By the way, talking about the blog, we are wrapping up 3 exciting new guest articles, stay tuned.

(Or set up your own email notifications - see here).

---

Go crush it this week, be well!

Best,
Bob & Julian


P.S: We always try to keep things bite-sized and practical, but even so a lot of people struggle with:
  • Designing and implementing a complete Python project 0 to MVP (minimal viable product).

  • Shipping code and/or contributing to open source, "coding / building in the open".

  • Identifying the exact gaps that lay between their current level and hitting more advanced levels with Python.

  • Building solid routines to sustain betterment and continuous growth in their careers.

  • Applying an effective developer mindset, embracing failure, struggle and imposter syndrome to rapidly grow.

If you struggle with one or more of these things, book us in for a free career chat to get some guidance / advice and be introduced to how we've applied our unique approach in our careers and with our clients to breakthrough as a developer ...


Email Marketing by ActiveCampaign