Python as a backend isn't a technical decision. It's a decision made by someone who learned Python first and never questioned whether it was the right tool. You get latency, concurrency limited by the GIL, and a web framework ecosystem that holds up because "everyone uses it." That's not architecture — that's collective inertia. If your backend is Python and it's not an ML script or data pipeline, you probably made the wrong call. And the worst part? You never even asked yourself the question. Fight me.
Hugo Torres’ Post
More Relevant Posts
-
I recently built a small Python backend service to make one thing easier to inspect: good backend engineering transfers across stacks. Python is not my primary language, so the goal was not to “learn Python in public” or chase source parity with an existing system. The goal was to reimplement the core shape of a real orchestration service in a bounded way: - thin API, - orchestration-owned flow, - persisted job and step state, - provider boundary, - tests, - CI/CD, and a small infrastructure baseline. What mattered most to me was not the language switch itself, but preserving the system design and operational model. That’s usually the part that scales beyond any one stack. https://lnkd.in/eF-j-dn3
To view or add a comment, sign in
-
Python is often seen as “not ideal” for high-performance systems. But in backend development, that’s rarely the real bottleneck. In most systems I’ve worked on, the real challenges were: • Poor architecture • Inefficient data flow • Lack of caching • Bad system design decisions Not the language. With the right design, Python can power scalable and reliable backend systems. Tools matter. But architecture matters more. #Python #Backend #SoftwareEngineering #Architecture
To view or add a comment, sign in
-
In a world where the machine writes most of the code, Python lacks solid type enforcement, Rust is overly strict with complex lifetimes, while Go strikes the right balance by catching critical issues without hindering development velocity. The article argues in favor of Go over Python and Rust for AI-generated code due to Go's efficiency, simplicity, clear error-handling, and easy deployment capabilities. https://lnkd.in/eEgmd4qW --- Like what you see? Subscribe 👉 https://faun.dev/join
To view or add a comment, sign in
-
The Python HTTP client space is in a weird place right now. requests is everywhere, but it is 10+ years old. httpx looked like the future for async, but development has slowed down and the direction is not that clear anymore. So teams either: stick to something outdated or build workarounds around limitations Zapros is one of the projects trying to rethink this layer. What is interesting is not the library itself, but the idea behind it. Instead of tying the client to a specific transport implementation, it separates the layers and builds everything around abstractions. That opens things like: - switching transport without rewriting the client logic - composing behavior through middlewares (retries, caching, etc.) - supporting both sync and async in a cleaner way Will it replace existing tools? Hard to say. Still, it is a good signal that people are trying to rethink this layer, not just patch it. And this is usually where bigger architectural shifts start. Curious what others use today for HTTP in Python. Still requests? Moved to httpx? Or something else entirely?
To view or add a comment, sign in
-
Build a production AI agent in 10 lines of Python. Strands Agents SDK: ```python from strands import Agent from strands.models.bedrock import BedrockModel from strands_tools import calculator, web_search agent = Agent( model=BedrockModel("anthropic.claude-sonnet-4-20250514-v1:0"), tools=[calculator, web_search] ) response = agent("What's the GDP per capita of the top 5 economies?") ``` That's it. Tool calling, conversation management, streaming, multi-turn context is all handled. Why Strands over LangChain for AWS: - Built for Bedrock integration (not retrofitted) - Works with any Bedrock model - ToolSimulator for agent testing (just released) - Strands Evals for evaluation pipelines - Open-source, runs locally For production: pair with Bedrock AgentCore for managed deployment, guardrails, and observability. The stack: Strands (build) → ToolSimulator (test) → Strands Evals (evaluate) → AgentCore (deploy) Full lifecycle. Open-source foundation. Managed deployment when ready. Start: https://strandsagents.com #AWS #AIAgents #Python #Strands #Bedrock
To view or add a comment, sign in
-
Async IO in Python is single-threaded. No mutexes, no race conditions, no surprise context switches. Coming from multi-threaded code, this felt like cheating. With threads, anything can interrupt anything. You lock shared state, hope you got it right, and debug it six months later when you didn't. With async, control only transfers at await. That's it. Your data is safe between those points by definition, not by luck. The payoff was immediate. Refactored a GitHub API client to fetch a user profile and repo list at the same time using asyncio.gather(). Two concurrent HTTP calls. No threads, no locks. The mental model shift took longer than the code change. If you've been avoiding async because threads burned you before, it's not the same thing.
To view or add a comment, sign in
-
𝗣𝘆𝘁𝗵𝗼𝗻 𝗠𝗲𝘁𝗮𝗰𝗹𝗮𝘀𝘀𝗲𝘀 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱 Everything in Python is an object. Classes are objects too. They are instances of a metaclass. Type is the default metaclass. It builds your classes. Call type to create a class without the class keyword. Python follows four steps to build a class: - Find the metaclass. - Set up the namespace. - Run the class body. - Create the class object. Use the new method to change the class before it exists. Use the init method to record the class after it exists. Most developers do not need metaclasses. Use the init subclass method instead. It handles registration and interface checks. It is simpler to read. Avoid metaclasses in app code. They are hard to debug. Use them for frameworks. Otherwise, use decorators. The best metaclass is the one you do not write. Source: https://lnkd.in/gMfJU9Nx
To view or add a comment, sign in
-
Python type checkers can catch more than type mismatches. To understand your code's types, a type checker also has to understand control flow, scoping, and class hierarchies, which means it can catch a surprisingly wide range of bugs. In this Pyrefly blog, Rebecca Chen walks through five surprising bug patterns, none are straightforward type errors, but Pyrefly catches them all ✨ https://lnkd.in/eyJpQ7uY #python #pyrefly
To view or add a comment, sign in
-
“Python is slow”… yet pandas processes millions of rows in seconds. How? 🤯 Here’s what most developers miss: pandas isn’t really “just Python.” Under the hood, it relies on highly optimized C and NumPy operations. So when you write something like df['col'].mean(), you’re not looping in Python you’re triggering compiled code that runs near machine speed. Compare that to a manual Python loop… and the difference is massive. It’s similar to frontend optimization: The fastest code is often the code you don’t run in JavaScript you let the browser handle it efficiently. 👉 The real takeaway: If you want performance in Python, stop writing loops. Start thinking in vectorized operations. That shift from “how do I iterate?” to “how do I express this computation?” - is what unlocks serious speed. Have you ever replaced a loop with pandas and seen a huge performance jump? Or are you still stuck in the loop mindset? Let’s discuss 👇 #Python #Pandas #PerformanceOptimization #DataEngineering #Developers
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development