惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
V
Vulnerabilities – Threatpost
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
Latest news
Latest news
博客园 - 三生石上(FineUI控件)
美团技术团队
aimingoo的专栏
aimingoo的专栏
Google Online Security Blog
Google Online Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Threatpost
Y
Y Combinator Blog
T
Tailwind CSS Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
小众软件
小众软件
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Tenable Blog
W
WeLiveSecurity
L
LINUX DO - 热门话题
D
Docker
Cyberwarzone
Cyberwarzone
量子位
A
About on SuperTechFans
The Last Watchdog
The Last Watchdog
雷峰网
雷峰网
C
CERT Recently Published Vulnerability Notes
P
Palo Alto Networks Blog
The Hacker News
The Hacker News
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Full Disclosure
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
T
The Exploit Database - CXSecurity.com
Engineering at Meta
Engineering at Meta
O
OpenAI News
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
IT之家
IT之家
S
Secure Thoughts
MongoDB | Blog
MongoDB | Blog
L
Lohrmann on Cybersecurity
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Adding a team was the wrong strategic decision
2026-04-26 · via Hacker News

I still remember that quarterly leadership meeting, which I was Engineering Manager of a tribe of 4 teams, 3 product teams, 1 platform tribe team.

All of a sudden, in the slides there were a new team.

We have decided to improve the experience for our customers for this tribe products, that’s why we have opened 3 new positions for the new team CX Tribe.

I had a new team that nobody asked me for my input, nor informed me before that decision was made. It just appeared out of nowhere.

This is that kind of situations that sucks are unfortunate.

In that situation, I could have focused on:

  1. Why I wasn’t included in the decision-making, or

  2. Understand the reasons of that team, and how can we leverage it for the challenges we had.

I went for the second.

Simplified conversation.

- Aleix: Which is the mission of that team? How will we work together?

- Product leader: The goal is to improve our Customer Experience. We take a lot of time to resolve tickets, and our CX team needs better tooling to support our clients. This team will be in charge of a new dashboard.

Conversations are unstructured, therefore, we always need to extract the intentions from the noise.

There were things we were aware of, I just found that the operation model that the decision was made was based on a previous sociotechnical structure.

On the old operating model, the company founded teams based on technology components. A mobile team, a backend team, a web team, and, in this case, a CX team doing a dashboard.

The product had a broken experience due to the handovers between teams, no single team owned the product E2E.

So, we moved towards a team owns the full experience. You can see the full journey to reach this point here.

The new operating model worked well, we had fewer bugs, fewer incidents, we were going in the right direction.

Yet, that decision was made. My main opinion of why that happened is:

  • Information flows slowly to decision makers. This was due to the new approach was bottom-up, and it didn’t happen in the closed leadership meetings.

  • Investing in new teams, during 2020, when the budget is easier, and you need less negotiation between parties.

  • Having a single team to own the CX at the tribe makes a clear focus, clear ownership of the metrics, and makes the reporting faster to the specific leader that’s responsible for that.

The first odd decision was that the team didn’t report to any of the tribe leaders. They reported directly to our product business vertical product leader. And that created a flawed communication, even though we included the team on all the tribe meetings and ceremonies.

The new team was created without the support to succeed.

Regardless of how that team was created, we knew that CX metric had to be improved. We were driven by two:

  • Fewer tickets per month. We succeeded on this.

  • ⚠️ Reduce time to resolve a ticket. We still had to improve this by a lot. And, indeed, that’s what the new CX team was funded for. 👈

During the quarterly planning, they presented their approach.

CX team will develop a new dashboard for the whole Payments Tribe using microfrontends with React that will connect with existing authentication tools.

Once that’s finished, each team will have to develop their own microfrontend for CX support.

That didn’t make sense at first, since the team approach and leadership expectations weren’t aligned.

We managed up the miss alignment on expectations. The approach wouldn’t meet the leadership expectations, which impacts our customers and the product experience.

CX team didn’t have the proper tooling to understand the state of the accounts for them to resolve the tickets autonomously. Each new ticket required a developer to dig into the state for:

  1. Understand what’s not working.

  2. Apply a fix, usually implying API calls or DB changes due to out of sync systems. We weren’t fully consistent due to the high distributed system we poorly designed. We were improving this at good rate.

So, CX had two problems:

  1. They couldn’t answer the customer with we understand what’s your problem, and we are resolving it. They couldn’t have a predictable way to know when things will be resolved.

  2. They had a strong dependency on developers’ availability to look into those issues. Which means, outside working hours, they would have to wait until next day to get the answers and fix.

This caused another issue into the teams.

  • A lot of distractions and unplanned work to support our customers manually.

CX tribe team was added without understanding the current tribes challenges and structure. The team had to understand the full picture, and start creating human connections to succeed in their mission.

