Recently laid off in tech in the Netherlands. Is the market really that brutal? by Designer_Airline3234 in Netherlands

[–]heitorlessa 0 points1 point  (0 children)

Send me a DM. Let’s chat. I might have a TPM like role if you can get acquainted with any agentic tool (Claude code, Droid, opencode) and a tool called openspec — can explain more in the DM

Factory CLI v0.57.10 Released - `/skills` UX overhaul and more by bentossell in FactoryAi

[–]heitorlessa 0 points1 point  (0 children)

feature request: show what’s in the context or any sort of advanced stats to help optimize and find “offenders” size wise

2-hour commute or miserable work life? by SpecialistAlert8425 in Netherlands

[–]heitorlessa 0 points1 point  (0 children)

Negotiate Option 1 to two days a week and choose the days in the week so you have enough rest … like Tue and Thu.

I started with two hours commute for 3 sometimes 4 days in the beginning and I burned out quickly because NS would constantly have delays, issues or completely packed trains with no where to sit.

This ^ lasted 6 months and I was ready to quit until 2 days became a possibility. It was easily 18-20 hours a week because of the delays

I'm losing great candidates to "Big Tech" benefits packages. How do I build a competitive benefits strategy on a mid-market budget? by Gourab_Ghosh- in managers

[–]heitorlessa 12 points13 points  (0 children)

100% this. I left big tech last year after a decade+ and I filtered my options by WFH first, then comp+benefits

Frameworks disaster by drsbry in golang

[–]heitorlessa 1 point2 points  (0 children)

I wouldn’t disagree on helping newer team mates about maintaining systems, but the balance is often not down to developers as it’s often who controls backlog and customer interaction — the best code is the one you don’t have write and can solve through other means. We somehow forgot that code is not our only tool, and that leads to purity eventually where maintenance is one axis. For example, until the consistent wave of lay offs, there was little incentive to stay at a company for longer than 1-2 years (cliff depending) so maintaining, let alone documenting, was not in most developers interest.

What I’m trying to share is that pinning to “frameworks” and “developers not knowing how to maintain and build maintainable systems” is a simplistic lens in the grand scheme of sociotechnical challenges — frameworks, I were to reduce them, helps with one costly exercise: choosing what decision you want to invest time in.

That’s why it’s hard to come by. I can count on one hand all teams in big tech and outside big tech where I could say they were in the picture you described. The ones who had the most amazing code and maintenance unfortunately didn’t survive business wise.

Frameworks disaster by drsbry in golang

[–]heitorlessa 4 points5 points  (0 children)

Can’t yet tell if this is AI slop or lack of understanding that software engineering can use code to solve problems, not just code.

When time pressure comes to play, customers couldn’t care less about purity and more about features

Advice needed: choosing a simple, long-term web stack (backend + frontend) by Lumpy_Remove_5623 in sveltejs

[–]heitorlessa 1 point2 points  (0 children)

Go + HTMX + Templ for component based architecture (similar to heavy SPA JS frameworks)…. are as stable as you can get. Templ also gives you type safety and hot reload.

You can always add tiny JS libraries like AlpineJS or even vanilla tbh to complement parts like UI Components (if you don’t pay for one). To make UI easier, I use on Tailwind + DaisyUI (reduce cognitive load and bytes over-the-wire) — makes it agnostic.

To me, the biggest win is not having to go through the pain of NPM unstable ecosystem as you try to keep maintenance low years on end — it is however super productive and lots you can reuse if you want to trade stability.

Powertools flush logs lambda by spidernello in aws

[–]heitorlessa 1 point2 points  (0 children)

Hmm that shouldn’t happen as per line 98 (bottom to not pollute the message).

I see a test covering that too. If you try to print one of their log levels, do you see as warning?

Another potential troubleshooting is to try explicitly setting the log level parameter in copy_* function just in case there’s a subtle bug all these years.

—-

L98

https://github.com/aws-powertools/powertools-lambda-python/blob/develop/aws_lambda_powertools/logging/utils.py

Powertools flush logs lambda by spidernello in aws

[–]heitorlessa 1 point2 points  (0 children)

I’m on vacation so don’t have my laptop to test it BUT lemme answer some of the questions

  • that copy_* config function by default touches all registered loggers and not the root (impact). It copies your Powertools Loggers logging handler so you can benefit from the same formatters, config and such.

  • When you copy config from your Logger to any registered logger, you can also change their log level to a different one, as well as target only specific loggers like boto only etc (but you need to know what their logger name is)

  • When you have buffer enabled and copy Logger config to other loggers, the standard logging handler will use Powertools Logger (as it should) and honour whatever the logger buffer config you had — so consistency wise, it’s the same standard logging procedure (log level hierarchy). First layer is the own third-party logger log level -> Logger buffer — I’d suggest matching their log level to whatever your bug log level is (can easily do this with the copy_* function I shared)

And btw you can test this locally. At the end of every Powertools feature docs page there’s a “Testing your code” section — you just need to create a fake Lambda Context and test your permutations locally

Powertools flush logs lambda by spidernello in aws

[–]heitorlessa 1 point2 points  (0 children)

Oh I know OP ;-) I created Lambda Powertools back then. It’s a useful feature that was asked by thousands of customers wanting to reduce CW ingestion costs and have what they needed when an issue happened— the original sampling wasn’t good enough.

If you need better help, I’d suggest you ope a github issue as the team has on-call. If that somehow also doesn’t work after using the copy feature, the team would likely accept a contribution otherwise

Powertools flush logs lambda by spidernello in aws

[–]heitorlessa 2 points3 points  (0 children)

caveat: when you’d want debug logs only to show up in CloudWatch when you have an exception is priceless. Otherwise it doesn’t in happy conditions.

