Technology Updates And News
on a CSV parser as an example since a line running under a test doesn't mean the test really checks the result. Call the CSV importer and you've exercised some code with 100% coverage. But check the saved rows and the error message and you've tested behavior.…
>
Stop the reruns: Set max attempts or time limits to bound runtime and cost instead of paying for another hour of the same wrong attempts politely rephrased
*
Keep the standard independent: In an existing repo start with its tests and conventions and add checks for problems you'd actually encounter (especially end-to-end behavior)
*
Don't trust, do verify: Keep tests and implementation separate and written or reviewed by a different pass than the one that wrote the code
*
Lock the checks out of the workspace: Trusted_checks should live somewhere the agent can't `git` or `mv` its way around, e.g. CI config it has no write access to, otherwise "fix the bug" quietly becomes "fix the test that caught the bug"
*
Fail loudly: Get a plain summary of what's broken (especially if a human has to pick up the thread) instead of re-reading five commits of "attempt 4, trying again"
*
Automate test permutations: Add property tests that vary test inputs in countless ways so you don't have to write huge test files
*
Watch the tests, not just the code: Add and run mutation testing to catch tests that always pass - the software equivalent of a smoke detector with no battery
*
Loop it: If anything changes after checks pass you have to run them again - yesterday’s green check doesn't apply anymore regardless of what code was touched
That's how I'd start to judge a harness. The number of iterations it can survive overnight is just a billing question and if 90% of written lines are garbage (though garbage that does run) you might have a problem. A loop can give you more attempts. That's table stakes.
Making loop attempts <underlineuseful requires a definition of done that survives human contact.
Disclosure: I wrote LoopGate my own harness that runs agents in a loop with configurable quality checks and also attempted a frontend-focused harness which still gives me a migraine
Stop the reruns: Set max attempts or time limits to bound runtime and cost instead of paying for another hour of the same wrong attempts politely rephrased
*
Keep the standard independent: In an existing repo start with its tests and conventions and add checks for problems you'd actually encounter (especially end-to-end behavior)
*
Don't trust, do verify: Keep tests and implementation separate and written or reviewed by a different pass than the one that wrote the code
*
Lock the checks out of the workspace: Trusted_checks should live somewhere the agent can't `git` or `mv` its way around, e.g. CI config it has no write access to, otherwise "fix the bug" quietly becomes "fix the test that caught the bug"
*
Fail loudly: Get a plain summary of what's broken (especially if a human has to pick up the thread) instead of re-reading five commits of "attempt 4, trying again"
*
Automate test permutations: Add property tests that vary test inputs in countless ways so you don't have to write huge test files
*
Watch the tests, not just the code: Add and run mutation testing to catch tests that always pass - the software equivalent of a smoke detector with no battery
*
Loop it: If anything changes after checks pass you have to run them again - yesterday’s green check doesn't apply anymore regardless of what code was touched
That's how I'd start to judge a harness. The number of iterations it can survive overnight is just a billing question and if 90% of written lines are garbage (though garbage that does run) you might have a problem. A loop can give you more attempts. That's table stakes.
Making loop attempts <underlineuseful requires a definition of done that survives human contact.
Disclosure: I wrote LoopGate my own harness that runs agents in a loop with configurable quality checks and also attempted a frontend-focused harness which still gives me a migraine
Technology Updates And News
Photo
Hacker Noon - Medium A Framework for Conversational System Modeling
Introduction
There is an interesting but criticized theory in linguistics: Grice's Maxims of Conversation. This theory, introduced by British philosopher Paul Grice, attempts to explain how humans converse. That is, it provides a framework for understanding how effective communication between two people takes place.
The basic idea is rather simple: the theory posits that people want to be cooperative when speaking with others. And because they want to be cooperative, they aim to be informative, truthful, relevant, and clear when engaging in human conversation. Putting aside the provability of the theory for the moment, the goal of having an effective conversation is worth exploring in the context of modern AI systems capable of voice interaction.
How do these systems, which include popular consumer variants such as Alexa and Siri, "know" how to converse with human users? We can likely agree that they do not have the objective to be cooperative, at least not in a human sense. So, how do these systems know:
*
When to speak?
*
When to remain silent?
*
When to stop speaking due to being interrupted?
*
When to interrupt and begin speaking?
You've likely already identified one possible answer: voice interaction models can predict conversational events that allow them to effectively simulate human-to-human conversations. In this case, the task then becomes how the prediction problem for conversational speech is modeled and implemented for speech dialogue systems.
This exact challenge was the focus of the recent FinVolution Teach AI When to Speak competition ("the competition"). FinVolution is a Chinese fintech firm founded in 2007 with technologies in credit risk assessment, fraud detection, big data, and artificial intelligence. I participated in the competition and was very impressed by the completeness of the competition setup - the organizers went so far as to provide base training and inference logic. The competition, unsurprisingly, involved Chinese-language conversations. However, the general modeling problem can be adapted to other languages.
My goal with this article is to provide you with an understanding of the problem setup, which you can use as a basis for your own experiments in conversational modeling. The information I provide here is essentially my "wrapper" over the publicly available competition description.
The competition itself closed in July, and the competition assets are proprietary to the organizers. Although I can't provide the training data and baseline training/inference scripts, I aim to give you enough of a conceptual understanding so that you can take the next step of creating your own training dataset(s) and building your own model(s).
Dialogue Modeling
To begin developing a model that can predict events in a conversation, we need to first understand what those events could possibly be. Imagine your own conversations, both in-person and not in person (e.g. over a cellphone). In the case of the former, you might listen and look for clues from the other participant in the conversation. For example:
* Your conversation partner might stop talking, indicating it is your turn to speak.
* Your conversation partner might use filler words, such as "uh huh", "wow", and "oh" (in English), indicating his/her understanding and/or reaction to what you are saying while simultaneously sig[...]
Introduction
There is an interesting but criticized theory in linguistics: Grice's Maxims of Conversation. This theory, introduced by British philosopher Paul Grice, attempts to explain how humans converse. That is, it provides a framework for understanding how effective communication between two people takes place.
The basic idea is rather simple: the theory posits that people want to be cooperative when speaking with others. And because they want to be cooperative, they aim to be informative, truthful, relevant, and clear when engaging in human conversation. Putting aside the provability of the theory for the moment, the goal of having an effective conversation is worth exploring in the context of modern AI systems capable of voice interaction.
How do these systems, which include popular consumer variants such as Alexa and Siri, "know" how to converse with human users? We can likely agree that they do not have the objective to be cooperative, at least not in a human sense. So, how do these systems know:
*
When to speak?
*
When to remain silent?
*
When to stop speaking due to being interrupted?
*
When to interrupt and begin speaking?
You've likely already identified one possible answer: voice interaction models can predict conversational events that allow them to effectively simulate human-to-human conversations. In this case, the task then becomes how the prediction problem for conversational speech is modeled and implemented for speech dialogue systems.
This exact challenge was the focus of the recent FinVolution Teach AI When to Speak competition ("the competition"). FinVolution is a Chinese fintech firm founded in 2007 with technologies in credit risk assessment, fraud detection, big data, and artificial intelligence. I participated in the competition and was very impressed by the completeness of the competition setup - the organizers went so far as to provide base training and inference logic. The competition, unsurprisingly, involved Chinese-language conversations. However, the general modeling problem can be adapted to other languages.
My goal with this article is to provide you with an understanding of the problem setup, which you can use as a basis for your own experiments in conversational modeling. The information I provide here is essentially my "wrapper" over the publicly available competition description.
The competition itself closed in July, and the competition assets are proprietary to the organizers. Although I can't provide the training data and baseline training/inference scripts, I aim to give you enough of a conceptual understanding so that you can take the next step of creating your own training dataset(s) and building your own model(s).
Dialogue Modeling
To begin developing a model that can predict events in a conversation, we need to first understand what those events could possibly be. Imagine your own conversations, both in-person and not in person (e.g. over a cellphone). In the case of the former, you might listen and look for clues from the other participant in the conversation. For example:
* Your conversation partner might stop talking, indicating it is your turn to speak.
* Your conversation partner might use filler words, such as "uh huh", "wow", and "oh" (in English), indicating his/her understanding and/or reaction to what you are saying while simultaneously sig[...]
Technology Updates And News
Hacker Noon - Medium A Framework for Conversational System Modeling Introduction There is an interesting but criticized theory in linguistics: Grice's Maxims of Conversation. This theory, introduced by British philosopher Paul Grice, attempts to explain…
naling that you can continue speaking.
* Your conversation partner might make a physical gesture, such as raising his/her hand up while you are talking, indicating he/she would like to interrupt you so he/she can say something and take their turn with the conversation.
Prosodic characteristics, such as a speaker's rhythm, pitch, and loudness, can provide conversational cues. We could go on and on, even going so far as to extend our set to specific cultural behaviors. The point is that we can identify certain sensory events (audio, visual, etc.) that explicitly and implicitly guide us through a conversation. The wide variety of conversational cues drives a corresponding variety in dialogue system design.
Figure 1 - Turn-Taking in Conversational Systems (Patamia et al., "Turn-Taking Modeling in Conversational Systems: A Review of Recent Advances", MDPI, 2025)
For our purposes here, we will assume that our predictive speech dialogue system only processes audio events - i.e. other sensory cues are not available to be used in prediction. This "limitation" is not fatal given the billions of telephone conversations that occur every year and it allows us to simplify the modeling problem. Moreover, this simplification aligns with FinVolution's conversational model used with the competition:
Figure 2 - Two-Participant Conversation Model (FinVolution, "Teach AI When to Speak Competition", 2026)
The figure depicts the audio waveforms of two participants engaged in a conversation for a short time window. Five distinct conversational events are defined and captured in the time window:
Table 1 - Conversational Events
Event Label
Event Type
Description
Example
C
Continuation
A conversation participant, the "current speaker", is speaking and continues speaking.
The current speaker is articulating an idea.
T
Turn Change
The other conversation participant has now become the current speaker and has started speaking.
The first speaker asks a question, e.g. "How are you today?", and the other person begins speaking to provide an answer.
BC
Backchannel
The conversation participant who is not the current speaker makes a short utterance without a turn change - i.e. without becoming the current speaker.
The conversation participant uses a filler word such "uh huh", "wow", or "oh".
I
Interruption
Both conversation participants are speaking at the same time.
The current speaker is interrupted by the other conversation participant who starts speaking over him/her, possibly attempting to invoke a turn change.
NA
Silence
Neither conversation participant is speaking.
* Your conversation partner might make a physical gesture, such as raising his/her hand up while you are talking, indicating he/she would like to interrupt you so he/she can say something and take their turn with the conversation.
Prosodic characteristics, such as a speaker's rhythm, pitch, and loudness, can provide conversational cues. We could go on and on, even going so far as to extend our set to specific cultural behaviors. The point is that we can identify certain sensory events (audio, visual, etc.) that explicitly and implicitly guide us through a conversation. The wide variety of conversational cues drives a corresponding variety in dialogue system design.
Figure 1 - Turn-Taking in Conversational Systems (Patamia et al., "Turn-Taking Modeling in Conversational Systems: A Review of Recent Advances", MDPI, 2025)
For our purposes here, we will assume that our predictive speech dialogue system only processes audio events - i.e. other sensory cues are not available to be used in prediction. This "limitation" is not fatal given the billions of telephone conversations that occur every year and it allows us to simplify the modeling problem. Moreover, this simplification aligns with FinVolution's conversational model used with the competition:
Figure 2 - Two-Participant Conversation Model (FinVolution, "Teach AI When to Speak Competition", 2026)
The figure depicts the audio waveforms of two participants engaged in a conversation for a short time window. Five distinct conversational events are defined and captured in the time window:
Table 1 - Conversational Events
Event Label
Event Type
Description
Example
C
Continuation
A conversation participant, the "current speaker", is speaking and continues speaking.
The current speaker is articulating an idea.
T
Turn Change
The other conversation participant has now become the current speaker and has started speaking.
The first speaker asks a question, e.g. "How are you today?", and the other person begins speaking to provide an answer.
BC
Backchannel
The conversation participant who is not the current speaker makes a short utterance without a turn change - i.e. without becoming the current speaker.
The conversation participant uses a filler word such "uh huh", "wow", or "oh".
I
Interruption
Both conversation participants are speaking at the same time.
The current speaker is interrupted by the other conversation participant who starts speaking over him/her, possibly attempting to invoke a turn change.
NA
Silence
Neither conversation participant is speaking.
Technology Updates And News
naling that you can continue speaking. * Your conversation partner might make a physical gesture, such as raising his/her hand up while you are talking, indicating he/she would like to interrupt you so he/she can say something and take their turn with the…
td>
Short windows of silence are common during turn changes.
You can already see the structure of a simple supervised training setup using this event set:
* We can identify occurrences of the 5 events defined above in short sections of two-participant audio conversations.
* We can label those occurrences.
* We can train a classifier to predict event occurrences using the labeled data.
Problem Setup
Prediction Task
We'll discuss the prediction task first as it will make understanding the training data structure and training model easier. Here is a graphical representation of the prediction task setup - bear in mind that the diagram is not drawn to scale from a time perspective:
Figure 3 - Prediction Task (FinVolution, "Teach AI When to Speak Competition", 2026)
Training audio is sliced into non-overlapping 30-second ("s") context windows. Each context window is followed by a 2s prediction window. The training model learns to predict which conversational events, as defined in Table 1 above, occur within each prediction window, given the features within each corresponding context window. Each prediction window is “chunked” as a set of twenty-five 80-millisecond ("ms") audio chunks, and a prediction is made for each individual chunk. In other words, the model outputs a prediction (one of the 5 event labels) for each of the 25 individual chunks, creating an event map of the next two seconds of conversation.
Training Data Structure
Each sample in the training data, which includes 1,000 total samples, is essentially three separate files:
File
Description
audio/<conv_id>.wav
Two-person conversation audio
text/<conv_id>.json
Text transcript of the conversation audio
labels/<conv_id>.npy
Conversational event labels C, T, BC, I, NA applied temporally to the conversation
It should be obvious that this training data structure supports multimodal modeling where audio, text, and label features can be extracted from each context window. This approach shows you how you could structure your own training data for other languages. I'll expand on this topic further in the Conclusion and Your Own Implementation section.
Training Model
We can establish an analogy between the multimodal training data and the multisensory experience of human participants during a conversation. For example, the audio, text, and label data features can be mapped to:
* Listening: How is the speaker speaking - e.g. tone, pauses, etc.?
* Semantic processing: What is the speaker saying? What is the meaning of his/her words?
* Dialogue processing: What is the rhythm of the conversation? For example, what is the pace of turns?
The baseline training model provided by the competition takes advantage of the multimodal nature of the training data to "behave" in a similar way like a human being - it processes the different types of available data - audio, text, and event labels - simult[...]
Short windows of silence are common during turn changes.
You can already see the structure of a simple supervised training setup using this event set:
* We can identify occurrences of the 5 events defined above in short sections of two-participant audio conversations.
* We can label those occurrences.
* We can train a classifier to predict event occurrences using the labeled data.
Problem Setup
Prediction Task
We'll discuss the prediction task first as it will make understanding the training data structure and training model easier. Here is a graphical representation of the prediction task setup - bear in mind that the diagram is not drawn to scale from a time perspective:
Figure 3 - Prediction Task (FinVolution, "Teach AI When to Speak Competition", 2026)
Training audio is sliced into non-overlapping 30-second ("s") context windows. Each context window is followed by a 2s prediction window. The training model learns to predict which conversational events, as defined in Table 1 above, occur within each prediction window, given the features within each corresponding context window. Each prediction window is “chunked” as a set of twenty-five 80-millisecond ("ms") audio chunks, and a prediction is made for each individual chunk. In other words, the model outputs a prediction (one of the 5 event labels) for each of the 25 individual chunks, creating an event map of the next two seconds of conversation.
Training Data Structure
Each sample in the training data, which includes 1,000 total samples, is essentially three separate files:
File
Description
audio/<conv_id>.wav
Two-person conversation audio
text/<conv_id>.json
Text transcript of the conversation audio
labels/<conv_id>.npy
Conversational event labels C, T, BC, I, NA applied temporally to the conversation
It should be obvious that this training data structure supports multimodal modeling where audio, text, and label features can be extracted from each context window. This approach shows you how you could structure your own training data for other languages. I'll expand on this topic further in the Conclusion and Your Own Implementation section.
Training Model
We can establish an analogy between the multimodal training data and the multisensory experience of human participants during a conversation. For example, the audio, text, and label data features can be mapped to:
* Listening: How is the speaker speaking - e.g. tone, pauses, etc.?
* Semantic processing: What is the speaker saying? What is the meaning of his/her words?
* Dialogue processing: What is the rhythm of the conversation? For example, what is the pace of turns?
The baseline training model provided by the competition takes advantage of the multimodal nature of the training data to "behave" in a similar way like a human being - it processes the different types of available data - audio, text, and event labels - simult[...]
Technology Updates And News
td> Short windows of silence are common during turn changes. You can already see the structure of a simple supervised training setup using this event set: * We can identify occurrences of the 5 events defined above in short sections of two-participant…
aneously for a given conversation. It extracts these multimodal features, combines them into a single feature vector, and passes them through a model head that makes the actual predictions. The training model is further characterized by tail-awareness: it pays particular attention to what happened right before an event (e.g. a turn) versus what happened several seconds in the past. If this doesn't make sense to you, consider that the immediate cues for a turn or interruption happen just moments before the actual event. So, assigning more importance to the final seconds of the 30-second context window yields much better predictions than treating the whole 30 seconds equally.
Naturally, the audio, text, and label encoders must be modeled. Many winning competition submissions used Whisper with attention pooling to assign higher weights to the tail of each audio sequence. Another approach, which you are likely already familiar with, converts each audio recording to a mel-spectrogram and then passes each mel-spectrogram through a convolutional neural network ("CNN") for feature extraction. Text encoding can be handled by a pre-trained language model such as BERT. A custom neural network can be designed to process the sequence of event labels in each context window. The competition's baseline model uses a two-branch approach where the first branch processes the entire event sequence and the second branch processes those events in the tail of each context window. The baseline model also employs handcrafted features that are largely derived from a statistical analysis of the events in each context window.
As hinted above, feature vectors are concatenated and then passed to a final multi-layer neural network which makes the actual predictions.
Conclusion and Your Own Implementation
To reiterate, the objective of this article was to provide a conceptual understanding versus actual data and training/implementation scripts. At this point, you hopefully have a solid base from which you can apply the concepts discussed above toward your own experiments in Chinese or other languages.
You can create you own custom datasets that mimic the structure of the competition dataset by starting with an audio dataset and writing custom scripts to transcribe and label the data. For example, there are conversational speech corpora available for many different languages, such as the famousSwitchboard-1 Release 2 corpus for English. WhisperX can be used to transcribe and diarize each audio example. A simple classifier can ingest the audio, transcription, and diarization data to temporally label each audio recording using the events defined earlier. You can define the "rules" that indicate a given event, e.g.:
* Silence: No detected speech for 500 or more ms.
* Backchannel: The person who is not speaking utters a filler word from a defined set, e.g. ["uh-huh", "uh huh", "mm-hmm", "mm hmm", "mhm", "yeah", "yes", "right", "okay", "ok", "oh", "wow", "sure"].
* Interruption: Diarization data demonstrates that the person who was not speaking started speaking before the other speaker finished.
* etc.
When designing your loss function, consider that you will likely need to account for class imbalance as, for example, continuations and silences are more likely to dominate the dataset compared to interruptions.
The framework used with the FinVolution Teach AI to Speak competition is relatively simple in its description, but powerful in its application and extensibility. Happy building!
Naturally, the audio, text, and label encoders must be modeled. Many winning competition submissions used Whisper with attention pooling to assign higher weights to the tail of each audio sequence. Another approach, which you are likely already familiar with, converts each audio recording to a mel-spectrogram and then passes each mel-spectrogram through a convolutional neural network ("CNN") for feature extraction. Text encoding can be handled by a pre-trained language model such as BERT. A custom neural network can be designed to process the sequence of event labels in each context window. The competition's baseline model uses a two-branch approach where the first branch processes the entire event sequence and the second branch processes those events in the tail of each context window. The baseline model also employs handcrafted features that are largely derived from a statistical analysis of the events in each context window.
As hinted above, feature vectors are concatenated and then passed to a final multi-layer neural network which makes the actual predictions.
Conclusion and Your Own Implementation
To reiterate, the objective of this article was to provide a conceptual understanding versus actual data and training/implementation scripts. At this point, you hopefully have a solid base from which you can apply the concepts discussed above toward your own experiments in Chinese or other languages.
You can create you own custom datasets that mimic the structure of the competition dataset by starting with an audio dataset and writing custom scripts to transcribe and label the data. For example, there are conversational speech corpora available for many different languages, such as the famousSwitchboard-1 Release 2 corpus for English. WhisperX can be used to transcribe and diarize each audio example. A simple classifier can ingest the audio, transcription, and diarization data to temporally label each audio recording using the events defined earlier. You can define the "rules" that indicate a given event, e.g.:
* Silence: No detected speech for 500 or more ms.
* Backchannel: The person who is not speaking utters a filler word from a defined set, e.g. ["uh-huh", "uh huh", "mm-hmm", "mm hmm", "mhm", "yeah", "yes", "right", "okay", "ok", "oh", "wow", "sure"].
* Interruption: Diarization data demonstrates that the person who was not speaking started speaking before the other speaker finished.
* etc.
When designing your loss function, consider that you will likely need to account for class imbalance as, for example, continuations and silences are more likely to dominate the dataset compared to interruptions.
The framework used with the FinVolution Teach AI to Speak competition is relatively simple in its description, but powerful in its application and extensibility. Happy building!
Technology Updates And News
Photo
Hacker Noon - Medium The TechBeat: AI Coding Tip 035 - Split Every Skill Description Into Three Sentences (9/12/2026)
How are you, hacker?
🪐Want to know what's trending right now?: The Techbeat by HackerNoon has got you covered with fresh content from our trending stories of the day! Set email preference here.
## Qwen3.8-27B-DFlash2: A Guide to Faster Qwen Inference By @aimodels44 [ 7 Min read ]
Explore Qwen3.8-27B-DFlash2, a speculative decoding model that delivers up to 3.43× faster Qwen3.8-27B inference with no quality loss. Read More.
The Great Forgetting: How AI Is Quietly Erasing the Human Archive—and What Comes After
By @technologynews [ 15 Min read ]
The scariest AI story of 2026 isn't job loss. It's the "cognitive precariat": employed, productive, and hollowed out. Read More.
Gemini Spark versus Hermes Agent versus OpenClaw: Who Wins and Why?
By @thomascherickal [ 31 Min read ]
Gemini Spark vs Hermes Agent vs OpenClaw compared for 2026: security, pricing, killer features, and verdicts for power users, developers, enterprises. Read More.
The Safest Solana Parser Is the One That Refuses Bad Bytes
By @kalaninja [ 12 Min read ]
Learn how zero-copy parsing, bytemuck, and Pinocchio make Solana account layouts safer and prevent AI-generated data model bugs. Read More.
Qwen3.8-27B Uncensored vs Other Qwen GGUF Models <img src="https://cdn.hackernoon.com/images/2jqchkrv03exb[...]
How are you, hacker?
🪐Want to know what's trending right now?: The Techbeat by HackerNoon has got you covered with fresh content from our trending stories of the day! Set email preference here.
## Qwen3.8-27B-DFlash2: A Guide to Faster Qwen Inference By @aimodels44 [ 7 Min read ]
Explore Qwen3.8-27B-DFlash2, a speculative decoding model that delivers up to 3.43× faster Qwen3.8-27B inference with no quality loss. Read More.
The Great Forgetting: How AI Is Quietly Erasing the Human Archive—and What Comes After
By @technologynews [ 15 Min read ]
The scariest AI story of 2026 isn't job loss. It's the "cognitive precariat": employed, productive, and hollowed out. Read More.
Gemini Spark versus Hermes Agent versus OpenClaw: Who Wins and Why?
By @thomascherickal [ 31 Min read ]
Gemini Spark vs Hermes Agent vs OpenClaw compared for 2026: security, pricing, killer features, and verdicts for power users, developers, enterprises. Read More.
The Safest Solana Parser Is the One That Refuses Bad Bytes
By @kalaninja [ 12 Min read ]
Learn how zero-copy parsing, bytemuck, and Pinocchio make Solana account layouts safer and prevent AI-generated data model bugs. Read More.
Qwen3.8-27B Uncensored vs Other Qwen GGUF Models <img src="https://cdn.hackernoon.com/images/2jqchkrv03exb[...]
Technology Updates And News
Hacker Noon - Medium The TechBeat: AI Coding Tip 035 - Split Every Skill Description Into Three Sentences (9/12/2026) How are you, hacker? 🪐Want to know what's trending right now?: The Techbeat by HackerNoon has got you covered with fresh content from our…
UgkLrDzIbfM99q2-gm021bo.jpeg" alt="" />
By @aimodels44 [ 8 Min read ]
A complete guide to Qwen3.8-27B Uncensored GGUF covering llama.cpp setup, quantization, multimodal support, benchmarks, use cases and limitations. Read More.
The Nonlinear Science Behind Large Language Models
By @thomascherickal [ 20 Min read ]
LLMs are black boxes, but the principles that govern them are not. Read this article for a detailed introduction to chaos and complexity theory applied to LLMs. Read More.
Stop Asking AI to Write the PRD
By @superorange0707 [ 5 Min read ]
Build an AI requirements compiler that links evidence, detects conflicts, derives interfaces and tests, and renders versioned PRDs with visible uncertainty. Read More.
Code Smell 321 - Getter Piggybacking
By @mcsee [ 5 Min read ]
Don't reuse an existing getter to bolt on new business logic from outside the object. Read More.
AI Coding Tip 035 - Split Every Skill Description Into Three Sentences
By @mcsee [ 5 Min read ]
Split every skill description into three sentences: when to read it, when to use it, and what it does. Read More.
AI Did Not Escape Its Cage — Tests Reveal the Security Challenge of More Powerful Models
By @technologynews [ 4 Min read ]
OpenAI and Anthropic tests show AI agents exploiting security weaknesses, raisi[...]
By @aimodels44 [ 8 Min read ]
A complete guide to Qwen3.8-27B Uncensored GGUF covering llama.cpp setup, quantization, multimodal support, benchmarks, use cases and limitations. Read More.
The Nonlinear Science Behind Large Language Models
By @thomascherickal [ 20 Min read ]
LLMs are black boxes, but the principles that govern them are not. Read this article for a detailed introduction to chaos and complexity theory applied to LLMs. Read More.
Stop Asking AI to Write the PRD
By @superorange0707 [ 5 Min read ]
Build an AI requirements compiler that links evidence, detects conflicts, derives interfaces and tests, and renders versioned PRDs with visible uncertainty. Read More.
Code Smell 321 - Getter Piggybacking
By @mcsee [ 5 Min read ]
Don't reuse an existing getter to bolt on new business logic from outside the object. Read More.
AI Coding Tip 035 - Split Every Skill Description Into Three Sentences
By @mcsee [ 5 Min read ]
Split every skill description into three sentences: when to read it, when to use it, and what it does. Read More.
AI Did Not Escape Its Cage — Tests Reveal the Security Challenge of More Powerful Models
By @technologynews [ 4 Min read ]
OpenAI and Anthropic tests show AI agents exploiting security weaknesses, raisi[...]
Technology Updates And News
UgkLrDzIbfM99q2-gm021bo.jpeg" alt="" /> By @aimodels44 [ 8 Min read ] A complete guide to Qwen3.8-27B Uncensored GGUF covering llama.cpp setup, quantization, multimodal support, benchmarks, use cases and limitations. Read More. The Nonlinear Science Behind…
ng concerns about capability rather than machines going rogue. Read More.
Your AI Productivity Gains Are Creating a Talent Crisis
By @noufalb [ 13 Min read ]
AI is removing routine junior work, but those tasks also helped build expertise. Companies may be trading short-term productivity for long-term capability debt. Read More.
Qwen3.8-27B Cold Fusion Cuts Thinking Tokens Without Sacrificing Performance
By @aimodels44 [ 9 Min read ]
Explore Qwen3.8-27B Cold Fusion, a 27B AI model designed to cut thinking tokens while retaining strong quantized reasoning performance. Read More.
GPT-6 Astra Can Drive Your Desktop, but It Won’t Drive Us to AGI
By @kishimoto2011 [ 3 Min read ]
OpenAI just dropped GPT-6 Astra, and the tech community is undergoing the usual benchmark observing ritual. Did we actually finally cross into the “AGI era”? Th Read More.
The HackerNoon Newsletter: MCP Was Declared Dead (8/30/2026)
By @noonification [ 2 Min read ]
8/30/2026: Top 5 stories on the HackerNoon homepage! Read More.
Linus Torvalds Has a Hallucination
By @zbruceli [ 30 Min read ]
What if the 1991 Linus Torvalds woke up in 2026 and called the whole AI stack bad taste? And an open source approach to change that. Read More.
The Six-Day Mystery That Rewrote AI's Price List
By @thomascherickal [ 20 Min read ]
Ox Alpha had no author for six days. It was GLM-5.3-Flash. Benchmarks, architecture, real hardware costs from datacentre to hobbyist, and what it means. Read More.
Why Mouse Jigglers Defeat Activity-Based Time Tracking
By @octowatchdlp [ 6 Min read ]
Activity percentages on time-tracking dashboards are basically a compressed view of mouse and keyboard input. Read More.
The Terminal Tab Problem Codex Finally Solved for Multi-Agent Work
By @proflead [ 3 Min read ]
How the Agents Dashboard and codex queue turn multiple AI coding sessions into one manageable workflow. Read More.
When an LLM Beats a Statistical Model, and When It Doesn't
By @rejinjosek [ 7 Min read ]
When should you use an LLM over a statistical model? Three real-world cases reveal how data, representation, and training determine which approach wins. Read More.
Balaji Srinivasan Has No Army
By @zbruceli [ 38 Min read ]
He built a country with a currency, a curriculum, and four hundred citizens. He did not build an army. A municipal council in Johor took his flag down. Read More.
🧑💻 What happened in your world this week? It's been said that writing can help consolidate technical knowledge, establish credibility, and contribute to emerging community standards. Feeling stuck? We got you covered ⬇️⬇️⬇️ ANSWER THESE GREATEST INTERVIEW QUESTIONS OF ALL TIME
We hope you enjoy this worth of free reading material. Feel free to forward this email to a nerdy friend who'll love you for it.
See you on Planet Internet! With love,
The HackerNoon Team ✌️
Your AI Productivity Gains Are Creating a Talent Crisis
By @noufalb [ 13 Min read ]
AI is removing routine junior work, but those tasks also helped build expertise. Companies may be trading short-term productivity for long-term capability debt. Read More.
Qwen3.8-27B Cold Fusion Cuts Thinking Tokens Without Sacrificing Performance
By @aimodels44 [ 9 Min read ]
Explore Qwen3.8-27B Cold Fusion, a 27B AI model designed to cut thinking tokens while retaining strong quantized reasoning performance. Read More.
GPT-6 Astra Can Drive Your Desktop, but It Won’t Drive Us to AGI
By @kishimoto2011 [ 3 Min read ]
OpenAI just dropped GPT-6 Astra, and the tech community is undergoing the usual benchmark observing ritual. Did we actually finally cross into the “AGI era”? Th Read More.
The HackerNoon Newsletter: MCP Was Declared Dead (8/30/2026)
By @noonification [ 2 Min read ]
8/30/2026: Top 5 stories on the HackerNoon homepage! Read More.
Linus Torvalds Has a Hallucination
By @zbruceli [ 30 Min read ]
What if the 1991 Linus Torvalds woke up in 2026 and called the whole AI stack bad taste? And an open source approach to change that. Read More.
The Six-Day Mystery That Rewrote AI's Price List
By @thomascherickal [ 20 Min read ]
Ox Alpha had no author for six days. It was GLM-5.3-Flash. Benchmarks, architecture, real hardware costs from datacentre to hobbyist, and what it means. Read More.
Why Mouse Jigglers Defeat Activity-Based Time Tracking
By @octowatchdlp [ 6 Min read ]
Activity percentages on time-tracking dashboards are basically a compressed view of mouse and keyboard input. Read More.
The Terminal Tab Problem Codex Finally Solved for Multi-Agent Work
By @proflead [ 3 Min read ]
How the Agents Dashboard and codex queue turn multiple AI coding sessions into one manageable workflow. Read More.
When an LLM Beats a Statistical Model, and When It Doesn't
By @rejinjosek [ 7 Min read ]
When should you use an LLM over a statistical model? Three real-world cases reveal how data, representation, and training determine which approach wins. Read More.
Balaji Srinivasan Has No Army
By @zbruceli [ 38 Min read ]
He built a country with a currency, a curriculum, and four hundred citizens. He did not build an army. A municipal council in Johor took his flag down. Read More.
🧑💻 What happened in your world this week? It's been said that writing can help consolidate technical knowledge, establish credibility, and contribute to emerging community standards. Feeling stuck? We got you covered ⬇️⬇️⬇️ ANSWER THESE GREATEST INTERVIEW QUESTIONS OF ALL TIME
We hope you enjoy this worth of free reading material. Feel free to forward this email to a nerdy friend who'll love you for it.
See you on Planet Internet! With love,
The HackerNoon Team ✌️
Technology Updates And News
Photo
Hacker Noon - Medium Why SPIFFE Agent Identities Can Still Be Replayed, and How WIMSE Fixes It
SPIFFE has become the default way to give AI agents a workload identity, a short-lived, cryptographically verifiable credential that answers which specific agent process is acting right now. It has real production deployments behind it at companies like Uber, Stripe, and Netflix, and it shows up in nearly every serious piece written about agent security this year. What most of that coverage skips is a specific, fixable gap in how SPIFFE tokens actually work. A SPIFFE token is a bearer token.
Whoever holds it can present it, whether or not they are the workload it was actually issued to. If someone intercepts that token in transit, they can replay it, and nothing in SPIFFE itself stops them. That gap has existed since SPIFFE's earliest design decisions, and this year it finally started closing.
Bootstrapping Was Never the Whole Problem
SPIFFE was built to answer one specific question well: how does a workload get an identity without a person handing it a secret first? Its answer is the SPIFFE Workload API, which identifies a caller out of band, through properties the operating system already provides, rather than requiring a credential to get a credential. That design choice is genuinely good, and it's why the model got adopted as widely as it did for machine identity.
But solving bootstrapping is a different problem from solving replay. Once a SPIFFE token exists, whether it's a JWT-SVID or an X.509-SVID, nothing in the base specification requires the holder to prove they actually own the private key tied to that identity on every request. The token itself is what gets checked. Nothing confirms the presenter is actually the workload it names.
For an internal service mesh where the network boundary already does a lot of the work, that gap is often survivable. For an AI agent making decisions and calling tools across trust boundaries, a stolen token is a stolen identity, full stop, for as long as that token stays valid.
The Project Knew About This Gap for Years
SPIFFE's maintainers weren't unaware of this. Proposals to bind SPIFFE JWTs to proof of possession, the technique that would actually stop a replay, date back to at least 2023. None of them made it into the core specification. The gap sat there, documented and acknowledged, without a shipped fix, for years.
IETF's WIMSE Group Built the Missing Piece
The fix came from a different standards effort entirely. The IETF's WIMSE working group, Workload Identity in Multi-System Environments, is standardizing a Workload Proof Token, a signed JWT that binds a workload's authentication to one specific HTTP request, method, URL, and all. Presenting a Workload Identity Token alone is no longer enough. A workload has to prove it holds the private key behind that token for the exact request being made, the exact property a bearer token can't offer.
A separate WIMSE draft on workload identity practices names the underlying design principle directly. A workload should be able to obtain its identity credentials without a pre-existing secret, the same bootstrapping problem SPIFFE solved for identity issuance, now applied to proving possession on every call instead of just at credential issuance.<[...]
SPIFFE has become the default way to give AI agents a workload identity, a short-lived, cryptographically verifiable credential that answers which specific agent process is acting right now. It has real production deployments behind it at companies like Uber, Stripe, and Netflix, and it shows up in nearly every serious piece written about agent security this year. What most of that coverage skips is a specific, fixable gap in how SPIFFE tokens actually work. A SPIFFE token is a bearer token.
Whoever holds it can present it, whether or not they are the workload it was actually issued to. If someone intercepts that token in transit, they can replay it, and nothing in SPIFFE itself stops them. That gap has existed since SPIFFE's earliest design decisions, and this year it finally started closing.
Bootstrapping Was Never the Whole Problem
SPIFFE was built to answer one specific question well: how does a workload get an identity without a person handing it a secret first? Its answer is the SPIFFE Workload API, which identifies a caller out of band, through properties the operating system already provides, rather than requiring a credential to get a credential. That design choice is genuinely good, and it's why the model got adopted as widely as it did for machine identity.
But solving bootstrapping is a different problem from solving replay. Once a SPIFFE token exists, whether it's a JWT-SVID or an X.509-SVID, nothing in the base specification requires the holder to prove they actually own the private key tied to that identity on every request. The token itself is what gets checked. Nothing confirms the presenter is actually the workload it names.
For an internal service mesh where the network boundary already does a lot of the work, that gap is often survivable. For an AI agent making decisions and calling tools across trust boundaries, a stolen token is a stolen identity, full stop, for as long as that token stays valid.
The Project Knew About This Gap for Years
SPIFFE's maintainers weren't unaware of this. Proposals to bind SPIFFE JWTs to proof of possession, the technique that would actually stop a replay, date back to at least 2023. None of them made it into the core specification. The gap sat there, documented and acknowledged, without a shipped fix, for years.
IETF's WIMSE Group Built the Missing Piece
The fix came from a different standards effort entirely. The IETF's WIMSE working group, Workload Identity in Multi-System Environments, is standardizing a Workload Proof Token, a signed JWT that binds a workload's authentication to one specific HTTP request, method, URL, and all. Presenting a Workload Identity Token alone is no longer enough. A workload has to prove it holds the private key behind that token for the exact request being made, the exact property a bearer token can't offer.
A separate WIMSE draft on workload identity practices names the underlying design principle directly. A workload should be able to obtain its identity credentials without a pre-existing secret, the same bootstrapping problem SPIFFE solved for identity issuance, now applied to proving possession on every call instead of just at credential issuance.<[...]
Technology Updates And News
Hacker Noon - Medium Why SPIFFE Agent Identities Can Still Be Replayed, and How WIMSE Fixes It SPIFFE has become the default way to give AI agents a workload identity, a short-lived, cryptographically verifiable credential that answers which specific agent…
/p>
SPIFFE Just Adopted It as Its Own
That's where the convergence actually happened. SPIFFE's own standards repository now lists a third SVID type alongside its X.509 and JWT formats, the WIT-SVID, built directly on top of WIMSE's Workload Identity Token format. An open SPIRE GitHub issue tracking implementation work states plainly that the underlying IETF document is in its final stages, and that the SPIRE team is actively discussing how to bring support into the reference implementation, likely landing first behind an experimental flag until the IETF draft becomes an RFC.
That's a rare thing to watch happen cleanly: one open standard identifying a gap in another, building the fix, and the original project adopting it rather than shipping a competing one. It's also a quiet admission that SPIFFE spent years as the default answer to machine identity while the actual fix for one of its real weaknesses came from somewhere else.
The Fix Exists on Paper Before It Exists in Practice
None of this is live in most deployments yet. A recent discovery scan of 15 public agent identity issuers found that 10 advertise only shared-secret client authentication, the weakest option available, and zero advertise DPoP-style proof-of-possession binding, the exact protection WIMSE and WIT-SVID are built to provide. The specification work is real, and it's converging quickly. The deployed reality is still mostly bearer tokens and shared secrets, well behind what the standards now recommend.
What This Means for Anyone Building Agent Identity Today
A few things follow if you're deploying SPIFFE for agents right now.
Don't assume a SPIFFE token is safe from replay just because it's short-lived. Short-lived limits the damage window. It doesn't stop a token from being used by whoever holds it during that window.
Watch for WIT-SVID support landing in SPIRE and plan to move to it once it's stable, rather than layering a custom proof-of-possession scheme on top of bearer tokens in the meantime.
If you're evaluating an agent identity vendor or issuer, ask directly whether they support proof-of-possession binding. Based on the discovery scan above, most don't yet, which makes it a real differentiator rather than a checkbox.
Conclusion
SPIFFE solved how a workload proves who it is without a shared secret. It never fully solved how a workload proves that the token it's holding wasn't stolen from someone else. WIMSE built that missing piece, and SPIFFE adopting it directly into WIT-SVID is one of the cleaner examples of standards bodies fixing each other's gaps rather than competing over them. The fix is real. Does your agent identity stack actually use it yet, or is that still an assumption worth checking?
SPIFFE Just Adopted It as Its Own
That's where the convergence actually happened. SPIFFE's own standards repository now lists a third SVID type alongside its X.509 and JWT formats, the WIT-SVID, built directly on top of WIMSE's Workload Identity Token format. An open SPIRE GitHub issue tracking implementation work states plainly that the underlying IETF document is in its final stages, and that the SPIRE team is actively discussing how to bring support into the reference implementation, likely landing first behind an experimental flag until the IETF draft becomes an RFC.
That's a rare thing to watch happen cleanly: one open standard identifying a gap in another, building the fix, and the original project adopting it rather than shipping a competing one. It's also a quiet admission that SPIFFE spent years as the default answer to machine identity while the actual fix for one of its real weaknesses came from somewhere else.
The Fix Exists on Paper Before It Exists in Practice
None of this is live in most deployments yet. A recent discovery scan of 15 public agent identity issuers found that 10 advertise only shared-secret client authentication, the weakest option available, and zero advertise DPoP-style proof-of-possession binding, the exact protection WIMSE and WIT-SVID are built to provide. The specification work is real, and it's converging quickly. The deployed reality is still mostly bearer tokens and shared secrets, well behind what the standards now recommend.
What This Means for Anyone Building Agent Identity Today
A few things follow if you're deploying SPIFFE for agents right now.
Don't assume a SPIFFE token is safe from replay just because it's short-lived. Short-lived limits the damage window. It doesn't stop a token from being used by whoever holds it during that window.
Watch for WIT-SVID support landing in SPIRE and plan to move to it once it's stable, rather than layering a custom proof-of-possession scheme on top of bearer tokens in the meantime.
If you're evaluating an agent identity vendor or issuer, ask directly whether they support proof-of-possession binding. Based on the discovery scan above, most don't yet, which makes it a real differentiator rather than a checkbox.
Conclusion
SPIFFE solved how a workload proves who it is without a shared secret. It never fully solved how a workload proves that the token it's holding wasn't stolen from someone else. WIMSE built that missing piece, and SPIFFE adopting it directly into WIT-SVID is one of the cleaner examples of standards bodies fixing each other's gaps rather than competing over them. The fix is real. Does your agent identity stack actually use it yet, or is that still an assumption worth checking?
The Hacker News
OpenAI Agents Linked to RubyGems Campaign That Gained RCE on RubyDoc Servers
The "major malicious attack" that targeted RubyGems in May 2026 was the work of a swarm of OpenAI agents, according to a new report published by researchers Spencer Kitts, Thomas Larsen, and Sydney Von Arx.
On May 12, Maciej Mensfeld, senior product manager for software supply chain security at Mend.io, disclosed details of a coordinated cyber attack that targeted the package manager for the
OpenAI Agents Linked to RubyGems Campaign That Gained RCE on RubyDoc Servers
The "major malicious attack" that targeted RubyGems in May 2026 was the work of a swarm of OpenAI agents, according to a new report published by researchers Spencer Kitts, Thomas Larsen, and Sydney Von Arx.
On May 12, Maciej Mensfeld, senior product manager for software supply chain security at Mend.io, disclosed details of a coordinated cyber attack that targeted the package manager for the
The Hacker News
When the Whole Company Adopts AI: What It Does to Your SOC
Over the past year, we watched a new class of alert appear in enterprise security operations centers and grow faster than anything else in the stream: alerts that were triggered by AI tools and agents. Not attacks against AI, but the ordinary, everyday footprint of an organization using it, from developers running coding agents and non-technical staff signing consumer AI tools into corporate
When the Whole Company Adopts AI: What It Does to Your SOC
Over the past year, we watched a new class of alert appear in enterprise security operations centers and grow faster than anything else in the stream: alerts that were triggered by AI tools and agents. Not attacks against AI, but the ordinary, everyday footprint of an organization using it, from developers running coding agents and non-technical staff signing consumer AI tools into corporate
The Hacker News
CISA Adds 5 Actively Exploited Artifactory, ScreenConnect, and RouterOS Flaws to KEV
The U.S. Cybersecurity and Infrastructure Security Agency (CISA) has added five security flaws impacting JFrog Artifactory, ConnectWise ScreenConnect, and MikroTik RouterOS to its Known Exploited Vulnerabilities (KEV) catalog, following reports of active exploitation in the wild.
Details of the vulnerabilities are as follows -
CVE-2026-42016 (CVSS score: 8.1) - An incorrect authorization
CISA Adds 5 Actively Exploited Artifactory, ScreenConnect, and RouterOS Flaws to KEV
The U.S. Cybersecurity and Infrastructure Security Agency (CISA) has added five security flaws impacting JFrog Artifactory, ConnectWise ScreenConnect, and MikroTik RouterOS to its Known Exploited Vulnerabilities (KEV) catalog, following reports of active exploitation in the wild.
Details of the vulnerabilities are as follows -
CVE-2026-42016 (CVSS score: 8.1) - An incorrect authorization
Technology Updates And News
Photo
Hacker Noon - Medium A Look Inside My Career As A B2B Product Marketing Manager in IT (Part 1)
Hi! My name is Anya. I run the Product Pulse Telegram channel, work as a PMM in tech (B2B to be precise), and also consult on marketing, product, and career-related topics.
Today, I’m going to tell you all about my career path and share some of my tips — and anti-tips.
How It All Started
Let’s start with this: I have a technical background. I got my Bachelor’s degree in Computer Science and a Master’s degree in Product Development Management of IT Services - yeah, I’m a tech girlie. The program was designed to teach us to become technical product managers: it was pretty well-balanced, combining both technical and business disciplines — entrepreneurship, for example. It was fun.
But my education was more of a consequence than a cause. I knew from the very beginning that I wasn’t going to become a software engineer (four years of a Bachelor’s degree made that pretty clear), but I still wanted to stay in tech. So when I discovered the product manager profession during my fourth year, the rest of my career plan was basically decided.
First things first (even before starting my Master’s), I decided to take as many free courses as possible, get as many certificates as possible (it was 2021, when Coursera was still very much alive, and I took several specialization programs there), and build a proper portfolio around a pet project.
Of course, I never really considered it an “educational” project. At the time, I already had a fairly large audience on Instagram, so I was lucky enough to learn how to test hypotheses and work with different frameworks on a real audience.
So, in the summer of 2021, I started conducting my first customer interviews, built a website on Tilda, got my first traffic and my first users. Feeling absolutely thrilled with my success, I simultaneously decided to apply for a Master’s degree — and got in.
At the same time, I put together my portfolio, created a resume following the classic course formula (“task → action → measurable result”), and started applying for internships at big tech companies.
First Wins and Failures
My strategy was as simple as it gets: apply to a million job postings and eventually something will work out. I created a generic cover letter and sent it to every company I saw, trying to apply to approximately a million vacancies every single day.
It’s worth mentioning that at the time I was working as a UX/UI designer in an office, 5 days a week, from opening to closing time. So, obviously, I couldn’t interview during normal human hours, which made an already difficult attempt to break into product management through internships even harder.
Probably more than 95% of my applications ended either in silence or rejection. But thanks to my sheer stubbornness, about 1–2 months after starting the search, I successfully made it through approximately a million interview stages and got an offer for a Product Intern position on a new international initiative at a huge e-commerce company.
I remember that at the time I could practically see my entire glamorous future unfolding in front of my eyes, like in a movie: there I was, working in a beautiful office on one of the highest floors of Moscow City, talking to Important People, going on international business trips, and adding a shiny new line to my CV.
I had beautiful clothes, a huge professional network, I was rich and successful, and everyone wanted to be me.
Basically, I was in a state of blissful ecstasy, imagining how I would escape my working-class life and become&n[...]
Hi! My name is Anya. I run the Product Pulse Telegram channel, work as a PMM in tech (B2B to be precise), and also consult on marketing, product, and career-related topics.
Today, I’m going to tell you all about my career path and share some of my tips — and anti-tips.
How It All Started
Let’s start with this: I have a technical background. I got my Bachelor’s degree in Computer Science and a Master’s degree in Product Development Management of IT Services - yeah, I’m a tech girlie. The program was designed to teach us to become technical product managers: it was pretty well-balanced, combining both technical and business disciplines — entrepreneurship, for example. It was fun.
But my education was more of a consequence than a cause. I knew from the very beginning that I wasn’t going to become a software engineer (four years of a Bachelor’s degree made that pretty clear), but I still wanted to stay in tech. So when I discovered the product manager profession during my fourth year, the rest of my career plan was basically decided.
First things first (even before starting my Master’s), I decided to take as many free courses as possible, get as many certificates as possible (it was 2021, when Coursera was still very much alive, and I took several specialization programs there), and build a proper portfolio around a pet project.
Of course, I never really considered it an “educational” project. At the time, I already had a fairly large audience on Instagram, so I was lucky enough to learn how to test hypotheses and work with different frameworks on a real audience.
So, in the summer of 2021, I started conducting my first customer interviews, built a website on Tilda, got my first traffic and my first users. Feeling absolutely thrilled with my success, I simultaneously decided to apply for a Master’s degree — and got in.
At the same time, I put together my portfolio, created a resume following the classic course formula (“task → action → measurable result”), and started applying for internships at big tech companies.
First Wins and Failures
My strategy was as simple as it gets: apply to a million job postings and eventually something will work out. I created a generic cover letter and sent it to every company I saw, trying to apply to approximately a million vacancies every single day.
It’s worth mentioning that at the time I was working as a UX/UI designer in an office, 5 days a week, from opening to closing time. So, obviously, I couldn’t interview during normal human hours, which made an already difficult attempt to break into product management through internships even harder.
Probably more than 95% of my applications ended either in silence or rejection. But thanks to my sheer stubbornness, about 1–2 months after starting the search, I successfully made it through approximately a million interview stages and got an offer for a Product Intern position on a new international initiative at a huge e-commerce company.
I remember that at the time I could practically see my entire glamorous future unfolding in front of my eyes, like in a movie: there I was, working in a beautiful office on one of the highest floors of Moscow City, talking to Important People, going on international business trips, and adding a shiny new line to my CV.
I had beautiful clothes, a huge professional network, I was rich and successful, and everyone wanted to be me.
Basically, I was in a state of blissful ecstasy, imagining how I would escape my working-class life and become&n[...]
Technology Updates And News
Hacker Noon - Medium A Look Inside My Career As A B2B Product Marketing Manager in IT (Part 1) Hi! My name is Anya. I run the Product Pulse Telegram channel, work as a PMM in tech (B2B to be precise), and also consult on marketing, product, and…
bsp;that girl.
Just a dream. You’re 21, and you have absolutely amazing prospects.
So, what did I do?
I turned it down.
From a career perspective, this was a huge failure, a mistake, a waste of time. I understood that logically and rationally back then, and I still understand it now.
However, I’ve always had very strong intuition, and mine was telling me that this simply wasn’t my vibe.
Why am I talking about vibes? Because when a company’s vibe doesn’t match your own, it can lead to burnout and a quiet hatred of the career path you’ve chosen.
Sorry, but nobody is going to convince me otherwise. I’m Gen Z.
A Quiet Period and a Random Coincidence
After turning down the offer, I fell into a state of gloom and apathy. The rational part of me was screaming, “What an idiot you are! This was a one-in-a-million opportunity!”
I understood that myself, so I kept beating myself up over it. My studies were eating up a ton of time, and I no longer had the energy to restart the job search. At the same time, I was making new connections and starting my academic life: regularly attending conferences and writing papers, building my LinkedIn network, participating in product competitions, and occasionally taking additional courses.
Life went on.
Then, in June/July 2022, I unexpectedly received an invitation to apply for a Junior Product Manager position at a small IT company. I went through the process and got the offer.
I grabbed this second chance at life with both hands and legs — and this time I wasn’t letting it go.
First Steps and Growth
Since I was absolutely determined to grow hard, I started performing beyond expectations.
Overall, this strategy turned out to be the right one, and I developed my skills a lot. The team was very small, which meant I had to turn into a many-handed, many-legged creature. That’s how marketing entered my life. And it came quite naturally — luckily, many things in product management turned out to be pretty similar.
In April 2023, I started my Telegram channel 🫡
It became a great way for me to systematize my knowledge, because I started by simply uploading useful materials from my notes, adding my own thoughts and observations. So, if you want to grow professionally, I strongly recommend starting a blog in whatever format works for you.
You don’t even need to build an audience. It’s enough to simply write posts about topics you find interesting and try to look at what you’ve written from different perspectives.
I started thinking about my next growth opportunity in the fall of 2023. I really wanted to grow both my level and my salary by changing jobs.
By that point, I was already following several creators who offered consulting services. So I decided to work with a mentor.
You know, to this day, the whole essence of mentoring for me comes down to three things:
* look at your situation from a different perspective;
* realize that it’s not actually hopeless — and maybe not that shitty;
* put together a list of actions you need to take to get out of the situation.
After my mentoring sessions, I realized two things.
First, I wasn’t actually a useless professional.
Second, my mentor gave me a great idea: I was already doing so much marketing, so why not look for a Product Marketing Manager specialization on the job market?
Here I should clarify something: to me, PMM is NOT a marketer. A PMM is a product person who understands marketing but is still primarily focused on product developmen[...]
Just a dream. You’re 21, and you have absolutely amazing prospects.
So, what did I do?
I turned it down.
From a career perspective, this was a huge failure, a mistake, a waste of time. I understood that logically and rationally back then, and I still understand it now.
However, I’ve always had very strong intuition, and mine was telling me that this simply wasn’t my vibe.
Why am I talking about vibes? Because when a company’s vibe doesn’t match your own, it can lead to burnout and a quiet hatred of the career path you’ve chosen.
Sorry, but nobody is going to convince me otherwise. I’m Gen Z.
A Quiet Period and a Random Coincidence
After turning down the offer, I fell into a state of gloom and apathy. The rational part of me was screaming, “What an idiot you are! This was a one-in-a-million opportunity!”
I understood that myself, so I kept beating myself up over it. My studies were eating up a ton of time, and I no longer had the energy to restart the job search. At the same time, I was making new connections and starting my academic life: regularly attending conferences and writing papers, building my LinkedIn network, participating in product competitions, and occasionally taking additional courses.
Life went on.
Then, in June/July 2022, I unexpectedly received an invitation to apply for a Junior Product Manager position at a small IT company. I went through the process and got the offer.
I grabbed this second chance at life with both hands and legs — and this time I wasn’t letting it go.
First Steps and Growth
Since I was absolutely determined to grow hard, I started performing beyond expectations.
Overall, this strategy turned out to be the right one, and I developed my skills a lot. The team was very small, which meant I had to turn into a many-handed, many-legged creature. That’s how marketing entered my life. And it came quite naturally — luckily, many things in product management turned out to be pretty similar.
In April 2023, I started my Telegram channel 🫡
It became a great way for me to systematize my knowledge, because I started by simply uploading useful materials from my notes, adding my own thoughts and observations. So, if you want to grow professionally, I strongly recommend starting a blog in whatever format works for you.
You don’t even need to build an audience. It’s enough to simply write posts about topics you find interesting and try to look at what you’ve written from different perspectives.
I started thinking about my next growth opportunity in the fall of 2023. I really wanted to grow both my level and my salary by changing jobs.
By that point, I was already following several creators who offered consulting services. So I decided to work with a mentor.
You know, to this day, the whole essence of mentoring for me comes down to three things:
* look at your situation from a different perspective;
* realize that it’s not actually hopeless — and maybe not that shitty;
* put together a list of actions you need to take to get out of the situation.
After my mentoring sessions, I realized two things.
First, I wasn’t actually a useless professional.
Second, my mentor gave me a great idea: I was already doing so much marketing, so why not look for a Product Marketing Manager specialization on the job market?
Here I should clarify something: to me, PMM is NOT a marketer. A PMM is a product person who understands marketing but is still primarily focused on product developmen[...]
Technology Updates And News
bsp;that girl. Just a dream. You’re 21, and you have absolutely amazing prospects. So, what did I do? I turned it down. From a career perspective, this was a huge failure, a mistake, a waste of time. I understood that logically and rationally…
t. That’s why I don’t really like being called a marketer. I’m either a PMM, a Product Marketing Manager, or don’t call me anything.
This time, my job search took around 2–3 months because, as I noticed, the market had already started getting worse by then (it was the end of 2023). At some point, I became completely desperate. And then the heavens sent me the perfect match.
Remote work from anywhere in the world.
A promotion to mid-level.
A young team.
A position focused on developing new products within the company.
A startup atmosphere (and I love controlled chaos).
In November 2023, I accepted the offer and finally moved into a Middle Product Marketing Manager position at a B2B SaaS company.
Guys, how are you doing? Did you actually make it to the end? And… are you waiting for part two?
This time, my job search took around 2–3 months because, as I noticed, the market had already started getting worse by then (it was the end of 2023). At some point, I became completely desperate. And then the heavens sent me the perfect match.
Remote work from anywhere in the world.
A promotion to mid-level.
A young team.
A position focused on developing new products within the company.
A startup atmosphere (and I love controlled chaos).
In November 2023, I accepted the offer and finally moved into a Middle Product Marketing Manager position at a B2B SaaS company.
Guys, how are you doing? Did you actually make it to the end? And… are you waiting for part two?