They weren’t autonomous to accomplish their goals, yet they didn’t collaborate with teams to be sure they accomplish it. Instead, they were focusing on the technical challenge of a new greenfield architecture.

At this point, I had to decide how to accomplish the business goals in this new scenario. And I decided to go with the next approach.

We will develop an internal dashboard per team, they won’t be connected, but they will serve the main CX use cases.

We will train the CX team on this new messy dashboard.

This direction had several implications:

  • Product teams will develop their own dashboards, protected, but not having a good overall UX for the CX team, but good enough.

  • The dashboard will only contain the use cases that CX need.

    • When a CX opens a ticket into the team, we don’t resolve it manually but create a new dashboard feature to help the CX to do it by themselves.

    • We dedicate the right amount of time to be sure they are autonomous. This means pairing with them, documentation, and so on.

  • We will ignore CX tribe team work until it is the right time.

    • I would focus on containing the noise from the team when leadership asks why we’re not using the dashboard they are investing it.

    • The internal Dashboard will have the basics that later could be reused for the new dashboard when it is available.

During the execution I faced a very strange challenge. The dashboard wasn’t being developed within the teams, it was taking A LOT.

The dashboard wasn’t that complex: View information, perform some API calls. Replicate what we were doing in the DB and API manually but in a web page.

After sometime asking the team to prioritize that, I realized which was the problem.

People weren’t comfortable with frontend development. Indeed, some shared that they were backend developers, and they wouldn’t do any HTML work.

This delayed everything. Starting from 0 were preventing people to develop the dashboard. I didn’t realize this was happening until very late.

You can see how we moved from per stack developer to full stack developer here

So, I adapted to this reality, and I did a hard push to create the backbone of the dashboard using only spring boot templates. Instead of aiming for a React frontend, we just needed a simple HTML template, to call certain endpoints, and ensuring the security.

When the team had some basic structure in place, extending it was a matter of copying the existing structure.

The dashboard wasn’t beautiful but useful.

We did the dashboard, it was resolving the tickets, it wasn’t being used by the CX team but by our product manager.

The product manager, she is a lovely person, preferred to take all the burden by herself over passing the tickets into the developers.

We succeeded on freeing the developers from unplanned repetitive work, but now our PM was super busy, and probably burning herself out.

We asked why she was doing that, and how can we help her.

The problem was that CX was used to passing the tickets to our team. Now the tickets were resolving faster (since the dashboard made something super trivial), so, the business objectives were accomplished.

But in the wrong way.

This usually happens, OKRs looks good, but the approach creates the wrong culture.

We had to intervene to accomplish the same OKRs but with a better approach.

CX resolving the issues by themselves, not by our team members, regardless if they are devs, product, or design.

So, we started pairing with CX team, do proper training, and documentation. We showed them that it was less painful to make it using a messy dashboard that resolved their issues fast, rather than opening tickets into our Jira board.

The key area was to kind of use Jira during the process, because that’s the system they used to report their progress. We adapted a little the process to help them show their progress and impact. That boosted the adoption by a lot.

Once that was done, almost all the tickets were solved at CX team level, reducing by a lot the unplanned work for our team.

Within a month, we achieved the OKR of “Reduce time to resolve a ticket” to within hours compared to days.

Two main things went wrong here.

  1. We invested into a team to create a dashboard that nobody used. We wasted human time and system resources.

  2. Created a dashboard outside the common legacy CX tooling increased adoption friction.

Leadership invested into a new team because that was the operating model we had back then. Each leader had a budget, and they used it to create their own teams they had clear ownership of.

Instead, I would have had added dedicated team members into each team in order to understand the whole product domain, and adapting it to the CX needs instead of creating more communication and managing structure.

I knew that by ignoring the CX tribe team creating their own tooling meant that we were burning money, in terms of people’s time and system resources.

At some point, I had to decide which problem to address, and burning money was the cheapest approach to overcome our business high stake challenges.

Sometimes feels like wasting that is the wrong approach, nobody wants to feel they are wasting resources. But looking back, the decision we made was the approach that wasted the less of resources and people’s time.

By focusing on the new ways of working, and the team being autonomous to deliver a solution within the same quarter, indeed, same month, had the biggest customer and business impact.

This created friction within the leadership team during the whole quarter.

Because we were asked to use what they decided to invest.

But here I followed the Team Topologies Platform principle. Do not force adoption. If the platform isn’t good enough, the best we can do is drop it.

At first, this was a very odd decision for other leaders. It felt like I didn’t care about the teams job, but the goal was to show a better way to solve the same thing with the new operating model we had invested for the past months.

This turn out to be a great business case, and we started replicating the approach.

What started as a temporal dashboard, I think it had been there for way more years that we would have expected. 😅

That team were in place for 5 months, after seeing no much progress but the product teams resolving those CX metrics by themselves, the leadership team decided to dissamble the team.

No posts