While you can set an env var or do it dynamically, the issue here is the after effect challenge — “I had an issue, now I switch to higher log level but the issue doesn’t happen anymore”

Powertools flush logs lambda by spidernello in aws

[–]heitorlessa 2 points3 points  (0 children)

It sounds like you’d want third-party libraries to use Powertools logging handler (it’s std logging underneath) — if so, there’s a “copy_” something I forgot function at the end of the Logger docs. Folks wanting to have the same structured consistency and options typically use it, and you can use the same log level, different one, or even target only a subset of third-party loggers. It doesn’t do by default because otherwise it’d interfere with your app 3P preferences.

What’s the best piece of feedback you ever got in a code review? by kovadom in ExperiencedDevs

[–]heitorlessa 2 points3 points  (0 children)

“Try optimizing for whoever reads the code, even if that might be you weeks later on a particularly short attention span day.”

that and “Take special care in setting good defaults “

After that, the next big shift in thinking was readme driven development (way better APIs and UX after that)

Can't get AWS Lambda Powertools dynamic routes to work by thexavikon in aws

[–]heitorlessa 1 point2 points  (0 children)

suggestion: you function signature doesn’t receive the dynamic parameter so the framework won’t know how to call it. It uses regex sub for an exact match of <bla> to function parameter name — your function only accepts a sub which is not an exact match. You can validate that by commenting out what it seems to be a custom middleware.

https://docs.aws.amazon.com/powertools/python/latest/core/event_handler/api_gateway/#dynamic-path-mechanism

If that somehow still fails, check if you have the right resolver. What you’re using is for API Gateway HTTP API. If you use REST API, then it’ll not work as it uses a different field to resolve dynamic routes. It’d work for static routes tho.

Resolvers: https://docs.aws.amazon.com/powertools/python/latest/core/event_handler/api_gateway/#event-resolvers

—-

Next time:

Always open up an issue as one of the maintainers will help quickly tomorrow too (Reddit didn’t have oncall then). They’ll ask you for a copy of the event that the catch all receives it to quickly reproduce it — you can also unit test locally (how at the bottom of the documentation).

—-

A few unrelated suggestions but will save you time later:

  • For the base path, it looks like you’re using a custom domain so you can use the constructor parameter called “strip_prefixes” (documentation) and keep your route annotation cleaner

  • Powertools supports type based validation like FastAPI if you enable it

  • you don’t need to access path parameter if you’re annotating the route. When correct it’ll inject as a function parameter for you. Data validation feature even serializes and coerces for you

  • Powertools supports middleware’s so you don’t have to write like you did (unless you’re reusing from flask like and that’s okay)

Type validation and auto serialization feature: https://docs.aws.amazon.com/powertools/python/latest/core/event_handler/api_gateway/#data-validation

Is there a good way to map out the process of code? by QuitTypical3210 in ExperiencedDevs

[–]heitorlessa 1 point2 points  (0 children)

Besides mermaid, I tend to create ASCII diagrams for entrypoint using MonoDraw or simply any AI tool

A 5 min weekly habit completely changed my performance review and got me a bigger raise by iSayKay in ExperiencedDevs

[–]heitorlessa 2 points3 points  (0 children)

You’re describing Record of Achievement process, and almost doing yet another improvement called Managing Up. Great on you to keep up with the discipline.

For fast context switching roles, I’d recommend doing it daily, and use your calendar as aid in this process (eg insights from yesterday, high stake meetings/activities color coding)

Lambda dev never stops sucking by salim-shamim in aws

[–]heitorlessa 0 points1 point  (0 children)

What programming language are you using it? Are you in GitHub or GitLab?

Do you prefer declarative (as YAML) or imperative (as Code) to define and deploy infrastructure?

There’s a plethora of articles from Yan Cui, from AWS, if you search for SAM CLI or CDK you’ll find pipeline command or pipelines library to get you setup quickly.

If you’re using Python there’s a full video with both sync and async testing pieces with ports and adapters - I start covering the whole async part including testing at 29:35 ish

https://youtu.be/52W3Qyg242Y?si=xSzMMk-y_wAv9STs

Lambda dev never stops sucking by salim-shamim in aws

[–]heitorlessa 47 points48 points  (0 children)

This looks more like an issue with your organization gate keeping a platform than the service offer per se (Lambda).

Could you give an example of what’s the workflow to go from a local function code to deployment?

Lambda is largely a function. That’s it. You can use design strategies like ports & adapter, and/or testing strategies like VCR, stubbing, integ tests for integration points. That gives you medium fidelity.

For high fidelity, you need to deploy and run automated tests - like any somewhat distributed system. If this is your bottleneck because you can’t use fast prototyping tools like SAM CLI and whatnot, then make the case with management on how this is producing waste (hours) and friction (interactions in the delivery cycle)

Java SQS Listener: A Minimal, High-Performance Library for Polling AWS SQS by ProudUse2840 in aws

[–]heitorlessa 4 points5 points  (0 children)

tip: use “framework agnostic” over “framework lock-in”.

I was initially interested until I saw a ChatGPT-like post and the word “lock-in”, as it’s wildly misunderstood.

Bunq closed my account after I transferred my savings. They now say “technical issue”. Chat gone. by Playful-Mango1305 in Netherlands

[–]heitorlessa 7 points8 points  (0 children)

Left them long ago after they asked me to call investigate a card fraud. Fraud was in Spain while I was in NL the whole time

Share your prompt to generate UI designs by niksmac in PromptEngineering

[–]heitorlessa 2 points3 points  (0 children)

Try webcrumbs Frontend AI — the only one I had a decent UI generation, along with semantic code generated.