<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/atom-premium.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedpress="https://feed.press/xmlns" xmlns:media="http://search.yahoo.com/mrss/" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <feedpress:locale>en</feedpress:locale>
  <link rel="hub" href="https://feedpress.superfeedr.com/"/>
  <logo>https://static.feedpress.com/logo/telerik-blogs-people-6185388110628.jpg</logo>
  <title type="text">Telerik Blogs | People</title>
  <subtitle type="text">The official blog of Progress Telerik - expert articles and tutorials for developers.</subtitle>
  <id>uuid:d47df5b5-67fd-430d-9d7c-a9d31dae6111;id=3</id>
  <updated>2026-07-13T23:17:02Z</updated>
  <link rel="alternate" href="https://www.telerik.com/"/>
  <link rel="self" type="application/atom+xml" href="https://feeds.telerik.com/blogs/people"/>
  <entry>
    <id>urn:uuid:3ff2a0b3-8691-4d96-86da-ea2ef3472d6f</id>
    <title type="text">When the Time Is Right</title>
    <summary type="text">Priority tells you what matters. Timing tells you if the moment is right. Here’s why that distinction changes everything about how you build.</summary>
    <published>2026-07-09T13:18:49Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Teon Beijl </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17375493/when-time-right"/>
    <content type="text"><![CDATA[<p><span class="featured">Priority tells you what matters. Timing tells you if the moment is right. Here&rsquo;s why that distinction changes everything about how you build.</span></p><p>A customer threatened to cancel. Full panic. A board meeting to discuss how to retain him, budget approved and allocated to honor his demands. A scrum team started fixing.&nbsp;I flew to the UK to sit with him.</p><p>We had redesigned the entire UI. Not a small fix. We completely overhauled the user experience. From a very old tool with toolbars to an application with a strip.</p><p>We didn&rsquo;t just move buttons to ribbons with tabs. We restructured the entire information architecture. Fixed, opinionated workflows that guided users through the critical steps to model complex geological concepts.</p><p>He hated it. He demanded a rollback.</p><p>I reserved time to interview him. Asked questions. Listened. Tried to sense his reality, his context, where he was coming from. How he was perceiving the changes.</p><p>What I discovered changed everything.</p><p>He wasn&rsquo;t even using the latest version. He hadn&rsquo;t tried the new UI at all. He had simply refused. While we moved on and developed the next generation of our software, he had not. He was still way behind. And somewhere at the back of the queue, feeling ignored and dismissed.</p><p>That feeling made him rage. But it also highlighted a bigger problem.</p><p>In the room next door, two junior geologists were being trained on the exact same concept. They loved it. The design was exactly what the team needed. What he needed too.</p><p>He was desperate for a transformation in his company. A way to step back from his expert role and become a guide for the younger generation. Once I explained the concepts, he understood. He was appreciative of the work. He was on board.</p><p>We almost rolled back an expensive, fundamental shift based on an emotional rant from a customer speaking from expired context.</p><p>It was never about the concept. It was about misunderstanding context.</p><h2 id="the-linearity-trap">The Linearity Trap</h2><p>A backlog is not a queue. It&rsquo;s a context-sensitive collection.</p><p>Every item in it was written at a specific moment, about a specific reality. That reality changes. The backlog doesn&rsquo;t update itself.</p><p>The linearity trap is treating it like a queue anyway. Adding new requests. Reorganizing. Managing delay. Shipping. Without ever asking: does this still belong in the collection?</p><p>The customer had been reporting improvements and bugs for a long time. But we moved on. We shipped. And while we did, he stood still. By the time his feedback reached the top of the queue, the context it was written in had long since changed.</p><p>The problem wasn&rsquo;t that we were behind. We were committing to work that was already outdated.</p><h2 id="delay-is-not-the-problem.-decay-is.">Delay Is Not the Problem. Decay Is.</h2><p>A lot of backlog management is really about managing time. Managing delivery. Focused on shipping as much high-quality work as possible by the promised date.</p><p>Managing delay is a conscious decision. It&rsquo;s about choosing when to push something back. That&rsquo;s prioritization. That&rsquo;s what I wrote about in the previous article.</p><p>But the bigger problem is decay.</p><p>Decay is what happens to the work you&rsquo;re not doing. While you&rsquo;re waiting, while you&rsquo;re delaying, what has been written down is eroding. Rusting. Because context expires.</p><p>It&rsquo;s like the best-before date on a package. By the time you grab it from the shelf, you need to check the date before you consume it.</p><p>A lot of backlogs are just queues constantly filled with requests, feedback and bug reports. Nobody checks the date. Nobody asks: is this still valid?</p><p>I&rsquo;ve seen old backlog items treated as still true when the context they described no longer existed. They were no longer worth pursuing. The more context you capture when you write them, the easier it is to later assess whether they still fit.</p><p>Something can be very old and still be good. But developing the sense to distinguish that is the work. Understanding whether it&rsquo;s expired or not. Whether it&rsquo;s still safe to consume.</p><p>In the UK, the right response would have been to delay any work on his requests. To first discover whether his feedback was based on expired context. Instead, urgency won. And decay nearly cost us everything.</p><h2 id="urgency-vs.-timing">Urgency vs. Timing</h2><p>The urgency that came up was really signaling a demand. Someone pushing. Pressure.</p><p>And under pressure, you don&rsquo;t always make the most strategic decisions. The board panicked. Money appeared. Time was freed up. Nobody stopped to check the return on investment, whether it was worth it. It was an emotional response.</p><p>That happens. We&rsquo;re humans. And that emotion is sometimes also why we close amazing deals and do great things for loyal customers. So it wasn&rsquo;t all wrong. Part of the response was also recognizing the loyalty of a customer who had been with us through harder times.</p><p>But urgency gets the attention. It drives the emotion. And what we need underneath it is judgment.</p><p>Timing is a readiness signal. It&rsquo;s not driven by pressure. It&rsquo;s driven by context.</p><ul><li>Is the customer ready? </li><li>Is the market ready? </li><li>Is the team ready? </li><li>Is the moment alive?</li></ul><p>Those are timing questions. Urgency can&rsquo;t answer them.</p><h2 id="compound-vs.-corrosion">Compound vs. Corrosion</h2><p>We&rsquo;re always looking for momentum. Shipping as much as we can, as fast as possible, without compromising quality.</p><p>But without sensing whether the time is right, we create progress without compounding.</p><p>Compounding is making sure what you ship ties into the next thing and builds over time into the desired version of your software aligned with your vision. Creating conditions so that what comes next makes sense.</p><p>The opposite is corrosion. Work that sits in the backlog long enough starts to corrode. And when you finally act on it, you might ship something that corrodes the foundation of your software rather than building it. Hurting not just momentum but overall quality.</p><p>When we made that big shift to the UI, we should have reassessed the entire backlog. Diagnosed it. Made sure there was no outdated work hiding in the queue because of it.</p><p>We didn&rsquo;t. And a decayed issue almost corroded the core concept.</p><h2 id="context-sensitivity">Context Sensitivity</h2><p>Why did feedback and previous user requests corrode? Because the timeframe wasn&rsquo;t short. That concept developed over multiple months. We should have been capturing the context shift and using it as a filter on our backlog to stay ahead of it.</p><p>But capturing context is the hard part.</p><p>The world moves on. Your market, client and economic reality change constantly. The technical reality shifts the moment you upgrade systems and build with new technologies. The context you&rsquo;re shipping into is constantly moving.</p><p>And on top of that, emotional states. Not everybody handles change well. Not everybody&rsquo;s personal context is aligned with where you&rsquo;re going.</p><p>You need to develop a sense to see those shifts.</p><h2 id="keep-a-human-in-the-loop">Keep a Human in the Loop</h2><p>AI is very good at capturing context. Writing it down. Cross-referencing it. Flagging patterns. It can help us see and track everything we can&rsquo;t manage on our own.</p><p>But the moment context is written down, it&rsquo;s already outdated. And managing that expiration date is a collaborative effort. AI can help cross-check against captured context, flag a customer as a potential churn risk, surface old backlog items that conflict with new ones.</p><p>What it can&rsquo;t do is sit in the room.</p><p>What I did with that customer&mdash;reserving time, asking questions, listening&mdash;that&rsquo;s a nuance. A human sense that becomes more important as we connect more and more data at greater and greater speed.</p><p>AI can read the signal. It can&rsquo;t always hear what&rsquo;s between the lines. The emotional rage that looks like a high-priority request but is really a loyalty problem. The developer who goes quiet in sprint planning. The feedback that reads as a bug report but is actually a cry for better onboarding.</p><p>That&rsquo;s not in the data. It&rsquo;s in the room.</p><h2 id="closure">Closure</h2><p>Timing isn&rsquo;t about managing deadlines. It&rsquo;s about reading whether the moment is right. Priority tells you what matters. Timing tells you whether now is the moment to act on it or not at all.</p><p>The backlog or data alone won&rsquo;t tell you that. You need to read the room. Develop that sense. Check the expiration date. Keep humans in the loop for the context AI can&rsquo;t capture.</p><p>We ship when it matters. We shred when it&rsquo;s expired.</p><p>On purpose. By design.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">How Depending Leads to Independence</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com/blogs/how-depending-leads-independence">True independence isn&rsquo;t the absence of dependencies.</a> It&rsquo;s an intentional integration. An assembly that&rsquo;s clear, chosen and changeable.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17375493.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:082495fa-3b2a-46e9-b13f-1d4ee4d3a2a9</id>
    <title type="text">The Importance of Empathy in Automation</title>
    <summary type="text">To take AI beyond automation into true intelligence, we need to include empathy.</summary>
    <published>2026-07-08T13:10:10Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Jefferson S. Motta </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17374912/importance-empathy-automation"/>
    <content type="text"><![CDATA[<p><span class="featured">To take AI beyond automation into true intelligence, we need to include empathy.</span></p><p>In this post, I want to discuss a real danger we may face with AI agents, drawn from a specific interaction I witnessed on LinkedIn.</p><p>Recently, on a post where someone was presenting ideas about &ldquo;intelligent&rdquo; AI agents, the author claimed that if a customer fails to pay a SaaS subscription, the system will block access, trigger an automatic charge and apply a late fee, all without any human intervention. This was promoted as something futuristic and advanced.</p><p>I saw a disaster waiting to happen, especially considering that the same outcome could be achieved without AI, if that were ever desirable.</p><h2 id="what-was-not-considered-the-human-element">What Was Not Considered: The Human Element</h2><p>There are many situations that can lead to a missed payment. What happens, for example, if the client&rsquo;s assistant falls ill and cannot process the payment? What if they had a medical emergency and no one took over the task in time? What if the invoice never arrived? What if the client is going through a temporary hardship, but has been a loyal customer for years? Does that count for nothing? Where is the human element in the consumer relationship?</p><p>These are not far-fetched hypotheticals. They have happened with my own SaaS customers.</p><blockquote><p><strong><em>Automation without humanity is oppression at scale.</em></strong></p></blockquote><p>We could easily implement the AI agent&rsquo;s suggestion and follow the same path: missed payment, blocked account and a fine applied. But is this the right approach?</p><p>My background in neuroscience and communication reshaped how I think about the human side of technology-driven processes. That plus some life experiences lead me to consider the broader context:</p><ul><li>In many jurisdictions, consumer protection laws prohibit unilateral penalties without proper notice. Implementing such a drastic automatic response could have legal implications.</li><li>In society, there is the principle of good faith. Every commercial relationship presumes that both parties act honestly until proven otherwise. This action could have serious consequences for that business relationship and reputation.</li><li>We have to remember to consider the human context. Behind every business and every overdue charge, there are people with stories, setbacks and circumstances that must be considered before any penalty is applied.</li></ul><h2 id="what-we-should-actually-build">What We Should Actually Build</h2><p>A genuinely intelligent AI agent does not block first and ask questions later. It recognizes patterns. Has this client always paid on time? Then the delay probably has a reason. The system could send an empathetic notification before taking any action. It could offer a courtesy window. It could escalate the issue to a human when the situation is ambiguous. An intelligent agent could prioritize retaining a client, which is often worth far more than punishing a late payment.</p><p>For those building AI agents: <strong>before you automate punishment, automate empathy</strong>. Your system will reflect your values. If you build without considering the person on the other side, you could be constructing a scalable injustice machine, one capable of generating damages that could exceed any original problem the AI was trying to address.</p><blockquote><p><strong><em>Technology without empathy is not innovation. It is regression with a polished interface.</em></strong></p></blockquote><h2 id="conclusion">Conclusion</h2><p>We are at a moment where the architecture and design decisions we make today will shape how millions of people are treated by systems over which they have no control.</p><p>And to help avoid building oppressive and unjust machines, we need to cultivate empathy and uphold our organizations&rsquo; principles, with the greater purpose of <strong>serving people</strong> rather than merely extracting value from them.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">AI Can&rsquo;t Solve It All: What Frontend Devs Still Hate Working On</h4></div><div class="col-8"><p class="u-fs16 u-mb0">What still causes the most friction when building modern web applications? <a target="_blank" href="https://www.telerik.com/blogs/ai-cant-solve-all-what-120-frontend-developers-say-they-still-hate-working">120+ developers at JSNation and React Summit weigh in.</a></p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17374912.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:0dac30b3-0498-4120-aa1e-c48cc3032b86</id>
    <title type="text">3 Tricks to Help You Stop Procrastinating</title>
    <summary type="text">You have a lot on your plate. But rather than get any of it done, you seek out distractions. If you find yourself procrastinating at work, this post has three tips to help you break this pattern.</summary>
    <published>2026-07-02T12:24:05Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Suzanne Scacca </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17371623/3-tricks-help-stop-procrastinating"/>
    <content type="text"><![CDATA[<p><span class="featured">You have a lot on your plate. But rather than get any of it done, you seek out distractions. If you find yourself procrastinating at work, this post has three tips to help you break this pattern.</span></p><p>Procrastination isn&rsquo;t usually an issue of laziness or a lack of time-management skills. If we&rsquo;re talking about chronic procrastination, psychologists suggest it&rsquo;s an issue having more to do with self-regulation. It goes like this:</p><ul><li>You have an important task to do, be it big or small.</li><li>You know that if you don&rsquo;t do the task or get it done on time, it&rsquo;s going to create a problem for you (and probably others as well).</li><li>Yet, you willingly delay the task, knowing full well the consequences.</li><li>The distractions you seek out feel good, but it&rsquo;s only temporary.</li></ul><p>In this post, we&rsquo;re going to look at some of the reasons why people procrastinate and various tips and tricks you can do to push past it.</p><h2 id="why-do-we-procrastinate">Why Do We Procrastinate?</h2><p><a target="_blank" href="https://www.psychologytoday.com/us/basics/procrastination">According to Psychology Today</a>:</p><blockquote><p>&ldquo;Everyone puts things off sometimes, but procrastinators chronically avoid difficult tasks and may deliberately look for distractions. Procrastination tends to reflect a person&rsquo;s struggles with self-control. For habitual procrastinators, who represent approximately 20 percent of the population, &lsquo;I don&rsquo;t feel like it&rsquo; comes to take precedence over their goals or responsibilities, setting them on a downward spiral of negative emotions that further deters future effort.&rdquo;</p></blockquote><p>But why exactly do procrastinators <em>not feel like it</em>? There are a number of reasons.</p><p>For some, it&rsquo;s the pressure to be perfect and the fear of failing to live up to that standard that keeps them from getting started.</p><p>For others, it&rsquo;s because they perceive the task as being unenjoyable. So, they seek out something that will bring them joy, even temporarily.</p><p>Here are some other reasons why people may procrastinate:</p><ul><li>The task seems too big to handle.</li><li>They see little or no reward in doing it.</li><li>They&rsquo;re confused about how to do the task.</li><li>They feel overstimulated.</li><li>They feel fatigued.</li></ul><p>There are some mental health practitioners who suggest that there&rsquo;s sometimes something else at play.</p><p><a target="_blank" href="https://www.psychologytoday.com/us/blog/in-practice/202512/youre-not-a-procrastinator-youre-a-batcher">Dr. Alice Boyes</a>, for instance, says that &ldquo;batchers&rdquo; are often confused for procrastinators. Batchers are people who prefer to complete a set of tasks in a way that maximizes their productivity.</p><p>There are seven types. These are the ones most relevant to designers and developers:</p><ol><li>The time-based batcher waits to do certain tasks at specific times of the day instead of the second they hit their plate.</li><li>The volume-based batcher waits until they&rsquo;ve accumulated enough tasks and then cranks them out all at once.</li><li>The pressure-based batcher waits until they&rsquo;re closer to the delivery date (just not too close to miss it).</li><li>The context-based batcher waits until their physical environment is ideal (like the kids going to bed at night).</li><li>The identity-based batcher waits until a pre-determined time when they work in that capacity (like doing onboarding only on Mondays, wireframes on Tuesday, etc.)</li></ol><p>For some procrastinators, it&rsquo;s not about being irresponsible and delaying a task that needs to get done. It&rsquo;s that they have a preferred work method that only resembles procrastination.</p><h2 id="tricks-to-help-prevent-procrastination">3 Tricks to Help Prevent Procrastination</h2><p>Procrastination can feel good in the moment, though many people realize deep down inside the consequences won&rsquo;t feel very good. Here are some of the consequences that can result from procrastination:</p><ul><li>You wait until the last minute, forcing other critical tasks to go on the backburner.</li><li>You rush through the task, delivering it with errors, bugs, inconsistencies or other quality issues.</li><li>You feel stressed and overwhelmed, which leaves you in a heightened state of aggravation the rest of the day.</li><li>You miss your deadline. Your boss or client is displeased with you, which may keep you from better opportunities or advancements down the road.</li><li>You regularly procrastinate, which inevitably leads to sleepless nights, health issues and burnout.</li></ul><p>If you&rsquo;re worried you&rsquo;re headed down this path, here are some tricks you can use to stop procrastinating:</p><h2 id="use-a-task-management-tool">1. Use a Task Management Tool</h2><p>There are a couple of issues that can be resolved by <a target="_blank" href="https://www.telerik.com/blogs/4-project-management-strategies-help-build-professional-credibility">using a project-management tool</a> to schedule your tasks.</p><p>Let&rsquo;s say your boss calls you up and tells you they need a landing page built by Friday for a new Facebook ad campaign. You&rsquo;ve got it on your mind all week, but you keep dragging your feet. You hate building landing pages and would rather focus on maintaining and updating their website.</p><p>There&rsquo;s a big difference between knowing you have a task to do versus seeing it on a timeline or task list in front of you. That said, you might still feel a sense of pressure whenever you see this looming task.</p><p>What may help is having a tool that allows you to create an actionable and fully editable plan for the day, week and month ahead.</p><p>My suggestion is to find a scheduler that:</p><h3 id="allows-you-to-plan-your-days-down-to-the-hour">Allows You to Plan Your Days Down to the Hour</h3><p>Instead of just adding a three-hour task to build the landing page, you can set aside specific hours when you know you will be ready and able to get it done.</p><p><a target="_blank" href="https://www.atlassian.com/blog/productivity/find-productive-hours">Everyone&rsquo;s most productive hours</a> are different. If you haven&rsquo;t found yours yet, spend some time looking into it so you can schedule different kinds of tasks when you&rsquo;re mentally and energetically up to the challenge.</p><h3 id="comes-with-drag-and-drop-capabilities">Comes with Drag-and-Drop Capabilities</h3><p>If you&rsquo;re not feeling up to a certain task but it&rsquo;s up next on your schedule, simply drag it to a new time slot where you can reasonably tackle it.</p><p>This is why I love calendar-based time management tools. When you can see the whole week or even month ahead, <em>and</em> your deadlines are clearly marked, you can shift things around to suit how you&rsquo;re feeling in that moment.</p><h3 id="enables-you-to-build-in-free-time-or-buffers">Enables You to Build in Free Time or Buffers</h3><p>If you&rsquo;re filling your schedule to the brim every day with no wiggle room, it&rsquo;s going to make any level of procrastination worse. So, give yourself some breathing room.</p><p>For instance, I give myself a two-hour break in the middle of every work day. I don&rsquo;t have to use it all. But just having it on the calendar gives me the grace to work when I&rsquo;m up to the task instead of wasting my time on social media, Reddit, etc.</p><h3 id="allows-you-to-check-off-tasks-as-you-finish-them">Allows You to Check Off Tasks as You Finish Them</h3><p>The physical (or digital) act of <a target="_blank" href="https://www.atlassian.com/blog/productivity/the-psychology-of-checklists-why-setting-small-goals-motivates-us-to-accomplish-bigger-things">checking an item off a task list releases a hit of dopamine</a>.</p><p>One of the reasons why procrastinators seek out distractions is to activate their pleasure center. By setting up your task manager to create a similar sensation (and one that comes with rewards in the end instead of consequences), it may become addictive in a positive way.</p><h2 id="make-the-task-smaller">2. Make the Task Smaller</h2><p>A lot of times, it&rsquo;s the size of the task that intimidates people and leads them to procrastinate. For example, let&rsquo;s say you&rsquo;re <a target="_blank" href="https://www.telerik.com/blogs/design-systems-developers">building a design system</a> for a new app you&rsquo;re working on. You&rsquo;re dreading the task because of how long or complex it&rsquo;s been in the past. You have a six-hour block on your calendar to get it done and you keep pushing it back.</p><blockquote><p><strong>10:00 a.m. - 4:00 p.m.: CREATE DESIGN SYSTEM FOR CLIENT A</strong></p></blockquote><p>So, how about this?</p><p>Look at your deadline. Do you have some time before it needs to be done? Great. Then rather than set aside six hours (or however long you think it&rsquo;ll take), create a 15-minute task for your next free moment:</p><blockquote><p><strong>10:00 a.m. - 10:15 a.m.: Duplicate design system for Client X and save to Client A folder</strong></p></blockquote><p>Create a copy of the design system from the previous job, and save it in the project folder you&rsquo;re currently working on. While you&rsquo;re in there, update the basic client details so you don&rsquo;t have to worry about it later.</p><p>Not ready to do more right now? That&rsquo;s fine. Add a new 30-minute task to your schedule when you have the time, energy or focus:</p><blockquote><p><strong>3:30 p.m. - 4:00 p.m.: Swap out colors in design system for Client A&rsquo;s</strong></p></blockquote><p>You can do this with the remainder of the steps required to finish the overarching task.</p><p>For a lot of procrastinators, this approach can make difficult or time-consuming tasks feel more manageable. So long as you keep an eye on that deadline, you can make these small, incremental steps toward completing the whole task over time instead of all at once.</p><h2 id="cut-down-on-your-decision-making">3. Cut Down on Your Decision-making</h2><p>There&rsquo;s a <a target="_blank" href="https://lawsofux.com/choice-overload/">UX Law called Choice Overload</a>. It states that:</p><blockquote><p>&ldquo;Overchoice or choice overload is the paradoxical phenomenon that choosing between a large variety of options can be detrimental to decision making processes.&rdquo;</p></blockquote><p>We see this in UX design all the time. When you give users far too many choices to make or too many options to choose from, some of them just decide it&rsquo;s best to make no choice at all.</p><p>How does this play into procrastination?</p><p>Let&rsquo;s say you have four web development projects you&rsquo;re working on this month. They&rsquo;re all at varying stages. You look at the calendar for today and see the following tasks:</p><ul><li>1-hour kickoff call with Client B</li><li>30-minute weekly check-in with team</li><li>3 separate 30-minute user testing sessions to moderate for Client A</li><li>2 hours of market research for Client C</li><li>3 hours of user persona development for Client D</li><li>32 unread emails</li><li>11 unread Slack messages</li></ul><p>The first three you <em>have</em> to do. The problem is, they&rsquo;re scattered haphazardly throughout the day. So, trying to get the market research and user persona work done in one single stretch is going to be hard. You tell yourself you&rsquo;d much rather do that work than check your messages, but you just can&rsquo;t get started.</p><p>Those unread messages are weighing on you. You know that checking them would be the quickest thing to do and it wouldn&rsquo;t be a big deal if they get disrupted by the calls or user testing sessions. However, you know they might add more work (and possibly stress) to your plate.</p><p>So, what do you do?</p><p>The more brainpower you expend on &ldquo;What should I do next?&rdquo; or &ldquo;How do I avoid this task I&rsquo;m dreading,&rdquo; the more energy you&rsquo;re sapping away from work you need to do. The best thing is to reduce the number of decisions you have to make.</p><p>When it comes to managing tasks, you can do this by having dedicated hours for when you do certain things, like the time-based batcher method mentioned above.</p><p>For example, you might hold space on your calendar every day from 8:00 to 8:30 a.m. and again from 4:30 to 5:00 p.m. to check messages. By doing this, the 32 emails and 11 Slack messages no longer become something you have to contend with when figuring out what to do next.</p><p>Another thing you could do is set rules for when you can be scheduled and for what kinds of tasks. For instance, you could have dedicated days for meetings and calls. What&rsquo;s more, you could restrict those calls to a set timeframe, like between 9:00 a.m. and 12:00 p.m. This way, your calls wouldn&rsquo;t be spread out all over the place, making it challenging to get larger tasks done.</p><h2 id="wrapping-up">Wrapping Up</h2><p>We procrastinate because we anticipate some sort of discomfort or displeasure at performing a task. It could be that we believe the task will be too hard, that we won&rsquo;t be able to do a good job or that it&rsquo;ll bore our brains out.</p><p>Some people turn toward distractions that temporarily pause those feelings that have arisen. The only problem is that the joy and relief that come from those distractions are not long-lasting. What&rsquo;s more, procrastination can exacerbate the consequences of not doing the task when you had initially planned to.</p><p>Rather than get stuck with this kind of habit whenever you feel the urge to not do something, train yourself to develop new habits. Schedule all your tasks, but allow yourself the flexibility to move things around as needed. Break up bigger tasks into smaller steps to reduce overwhelm. And come up with rules so you&rsquo;re not having to expend so much mental energy on what to work on and when.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">Navigating Turmoil and Chaos at Work Like a Pro</h4></div><div class="col-8"><p class="u-fs16 u-mb0">Struggling to quiet the chaos around you? These four strategies might <a target="_blank" href="https://www.telerik.com/blogs/navigating-turmoil-chaos-work-like-pro">help you navigate the turmoil</a> arising inside and outside of your workspace.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17371623.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:2ec1f7bc-a277-4bcc-b3d7-ce4efd679c12</id>
    <title type="text">How Depending Leads to Independence</title>
    <summary type="text">True independence isn’t the absence of dependencies. It’s an intentional integration. An assembly that’s clear, chosen and changeable.</summary>
    <published>2026-07-01T13:19:44Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Teon Beijl </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17371098/how-depending-leads-independence"/>
    <content type="text"><![CDATA[<p><span class="featured">True independence isn&rsquo;t the absence of dependencies. It&rsquo;s an intentional integration. An assembly that&rsquo;s clear, chosen and changeable.</span></p><p><strong>It depends.</strong></p><p>If you ever ask a design question, most likely this is the answer. <em>It depends.</em></p><p>It&rsquo;s true. Everything depends on something else. There&rsquo;s no black or white, right or wrong answer, because it always depends. This is the context you&rsquo;d need to understand. How it&rsquo;s related.</p><p>This applies to your <a href="https://www.telerik.com/blogs/stop-running-your-backlog-like-emergency-room" target="_blank">backlog</a> as well. In previous articles, we covered priority and timing. When does something deserve attention, and in what order do you pick up work. And even when you know what to pick up, when matters.</p><p>So let&rsquo;s say you know what work to pick up and when to pick it up, the question still worth asking is: what does it depend on, and is anything else depending on it?</p><p>We call this &ldquo;dependency management.&rdquo; I think that means more than a dependency graph. It&rsquo;s about relationships and context.</p><h2 id="the-regulatory-reflex">The Regulatory Reflex</h2><p>We often manage dependencies well as part of backlog management to mitigate or address risk. And there&rsquo;s a reflex, a regulatory reflex, that makes us lean toward risk avoidance.</p><p>A dependency gets seen or projected as a negative thing. That risk, the thinking goes, can then be mitigated by reducing dependencies.</p><p>I&rsquo;ve seen this a lot in product development. &ldquo;Dependency management&rdquo; became a synonym for <em>reducing</em> dependencies.&nbsp;Avoid the vendor. Build it yourself. Own the code, own the outcome. Right?</p><p>It sounds strategic. But it rests on the wrong definition of independence.</p><h2 id="does-true-independence-actually-exist">Does True Independence Actually Exist?</h2><p>Here&rsquo;s the question to ask yourself:&nbsp;<strong>Does true independence actually exist?</strong></p><p>The word <em>independence</em> literally means &ldquo;not to hang from.&rdquo;</p><blockquote><p><em>In</em> (not) + <em>pendere</em> (to hang).</p></blockquote><p>The whole concept is built on negation.</p><p>But you always depend on something. A framework, team, budget or a market. Even the time you have in a day.</p><p>The question isn&rsquo;t <em>whether</em> you depend. It&rsquo;s what you depend on and whether that dependency works.</p><p>Fortunately, there&rsquo;s another way to read that same prefix.</p><p>The <em>in-</em> in independence has another root. The one in <em>include</em>, <em>inject</em>, <em>integrate</em>, <em>insight</em>. <em>In</em> as <em>into</em>, <em>within</em>, <em>part of</em>. Not negation. <strong>Integration.</strong></p><p>Read that way, independence doesn&rsquo;t mean &ldquo;not hanging from.&rdquo; It means &ldquo;hanging in.&rdquo; Being part of something. Integrated into a larger system. Intentional.</p><p>That&rsquo;s a very different idea than avoidance.</p><p>You&rsquo;re not running from dependencies. You&rsquo;re choosing which ones to integrate into. Seeing them clearly. Selecting them deliberately. Keeping the freedom to shift them when the system needs to evolve.</p><p>Not the absence of dependencies. The presence of deliberate ones.</p><p>A purposeful assembly of parts. That&rsquo;s what we should mean when we say &ldquo;independent.&rdquo;</p><h2 id="a-new-definition-clarity-choice-change">A New Definition: Clarity, Choice, Change</h2><p>True independence is about intentional integration, based on three requirements:</p><ul><li><strong>Clarity:</strong> You can <em>see</em> what you depend on.</li><li><strong>Choice:</strong> You can <em>select</em> your dependencies deliberately.</li><li><strong>Change:</strong> You can <em>shift</em> them when you need to adapt to reality.</li></ul><p>Dependencies you see clearly, chose on purpose and can shift aren&rsquo;t risks. They&rsquo;re the assembly.</p><p>The risky ones are those you can&rsquo;t see, didn&rsquo;t choose and can&rsquo;t change. And those are often the ones created by chasing the wrong definition of independence in the first place.</p><h2 id="the-pain-of-the-wrong-definition">The Pain of the Wrong Definition</h2><p>I worked on an edge connectivity ecosystem for remotely operating oil rigs. The goal was to standardize how software ran at the edge. Authentication, data access, data streaming, etc. All the foundational components every new project needed.</p><p>We built those components once, so other software teams wouldn&rsquo;t have to rebuild them every time.</p><p>It was a strategic bet. I did a lot of the narrative work, high-stakes pitches, executive alignment, the whole thing. The argument was simple: consolidating common parts saves money, reduces waste and lets the company move faster.</p><p>The numbers worked. But the adoption didn&rsquo;t.</p><p>A lot of product teams resisted. Some flat-out refused. The cost-saving argument was easily offset by something they felt more acutely: the fear that being tied to a centralized platform would hold them back later. That when they needed to solve a new problem or make a different strategic choice, this dependency would be in the way.</p><p>They heard the pitch as: <em>Give up your freedom to build, and we&rsquo;ll give you efficiency.</em></p><p>And under the old definition of independence (the negation one), they were right to resist. We were asking them to depend on something they didn&rsquo;t fully control.</p><p>But that&rsquo;s not what was actually happening.</p><p>We weren&rsquo;t asking them to <em>give up</em> independence. We were asking them to <em>redefine</em> it. To stop measuring freedom by what they built themselves, and start measuring it by what they could deliberately depend on. Clearly, on purpose, with the ability to change.</p><p>The pain wasn&rsquo;t the dependency. The pain was the wrong definition.</p><h2 id="what-the-ecosystem-actually-offered">What the Ecosystem Actually Offered</h2><p>Before the platform, every team built authentication, data access and streaming from scratch. They depended on their own budget, their own developers, their own expertise. Their speed, their skill and their security were limited by what each individual team could pull off.</p><p>The result was scattered software. Reinventing the wheel. From a company perspective, it was waste: the same work, done badly, in parallel.</p><p>What the ecosystem offered wasn&rsquo;t fewer dependencies. It was <em>better</em> ones.</p><p>A centralized team with deep expertise. A dependency the company could see, manage and improve. The freedom to shift the underlying technology when something better came along, because the contract was clear and the boundaries were defined.</p><p>The product teams&rsquo; dependencies didn&rsquo;t shrink. They grew. But they became something the company could actually manage.</p><p>A purposeful assembly, with each part chosen.</p><h2 id="the-same-pattern-smaller-scale">The Same Pattern, Smaller Scale</h2><p>The same pattern showed up in our design system work.</p><p>Teams had been forking and falling out of sync, maintaining custom code originally built by an external agency. When the agency engagement ended, we kept the code, but not the expertise. Internal teams were on the hook for something they hadn&rsquo;t built.</p><p>The fix was the same shape as the platform shift: move from custom in-house code to a well-documented third-party framework. We migrated to Progress Kendo UI. The license fee was new but visible. The hidden internal cost, buried in cross-charges and undocumented maintenance, went away.</p><p>We even ran a hybrid model. Kendo UI for most components. Different libraries for charting and mapping if Kendo UI wasn&rsquo;t the best fit. More dependencies, technically. But each one chosen on purpose. Each one we could see and could change if needed.</p><p>Different definition.</p><h2 id="what-independence-actually-looks-like">What Independence Actually Looks Like</h2><p>The question was never <em>how do I become independent?</em> It&rsquo;s <em>what am I depending on, and does it work?</em></p><p>Independence isn&rsquo;t escape from dependence. It&rsquo;s intentional integration. Clear. Chosen. Changeable.</p><p>A purposeful assembly. That&rsquo;s what <em>independent</em> should mean. On purpose. By design.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">Stop Building Generic Software</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com/blogs/stop-building-generic-software">Stop trying to build</a> what already exists. Start building what sets you apart.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17371098.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:1bd8e293-fa30-4fab-803e-f42e54e29d42</id>
    <title type="text">Check Out These Amazing Projects from the Progress x GitNation Hackathon!</title>
    <summary type="text">We hosted a hackathon in partnership with GitNation, and the response blew us away. In just 48 hours, we got over 30 finished projects! Check out our winners and some of our favorites.</summary>
    <published>2026-06-29T16:35:30Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Kathryn Grayson Nanz </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17369833/check-out-amazing-projects-progress-gitnation-hackathon"/>
    <content type="text"><![CDATA[<p><span class="featured">Our Progress x GitNation hackathon at React Summit and JSNation netted 30+ projects that blew us away. Check out our winners and some of our favorites.</span></p><p>A few weeks ago, the Progress team headed to Amsterdam for <a target="_blank" href="https://reactsummit.com/">React Summit</a> and <a target="_blank" href="https://jsnation.com/">JSNation</a>: two of the back-to-back biggest events on the JavaScript calendar. </p><p>Between the packed schedule, booth conversations, social events and time hanging out with a few hundred of your closest developer friends, it was a seriously week. Not to mention, our team finally got to spend some time together in-person&mdash;something that doesn&rsquo;t happen very often when you&rsquo;re scattered across the globe! Although we all left feeling exhausted (and at least in my case, wildly jet-lagged), it was absolutely worth the trip.</p><p><img sf-image-responsive="true" src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/.net-maui-aiprompt/1781519496198.jpg?sfvrsn=819290e8_2" height="575" style="max-width:100%;height:auto;" title="1781519496198" width="1280" alt="Kiril, on stage at React Summit. " sf-size="105038" /></p><p>Our own Kiril Peyanski took the React Summit stage to deliver a talk on generative frontend, exploring a new paradigm where LLMs generate the logic that maps data to UI using React Server Components and Server Functions to make interfaces that adapt to the user. And when I tell you the room was packed, I mean <em>literally</em> standing room only and overflowing out the door!</p><p><img sf-image-responsive="true" src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/.net-maui-aiprompt/1781519492695.jpg?sfvrsn=f86ecc35_2" height="963" style="max-width:100%;height:auto;" title="1781519492695" width="1280" alt="Kiril&#39;s talk, overflowing with attendees " sf-size="204170" /></p><p>As part of the conference, we also hosted a hackathon in partnership with <a target="_blank" href="https://gitnation.com/">GitNation</a>, challenging attendees to build something that makes tech conferences better. We left the specifics up to our hackers. It could mean better for attendees, better for speakers, better for organizers or something else entirely. We wanted to see how creative folks would get, and the response blew us away. The hackathon lasted just 48 hours, and we had over 30 finished projects!</p><p>After judging (which, let me tell you, was a real challenge), three projects stood out from the crowd:</p><p><strong>Our grand prize winners, <a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/502">HALLWAY</a>:</strong> The team behind HALLWAY built a mobile-first app that turns the chaos of a conference day into a personalized, connected flow. Answer a few quick questions, and it builds your schedule, fills your free gaps with curated intros to the right people, and places you in a small group for the evening. </p><p><strong>Our first runner-up, <a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/593">Conf Pilot</a>:</strong> Conf Pilot is an MCP server that brings live conference schedules directly into AI chat. Ask "what&rsquo;s next?" and instead of a wall of text, you get a fully interactive, themed widget with track filters, live countdown timers and calendar links&mdash;all without leaving your AI assistant. One of the first projects to use the new MCP Apps structured content pattern, and a seriously impressive build for a one-person submission! </p><p><strong>Our second runner-up, <a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/524">Stuck Stack</a>:</strong> Stuck Stack turns the conference into a live help marketplace. Post what you&rsquo;re blocked on, find someone nearby who can help you in five minutes, and watch blockers move across a live board from Open &rarr; Matched &rarr; Solved. Organizers get a real-time dashboard that can even detect when enough attendees are stuck on the same thing and suggest a pop-up help clinic on the spot. Clever, useful and beautifully designed.</p><p><img sf-image-responsive="true" src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/.net-maui-aiprompt/1781519491888.jpg?sfvrsn=6fdf2f90_2" height="575" style="max-width:100%;height:auto;" title="1781519491888" width="1280" alt="The Progress team on stage with the overall winners, team HALLWAY " sf-size="113685" /></p><p>However, we couldn&rsquo;t give prizes to everyone&mdash;as much as we wished we could! When I tell you the judging was a challenge, it&rsquo;s because we had other submissions like these that were so, <em>so</em> impressive. While these unfortunately didn&rsquo;t end up placing, we do want to make sure they get their time in the sun as well, so you can also appreciate their incredible work! </p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/579">The Hallway</a></strong> took a new swing at the age-old problem of networking. Your AI agent walks into the conference before you do, negotiates with other attendees&rsquo; agents to find the right matches and only reveals identities once both humans consent. </p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/592">Unison</a></strong> tackled something nobody else touched&mdash;language barriers. It dubs conference talks in real-time, letting speakers present in one language while every attendee hears it in their own, with no headsets and about a three-second lag. Two-way, too: attendees can ask questions in their language and the speaker receives them in theirs.</p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/595">CrowdShift</a></strong> flipped the speaker experience on its head. Speakers normally prepare blind, with no idea who&rsquo;s actually in the room. CrowdShift pulls registration data and builds a continuously updated audience brief, so a speaker can see that their crowd shifted from 65% senior to 55% junior and adapt their talk in real time.</p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/588">ConferenceCast</a></strong> treated a multi-track conference like a TV broadcast: every room is a channel, and you get a personalized program guide with AI match scores, live session cards, countdown timers and a control-room dashboard for organizers to track what&rsquo;s working in real time.</p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/581">FireRaven Conference Hub </a></strong>went after a bigger problem: conference discovery is basically guesswork. Their platform gives speakers portable reputation profiles and lets attendees rate events across meaningful dimensions&mdash;expertise, clarity, practical impact and energy.</p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/573">Nexo</a></strong> kept it focused: tell it your role, goals and interests, and it builds you a focused conference plan with a clear explanation for every recommendation. Sometimes, the best solutions are the simple ones.</p><p><strong><a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects/580">Stage Deployer</a></strong> changes how you give talks. It lets speakers create small audience apps from a simple text prompt. Just type an idea, wait about two minutes, then share a QR code for the audience to scan. The interaction results appear live on the big screen as charts, rankings or word clouds.</p><p>We highly encourage you to <a target="_blank" href="https://www.hackathonparty.com/hackathons/43/projects">check out all the submissions in the project gallery </a>and see the incredible variety of things people built with Telerik and Kendo UI components from Progress Software.</p><p><img sf-image-responsive="true" src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/.net-maui-aiprompt/img_4975.jpeg?sfvrsn=f5e0c414_2" height="786" style="max-width:100%;height:auto;" title="IMG_4975" width="1179" alt="The Progress team in front of the booth at JS Nation / React SUmmit " sf-size="271594" /></p><p>Amsterdam delivered on all fronts: the venue was great, the crowd was friendly and the whole experience reminded us just how great it is to be able to spend time together with a bunch of folks all excited to geek out about the same stuff.</p><p><em>Huge</em> congrats to all three of our hackathon winning teams, and a massive well done to every single person who submitted. More than 30 projects in a couple of days is no joke! We had a fantastic time, and we&rsquo;re already looking forward to the next one.</p><hr /><h3>Ready to build your next React app?</h3><p><a href="https://www.telerik.com/kendo-react-ui" class="Btn" target="_blank">Explore KendoReact</a></p><img src="https://feeds.telerik.com/link/23073/17369833.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:fff4ff80-d670-4945-a0dd-4879a1372580</id>
    <title type="text">Stop Running Your Backlog Like an Emergency Room</title>
    <summary type="text">The 3P Triage Framework: why purpose and design come before urgency—and how that changes everything about backlog prioritization.</summary>
    <published>2026-06-22T16:04:33Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Teon Beijl </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17365385/stop-running-your-backlog-like-emergency-room"/>
    <content type="text"><![CDATA[<p><span class="featured">The 3P Triage Framework: why purpose and design come before urgency&mdash;and how that changes everything about backlog prioritization.</span></p><p>You know the feeling. Another feature. Another bug. Another stakeholder request that can&rsquo;t wait. You fight the fire.</p><p>And somewhere at the end of the week, you look at your changelog and realize you&rsquo;re no closer to where you wanted to be.</p><p>That feeling is the ER mindset. And if you&rsquo;re building software, managing a product or owning a business, there&rsquo;s a good chance it&rsquo;s running your backlog.</p><h2 id="the-er-is-not-the-problem">The ER Is Not the Problem</h2><p>The emergency room excels at prioritization under pressure. Triage nurses make life-or-death decisions in under 60 seconds. They sort by urgency and severity. They don&rsquo;t treat the loudest patient first. They treat the one who needs it most.</p><p>But here&rsquo;s what often gets missed: the ER is part of a bigger system.</p><p>A hospital doesn&rsquo;t only treat emergencies. It prevents emergencies before they happen and treats patients who need real care. The ER is one room in a much larger building. A dedicated room with a purpose.</p><p>The problem isn&rsquo;t the ER. The problem is when your entire backlog becomes one.</p><p>When everything is urgent, nothing is. You respond. And respond. And respond. And the work that deserves real attention&mdash;the strategic work, the preventive work, the work that would stop the emergencies from happening in the first place&mdash;never gets done.</p><h2 id="what-the-er-gets-wrong">What the ER Gets Wrong</h2><p>The ER triages everyone who walks through the door. That&rsquo;s by design. It has to.</p><p>But your backlog shouldn&rsquo;t.</p><p>Most prioritization frameworks&mdash;like the Eisenhower Matrix, MoSCoW and RICE&mdash;jump straight to scoring. Urgency. Importance. Effort. Impact. They assume that everything entering the system deserves to be evaluated.</p><p>That is an expensive assumption. Because most backlogs are approached from an operational perspective. What&rsquo;s urgent. What&rsquo;s important. What&rsquo;s next. Useful, but it skips the bigger picture. The vision, the version you&rsquo;re building toward.</p><p>And that&rsquo;s exactly what you need to ask: <em>Should this be in the system at all?</em></p><h2 id="the-3p-triage-framework">The 3P Triage Framework</h2><p>This is what I call the 3P Triage Framework. Purpose. People. Profit. Three-stage triage. Each one a filter before the next.</p><h3 id="purpose">Purpose</h3><p><strong>Purpose</strong> is the viability check.</p><p>&ldquo;On purpose&rdquo; means the work is intentionally aligned with where you&rsquo;re going. Not just relevant. Directional. Walking the line toward what you&rsquo;re actually building.</p><p>&ldquo;By design&rdquo; means you have a clear version defined that you&rsquo;re building today. Not someday. Not &ldquo;we could.&rdquo; Clarity on what version of the vision you are releasing next. One check. One big question:</p><ul><li>Is it on purpose and by design? Yes / No</li></ul><p>If the answer is no, the item doesn&rsquo;t fit. It gets filtered out before it&rsquo;s ever scored. You assign it to a future version or remove it altogether.</p><p>This is an important step to add in backlog triage and the one often skipped. Without it, you triage everything. And when you triage everything, you&rsquo;re back in the ER.</p><h3 id="people">People</h3><p><strong>People</strong> is the desirability check. This is where urgency and importance come in.</p><p>How critical is this right now? What&rsquo;s the impact if we don&rsquo;t act? Who needs it? What does it unlock or block?</p><p>This is the proven system. The meat of prioritization. Eisenhower had the right instinct here. The problem wasn&rsquo;t the framework. It was applying it without context.</p><p>When every item in your backlog has already passed a purpose check, urgency and impact become meaningful signals. When they haven&rsquo;t, everything feels urgent.</p><p>Score both on a simple scale:</p><ul><li>Urgency: Low / Medium / High / Critical</li><li>Importance: Low / Medium / High / Critical</li></ul><h3 id="profit">Profit</h3><p><strong>Profit</strong> is the feasibility check. The final lens of reality.</p><p>Can we actually do this? What&rsquo;s the effort? What&rsquo;s the risk? What might we break, slow down or delay by taking this on? What do we gain? What&rsquo;s the return on investment?</p><p>Not just &ldquo;can we build it?&rdquo; but &ldquo;can we afford to build it right now, given everything else?&rdquo; And is it profitable to do so?</p><p>Size up all three:</p><ul><li>Effort: S / M / L / XL</li><li>Risk: S / M / L / XL</li><li>Revenue: S / M / L / XL</li></ul><p>I&rsquo;ve seen teams spend a sprint fixing a bug that affected three users, while a performance issue slowing down everyone quietly compounded in the background. I&rsquo;ve seen initiatives invented to add capabilities to a part of the product our vision was trying to make obsolete in the industry.</p><p>Sometimes the most strategic move is removing something entirely. Maximize work <strong>not</strong> done.</p><p>With this 3P Triage Framework, you now know the value, the priority of a task. But when do you work on it?</p><h2 id="priority-is-not-order">Priority Is Not Order</h2><p>This is the distinction that changes how you use all of this.</p><ul><li><strong>Priority</strong> is an understanding of value. It tells you what matters most.</li><li><strong>Order</strong> is a commitment to act. It tells you what&rsquo;s next.</li></ul><p>They are not the same thing.</p><p>A low-priority item can hold a high order position, because of timing, dependencies or readiness. A high-priority item might sit lower in the order because the conditions aren&rsquo;t right yet. Confusing priority with order is where backlogs fail.</p><p>When they&rsquo;re treated as the same thing, urgency drives execution. Again. Technical debt never gets solved. Prevention never gets resourced. You&rsquo;re back building a response system instead of a product.</p><p>And the emergencies keep coming. Because nothing is preventing them.</p><h2 id="closure">Closure</h2><p>The ER isn&rsquo;t the problem. The ER mindset is. The emergency room responds to urgency. Your backlog shouldn&rsquo;t.</p><p>Real triage starts with a check: Is this aligned with our purpose? Does it fit the design we have? Only then does urgency and impact matter. Only then does feasibility make it worth it.</p><p>That&rsquo;s the difference between a team that responds and a team that builds. On purpose. By design.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">Out of Control: A Design Guide for Alarm Management </h4></div><div class="col-8"><p class="u-fs16 u-mb0">Alarms are about actions, not just signals. Design for safety means <a target="_blank" href="https://www.telerik.com/blogs/out-control-design-guide-alarm-management">designing the full alarm lifecycle.</a> The goal isn&rsquo;t awareness&mdash;it&rsquo;s response.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17365385.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:886c91a4-d681-4b2a-a70f-04ec25db2af6</id>
    <title type="text">Design Principles Unpacked, No. 3: Affordance</title>
    <summary type="text">Good design doesn’t need a manual. Affordance is about making purpose visible—in objects, interfaces and life. Stand out on purpose.</summary>
    <published>2026-04-23T15:57:02Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Teon Beijl </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17324261/design-principles-unpacked-no-3-affordance"/>
    <content type="text"><![CDATA[<p><span class="featured">Good design doesn&rsquo;t need a manual. Affordance is about making purpose visible&mdash;in objects, interfaces and life. Stand out on purpose.</span></p><p>Every time I see it, it catches my eye. As a designer, I can&rsquo;t help but notice.</p><p>I don&rsquo;t know if you see this where you&rsquo;re from, but here, I see pieces of paper taped to doors: &ldquo;Pull, don&rsquo;t push.&rdquo; Or a coffee machine with a post-it next to the button: &ldquo;Press this first.&rdquo;</p><p>These additions are almost never part of the original design. They appear later as a fix.</p><p>Whenever you see extra instructions layered on top of something, it&rsquo;s usually a sign of poor design. The object didn&rsquo;t make its purpose clear enough on its own.</p><p>In design, we call this <strong>affordance</strong>.</p><h2 id="what-affordance-really-means">What Affordance Really Means</h2><p>Affordance is about perceived purpose. It&rsquo;s the relationship between an object and the actions it suggests. A handle suggests pulling. A flat plate suggests pushing.</p><p>My coffee machine, a Sage, has buttons that light up with LEDs. They highlight which button to press next. Love it! Even my 2-year-old can operate it.</p><p>Good affordance doesn&rsquo;t need explanation. You don&rsquo;t think. You act.</p><p>That&rsquo;s why well-designed objects don&rsquo;t rely on manuals. The design itself guides you toward the intended action.</p><p>When affordance is clear, usage feels natural. When it isn&rsquo;t, we compensate with signs, instructions, warnings and rules.</p><p>And that&rsquo;s where things get interesting.</p><h2 id="when-design-needs-a-manual">When Design Needs a Manual</h2><p>The moment you need to explain how something should be used, the design has already failed.</p><p>We often accept this in physical spaces and in software too. We&rsquo;ve learned to live with bad doors, confusing elevators and interfaces full of hints and labels.</p><p>But we do something similar with people.</p><p>In Dutch, there&rsquo;s a saying that maybe doesn&rsquo;t translate perfectly, but the meaning is clear: <em>&ldquo;That person comes with a manual.&rdquo;</em> We use it when someone is hard to understand. Hard to work with. You need instructions.</p><p>Think about that for a moment. We talk about humans as if they were poorly designed objects that need instructions to function properly.</p><h2 id="affordance-outside-of-design">Affordance Outside of Design</h2><p>This is where the principle starts to matter beyond design.</p><p>Affordance isn&rsquo;t just about usability. It&rsquo;s about recognition and understanding. About purpose. It&rsquo;s about whether others can see what you&rsquo;re capable of without needing a long explanation.</p><p>In work, careers and organizations, we often rely on uniformity to create clarity. Standard resumes, roles and career ladders.</p><p>Uniformity creates predictability. But it doesn&rsquo;t create affordance.</p><p>When everyone looks the same on paper, it becomes harder to see what makes someone valuable. The potential of people is unleveraged.</p><h2 id="standing-out-on-purpose">Standing Out on Purpose</h2><p>Good design sometimes requires contrast. Something has to stand out for affordance to work.</p><p>The same applies to people.</p><p>If you blend in too well, your affordance disappears. Others can&rsquo;t see what you&rsquo;re uniquely good at. Not because you lack value, but because the design doesn&rsquo;t surface it.</p><p>Standing out isn&rsquo;t about being loud. It&rsquo;s about being intentional. I often describe this as <em>standing out on purpose</em>.</p><p>Not for attention. But for clarity.</p><p>When I work with people on career design, the core challenge is rarely skill. It&rsquo;s visibility. Their purpose isn&rsquo;t expressed in a way others can recognize.</p><p>So we redesign how their value is presented. Not by changing who they are, but by emphasizing purpose. Increase the affordance.</p><h2 id="affordance-is-contextual">Affordance Is Contextual</h2><p>Affordance always depends on context.</p><p>A door handle that works in one environment might confuse you in another. The same is true for people.</p><p>&ldquo;Just be yourself&rdquo; sounds good, but it ignores the environment you&rsquo;re operating in. Affordance isn&rsquo;t about self-expression in isolation. It&rsquo;s about how your purpose is perceived within context.</p><p>Good design finds that symbiosis. Clear, functional and purposeful.</p><h2 id="takeaways">Takeaways</h2><p>Affordance teaches us something simple but powerful: If people constantly need instructions to understand you, it&rsquo;s worth asking whether your affordance is clear.</p><p>Not to conform yourself. But to present your value.</p><p>Good design reduces the need for explanation. In objects. In interfaces. And in life.</p><p><strong>Stand out on purpose.</strong></p><hr /><p><strong>Read next:</strong> <a href="https://www.telerik.com/blogs/design-principles-unpacked-no-4-balance" target="_blank">Design Principles Unpacked, No. 4: Balance</a></p><img src="https://feeds.telerik.com/link/23073/17324261.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:8adaf186-7275-4dfe-8fbd-0e63950051ac</id>
    <title type="text">Build Accessible Components with Angular Aria</title>
    <summary type="text">A simple way to add accessibility to your Angular app is with Angular Aria, which gives you production-ready, WCAG-compliant directives. Take a look.</summary>
    <published>2026-04-01T19:25:26Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Dany Paredes </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17311878/build-accessible-components-angular-aria"/>
    <content type="text"><![CDATA[<p><span class="featured">A simple way to add accessibility to your Angular app is with Angular Aria, which gives you production-ready, WCAG-compliant directives.</span></p><p>Building accessible components is one of those things we know we <em>should</em> do, but often skip because it feels overwhelming. We need to <a target="_blank" href="https://www.telerik.com/blogs/improving-navigation-accessibility-4-quick-tips">read about accessibility tips and tricks</a> and a lot of documentation.</p><p>You start with a simple dropdown menu, knowing you need to handle keyboard navigation, ARIA attributes, focus management and screen reader support. Before you know it, your &ldquo;simple&rdquo; component has 200 lines of accessibility code you&rsquo;re not even sure is correct. (Unless you&rsquo;re using the Progress Kendo UI for <a target="_blank" href="https://www.telerik.com/kendo-angular-ui">Angular library</a>, which has accessibility baked in for you. )</p><p>What if I told you there&rsquo;s a way to get the accessibility magic you need, regardless of component library, with full control over your styling with the magic of <a target="_blank" href="https://angular.dev/guide/aria/overview">Angular Aria</a>?</p><p>But what is Angular Aria? Let&rsquo;s make a small intro.</p><h2 id="what-is-angular-aria">What Is Angular Aria?</h2><p>Think of Angular Aria as a collection of accessibility superpowers for your components, but instead of manually implementing keyboard navigation, ARIA attributes and focus management, you import a directive, add it to your HTML and, boom, your component is accessible.</p><p>The Angular team built these directives following the <a target="_blank" href="https://www.w3.org/WAI/ARIA/apg/">W3C Accessibility Guidelines</a>, so you don&rsquo;t have to become an accessibility expert to build compliant components.</p><h2 id="hold-on-what-about-angular-material">Hold On, What About Angular Material?</h2><p>Great question! If you&rsquo;ve been using Angular for a while, you&rsquo;re probably thinking: <em>&ldquo;We already have <a target="_blank" href="https://material.angular.io/">Angular Material</a>. Why do we need another library?&rdquo;</em></p><p>Here are the key differences:</p><p>Angular Material gives you complete, prestyled components. They look great out of the box, but they come with Material Design opinions baked in. If you want a button that doesn&rsquo;t look like a Material button, you&rsquo;re going to fight the framework.</p><p>Angular Aria gives you headless directives&mdash;just the accessibility logic, zero styling. You get all the keyboard navigation, ARIA attributes and screen reader support, but you control every pixel of how it looks.</p><p>Think of it this way:</p><ul><li>Angular Material: It is plug and play, looks good, works immediately, but everyone has the same result. If you were building a physical doorway to your business, it would look like all other businesses, just with your business name on the sign.</li><li>Angular Aria: This tool is more like the ramp to your front door, enabling anyone to access the business entrance, while allowing you to choose the awning, the window display and the door color.</li></ul><p>So when should you use each one? We&rsquo;ll dive deeper into that later in the article, but here&rsquo;s the quick answer:</p><ul><li>Use <strong>Angular Material</strong> when you need to ship fast and Material Design works for you.</li><li>Use <strong>Angular Aria</strong> when you have custom design requirements and need full control.</li></ul><p>Remember, accessibility isn&rsquo;t optional anymore. It&rsquo;s a <a target="_blank" href="https://www.telerik.com/blogs/what-does-european-accessibility-act-mean-developers">legal requirement</a> in many countries, and, more importantly, it&rsquo;s the right thing to do.</p><p>But implementing accessibility correctly is <strong>hard</strong>. You need to know:</p><ul><li>Which ARIA attributes to use (and when)</li><li>How keyboard navigation should work for each pattern</li><li>How to manage focus properly</li><li>How screen readers interpret your markup</li></ul><p>Angular Aria handles this complexity for you. You focus on the HTML structure, CSS styling and business logic, and Angular Aria takes care of accessibility.</p><p>But, as always, the best way to learn is by building something. Let&rsquo;s do it!</p><h2 id="set-up-the-project">Set Up the Project</h2><p>First, create a new Angular application. In your terminal, run the following command (be sure to have Node.js installed).</p><pre class=" language-bash"><code class="prism  language-bash">npx @angular/cli@latest new angular-aria-demo
</code></pre><p>When CLI prompts stylesheet format, pick CSS.</p><pre class=" language-bash"><code class="prism  language-bash">  - **Which stylesheet <span class="token function">format</span> would you like to use?** &rarr; CSS
</code></pre><p>Now, navigate to your project and add Angular Aria:</p><pre class=" language-bash"><code class="prism  language-bash"><span class="token function">cd</span> angular-aria-demo
<span class="token function">npm</span> <span class="token function">install</span> @angular/aria
</code></pre><p>That&rsquo;s it. We now have a fresh Angular project with Angular Aria installed. Let&rsquo;s build something accessible!</p><h2 id="building-an-accessible-toolbar">Building an Accessible Toolbar</h2><p>Let&rsquo;s build a text formatting toolbar, the kind you see in rich text editors. This is a perfect example because it looks simple but has surprising accessibility complexity.</p><p>Using the CLI, generate a new component editor-toolbar:</p><pre class=" language-bash"><code class="prism  language-bash">ng generate c components/editor-toolbar
</code></pre><p>Perfect! Open the component with your editor, and import <code>Toolbar</code>, <code>ToolbarWidget</code> and <code>ToolbarWidgetGroup</code> directives provided by <code>@angular/aria/toolbar</code>.</p><pre class=" language-typescript"><code class="prism  language-typescript">  <span class="token keyword">import</span> <span class="token punctuation">{</span> Component <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'@angular/core'</span><span class="token punctuation">;</span>
  <span class="token keyword">import</span> <span class="token punctuation">{</span> Toolbar<span class="token punctuation">,</span> ToolbarWidget<span class="token punctuation">,</span> ToolbarWidgetGroup <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'@angular/aria/toolbar'</span><span class="token punctuation">;</span>
  
  @<span class="token function">Component</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
    selector<span class="token punctuation">:</span> <span class="token string">'app-editor-toolbar'</span><span class="token punctuation">,</span>
    templateUrl<span class="token punctuation">:</span> <span class="token string">'./editor-toolbar.component.html'</span><span class="token punctuation">,</span>
    styleUrl<span class="token punctuation">:</span> <span class="token string">'./editor-toolbar.component.css'</span><span class="token punctuation">,</span>
    imports<span class="token punctuation">:</span> <span class="token punctuation">[</span>Toolbar<span class="token punctuation">,</span> ToolbarWidget<span class="token punctuation">,</span> ToolbarWidgetGroup<span class="token punctuation">]</span><span class="token punctuation">,</span>
  <span class="token punctuation">}</span><span class="token punctuation">)</span>
  <span class="token keyword">export</span> <span class="token keyword">class</span> <span class="token class-name">EditorToolbarComponent</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
</code></pre><p>Now it&rsquo;s time to build the HTML structure. We create a div container with the directive <code>[ngToolbar]</code>, which works as the main container. We also need <code>ToolbarWidget</code> to use with individual buttons and <code>ToolbarWidgetGroup</code> for groups of related buttons.</p><p>In the following HTML, we use every directive with divs and button elements. Copy it and paste into the <code>editor-toolbar.html</code>.</p><pre class=" language-html"><code class="prism  language-html">  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">ngToolbar</span> <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Text Formatting Tools<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>group<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>undo<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>undo<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Undo
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>redo<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>redo<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Redo
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>

 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>separator<span class="token punctuation">"</span></span> <span class="token attr-name">role</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>separator<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>

 <span class="token comment">&lt;!-- Text formatting group --&gt;</span>
 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>group<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>bold<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>bold<span class="token punctuation">"</span></span>
           <span class="token attr-name">#bold</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ngToolbarWidget<span class="token punctuation">"</span></span>
           <span class="token attr-name">[aria-pressed]</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>bold.selected()<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Bold
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>italic<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>italic<span class="token punctuation">"</span></span>
           <span class="token attr-name">#italic</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ngToolbarWidget<span class="token punctuation">"</span></span>
           <span class="token attr-name">[aria-pressed]</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>italic.selected()<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Italic
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>

 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>separator<span class="token punctuation">"</span></span> <span class="token attr-name">role</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>separator<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>

 <span class="token comment">&lt;!-- Alignment group (radio buttons) --&gt;</span>
 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">ngToolbarWidgetGroup</span>
      <span class="token attr-name">role</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>radiogroup<span class="token punctuation">"</span></span>
      <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>group<span class="token punctuation">"</span></span>
      <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Text alignment options<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">role</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>radio<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>align left<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>align left<span class="token punctuation">"</span></span>
           <span class="token attr-name">#leftAlign</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ngToolbarWidget<span class="token punctuation">"</span></span>
           <span class="token attr-name">[aria-checked]</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>leftAlign.selected()<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Left
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">role</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>radio<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>align center<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>align center<span class="token punctuation">"</span></span>
           <span class="token attr-name">#centerAlign</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ngToolbarWidget<span class="token punctuation">"</span></span>
           <span class="token attr-name">[aria-checked]</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>centerAlign.selected()<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Center
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>button</span> <span class="token attr-name">ngToolbarWidget</span>
           <span class="token attr-name">role</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>radio<span class="token punctuation">"</span></span>
           <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>button<span class="token punctuation">"</span></span>
           <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>align right<span class="token punctuation">"</span></span>
           <span class="token attr-name">aria-label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>align right<span class="token punctuation">"</span></span>
           <span class="token attr-name">#rightAlign</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ngToolbarWidget<span class="token punctuation">"</span></span>
           <span class="token attr-name">[aria-checked]</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>rightAlign.selected()<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
     Right
   <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>button</span><span class="token punctuation">&gt;</span></span>
 <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span>
</code></pre><p>The final step is adding some CSS styles to make it look nice. Open the editor-toolbar.css and paste the following style:</p><pre class=" language-css"><code class="prism  language-css">  <span class="token selector"><span class="token attribute">[ngToolbar]</span> </span><span class="token punctuation">{</span>
 <span class="token property">display</span><span class="token punctuation">:</span> flex<span class="token punctuation">;</span>
 <span class="token property">gap</span><span class="token punctuation">:</span> <span class="token number">8</span>px<span class="token punctuation">;</span>
 <span class="token property">padding</span><span class="token punctuation">:</span> <span class="token number">8</span>px<span class="token punctuation">;</span>
 <span class="token property">background</span><span class="token punctuation">:</span> <span class="token hexcode">#f5f5f5</span><span class="token punctuation">;</span>
 <span class="token property">border-radius</span><span class="token punctuation">:</span> <span class="token number">4</span>px<span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token selector"><span class="token class">.group</span> </span><span class="token punctuation">{</span>
 <span class="token property">display</span><span class="token punctuation">:</span> flex<span class="token punctuation">;</span>
 <span class="token property">gap</span><span class="token punctuation">:</span> <span class="token number">4</span>px<span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token selector"><span class="token class">.separator</span> </span><span class="token punctuation">{</span>
 <span class="token property">width</span><span class="token punctuation">:</span> <span class="token number">1</span>px<span class="token punctuation">;</span>
 <span class="token property">background</span><span class="token punctuation">:</span> <span class="token hexcode">#ddd</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token selector">button </span><span class="token punctuation">{</span>
 <span class="token property">padding</span><span class="token punctuation">:</span> <span class="token number">8</span>px <span class="token number">12</span>px<span class="token punctuation">;</span>
 <span class="token property">border</span><span class="token punctuation">:</span> <span class="token number">1</span>px solid <span class="token hexcode">#ddd</span><span class="token punctuation">;</span>
 <span class="token property">background</span><span class="token punctuation">:</span> white<span class="token punctuation">;</span>
 <span class="token property">border-radius</span><span class="token punctuation">:</span> <span class="token number">4</span>px<span class="token punctuation">;</span>
 <span class="token property">cursor</span><span class="token punctuation">:</span> pointer<span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token selector">button<span class="token attribute">[aria-pressed="true"]</span>,
button<span class="token attribute">[aria-checked="true"]</span> </span><span class="token punctuation">{</span>
 <span class="token property">background</span><span class="token punctuation">:</span> <span class="token hexcode">#007acc</span><span class="token punctuation">;</span>
 <span class="token property">color</span><span class="token punctuation">:</span> white<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre><p>Perfect, we just added HTML, CSS and Angular Aria directives. To test it, open the app.html and add <code>&lt;app-editor-toolbar&gt;&lt;/app-editor-toolbar&gt;</code>, save changes and run your app.</p><pre class=" language-bash"><code class="prism  language-bash">ng serve
Initial chunk files <span class="token operator">|</span> Names         <span class="token operator">|</span> Raw size
main.js             <span class="token operator">|</span> main          <span class="token operator">|</span> 10.50 kB <span class="token operator">|</span> 
styles.css          <span class="token operator">|</span> styles        <span class="token operator">|</span> 95 bytes <span class="token operator">|</span> 

                    <span class="token operator">|</span> Initial total <span class="token operator">|</span> 10.59 kB

Application bundle generation complete. <span class="token punctuation">[</span>0.641 seconds<span class="token punctuation">]</span> - 2026-01-25T10:16:33.843Z

Watch mode enabled. Watching <span class="token keyword">for</span> <span class="token function">file</span> changes<span class="token punctuation">..</span>.
NOTE: Raw <span class="token function">file</span> sizes <span class="token keyword">do</span> not reflect development server per-request transformations.
  ➜  Local:   http://localhost:4200/
  ➜  press h + enter to show <span class="token function">help</span>
</code></pre><p><img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/2026/2026-03/keyboard-navigating-buttons.gif?sfvrsn=b37b8cd8_8" alt="User navigates buttons with keyboard arrow keys" /></p><p>Try to use your toolbar with your keyboard. You&rsquo;ll find it works, and we didn&rsquo;t have to write any code for keyboard navigation logic (like: Arrow keys, Home, End), focus management, ARIA role attributes, screen reader announcements or selection state management. All of that complexity? Gone.</p><p>The <code>ngToolbar</code>, <code>ngToolbarWidget</code> and <code>ngToolbarWidgetGroup</code> directives handle all of that automatically.</p><p>We now have a fully accessible toolbar that works with keyboard navigation and screen readers, and we only wrote the HTML structure and CSS.</p><p>Angular Aria provides directives for the most common interactive patterns, we can get components for search and selection (like Autocomplete, Listbox and Select), navigation and actions (Menu, Menubar and Toolbar like we just built), and content organization (Accordion, Tabs, Tree and Grid). Every directive comes with complete documentation, working examples and API references. You can see the <a target="_blank" href="https://angular.dev/guide/aria/overview#whats-included">full list of available components</a> in the official Angular Aria documentation.</p><h2 id="but-im-a-fan-of-angular-material">But I&rsquo;m a Fan of Angular Material</h2><p>Yes, I understand Angular Material has a long relationship with Angular devs. You can continue using Angular Material when you:</p><ol><li><strong>Need to ship fast</strong> &ndash; You&rsquo;re building an MVP or internal tool and don&rsquo;t want to spend time on custom styling.</li><li><strong>Like Material Design</strong> &ndash; You&rsquo;re OK with the Google Material Design aesthetic.</li><li><strong>Have limited design resources</strong> &ndash; Your team doesn&rsquo;t have dedicated designers.</li></ol><p>Remember, <a target="_blank" href="https://material.angular.io/">Angular Material</a> is amazing, but it comes with opinions about how things should look.</p><p>If you try to heavily customize Material components, you&rsquo;ll spend more time fighting the framework than building features. I&rsquo;ve been there&mdash;overriding Material styles with <code>::ng-deep</code> and <code>!important</code> until the CSS becomes unmaintainable.</p><p>And don&rsquo;t even get me started on theming. Creating a custom theme for Angular Material is&hellip; let&rsquo;s just say &ldquo;special.&rdquo; It&rsquo;s doable, but it&rsquo;s tricky and requires deep knowledge of Sass and Material&rsquo;s theming system. (If you&rsquo;re curious about the complexity, I wrote about it in <a target="_blank" href="https://www.telerik.com/blogs/theme-ui-frameworks-angular-part-2-custom-theme-angular-material">Theme UI Frameworks in Angular: Part 2 - Custom Theme for Angular Material</a>.)</p><p>Angular Aria solves this by giving you <strong>zero styles</strong>. You start with a blank canvas and build exactly what you need.</p><p>Remember for simple cases, native elements are already accessible when you use <code>&lt;button&gt;</code> for buttons, <code>&lt;input type="radio"&gt;</code> for radio buttons or <code>&lt;select&gt;</code> for simple dropdowns. But Angular Aria gives you a third option: <strong>headless accessible components</strong> that you can style however you want, we can meet accessibility requirements, maintain full design control and avoid reinventing the wheel.</p><h2 id="recap">Recap</h2><p>We learned that accessibility doesn&rsquo;t have to be overwhelming. Angular Aria gives you production-ready, WCAG-compliant directives that handle the complex parts.</p><p>We provide the HTML structure and CSS and Angular Aria provides the accessibility without pain!</p><h3 id="but-what-about-kendo-ui">But What About Kendo UI?</h3><p>Maybe you want to ship faster (really fast) and have complex scenarios with datalist, charts, schedulers and complex UI patterns. If you read this article and are thinking: <em>&ldquo;This is great, but I still have to write all the HTML and CSS myself. Why not just use a complete component library?&rdquo;</em> you&rsquo;re asking the right question.</p><p>Here&rsquo;s when Progress <strong>Kendo UI for Angular</strong> makes more sense than Angular Aria or Angular Material:</p><p><strong>Use Kendo UI when you want:</strong></p><ol><li><strong>Everything out of the box</strong> &ndash; Prebuilt components with professional styling, themes and accessibility already done</li><li><strong>Advanced features included</strong> &ndash; Things like data grids with sorting/filtering, charts, schedulers and complex UI patterns</li><li><strong>Consistent design system</strong> &ndash; A cohesive look across all components without writing custom CSS</li><li><strong>Enterprise-grade support</strong> &ndash; Professional support, regular updates and guaranteed compatibility</li><li><strong>Speed PLUS customization</strong> &ndash; You need to ship fast <em>and</em> need options to customize (you&rsquo;ll have five fully built theme options plus the ability to tweak those or create your own theme)</li></ol><p>There&rsquo;s no &ldquo;wrong&rdquo; choice&mdash;just different tools for different jobs.</p><p>If you&rsquo;re building internal tools or you like the Kendo UI design system, Kendo UI saves you weeks of work, and, honestly? I can build complex stuff (data grids, schedulers, charts) in minutes, making Kendo UI the right answer for me.</p><p>Plus, you can use the Kendo UI for <a target="_blank" href="https://www.telerik.com/kendo-angular-ui/components/ai-tools/ai-assistant/getting-started">Angular AI Coding Assistant</a>, an MCP server that automatically scaffolds components for AI agents. Instead of manually writing Kendo UI components, your AI assistant can do it for you. </p><blockquote><p>Want to learn more? Check out my article: <a target="_blank" href="https://www.telerik.com/blogs/angular-kendo-ui-mcp-making-agents-work">
 Angular and Kendo UI MCP: Making Agents Work for You</a></p></blockquote><ul><li><a target="_blank" href="https://github.com/danywalls/angular-aria-example">Source code</a></li><li><a target="_blank" href="https://angular.dev/guide/aria/overview">Angular Aria Documentation</a></li></ul><img src="https://feeds.telerik.com/link/23073/17311878.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:00e9e3f9-cf6a-48a8-a01a-b7931edc1005</id>
    <title type="text">What Really Matters for Dev Students</title>
    <summary type="text">Get some practical advice for beginners based on a senior developer’s 30 years of experience. These fundamentals can help root you in a career ready for change.</summary>
    <published>2026-03-18T15:48:48Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Jefferson S. Motta </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17301579/what-really-matters-dev-students"/>
    <content type="text"><![CDATA[<p><span class="featured">Get some practical advice for beginners based on a senior developer&rsquo;s 30 years of experience. These fundamentals can help root you in a career ready for change.</span></p><p>In this post, I share my perspective from 30 years of building systems, from MRP II in 1994 to AI-powered ecommerce solutions today. I&rsquo;ve learned lessons that are worth their weight in gold. I see too many students focusing on things that don&rsquo;t generate the expected impact, so I&rsquo;ll be direct about what really matters.</p><h2 id="fundamentals-are-your-superpower">Fundamentals Are Your Superpower</h2><p>Frameworks come and go. I&rsquo;ve seen so many emerge and disappear that I&rsquo;ve lost count. But do you know what remains relevant? Understanding data structures, algorithms and the fundamental principles of programming.</p><p>When I started my programming career, it was with Clipper. Then VB6, JavaScript and finally C#. Each transition became easier because the fundamentals were solid. Today, I see people jumping straight into React or Angular without truly understanding JavaScript. When the framework changes (and it will change), those people get lost.</p><p>Before diving into the next trendy framework, make sure you understand data structures, algorithmic complexity, design patterns and how your language actually works. This will save you when you need to decode that impossible bug at 2 a.m.</p><h2 id="portfolio-over-certificates">Portfolio over Certificates</h2><p>In 1997, I started building <a target="_blank" href="http://Advocati.NET">Advocati.NET</a>, a complete management system for law firms with integrated CRM that evolved from VB6/Access to C#/ASP.NET/SQL Server. That project opened more doors for me than any certificate ever could.</p><p><strong>Build real things.</strong> It doesn&rsquo;t need to be revolutionary. A well-made CRUD with tests, CI/CD and clean code already puts you ahead of 80% of candidates. Even better: Solve a real problem, even if it&rsquo;s small.</p><p>My advice: Take a problem that you or someone close to you has. Build an end-to-end solution. Real deployment, real database, real users (even if it&rsquo;s just five people). This is worth infinitely more than 10 tutorials following the letter.</p><h2 id="specialization-with-flexibility">Specialization with Flexibility</h2><p>I&rsquo;m a .NET/C# specialist, but throughout my career I&rsquo;ve also worked with JavaScript, TypeScript, Angular, React, and now I&rsquo;m deep into AI. This flexibility allowed me to survive multiple waves of technological change.</p><p>Don&rsquo;t lock yourself into a single stack. But don&rsquo;t be superficial in everything either. Find your main axis and, from there, expand gradually.</p><p>Master one core area (backend, frontend, mobile) but maintain active curiosity. Learn enough about other areas to communicate well with your colleagues. This will make you nearly irreplaceable.</p><h2 id="areas-with-real-longevity">Areas with Real Longevity</h2><p>If you want long-term stability, some areas are safer bets:</p><p><strong>Backend and Infrastructure:</strong> There will always be a need for people who understand what happens &ldquo;under the hood.&rdquo; I&rsquo;ve worked with Windows Server since 2003, Azure, DevOps, CI/CD. These skills never became obsolete; they just evolved and became more complex.</p><p><strong>Security:</strong> The more digital the world becomes, the more critical security is. I took a digital security course in 2019 and still use those concepts daily.</p><p><strong>Data and AI:</strong> I developed AI solutions back in 2000 (yes, AI isn&rsquo;t new), now supercharged with generative AI. Today, with LLMs and the current boom, those who truly understand data and can integrate AI practically have a market for decades.</p><p><strong>DevOps/SRE:</strong> The bridge between dev and operations has never been so valuable. Experience with Azure DevOps, GitHub Actions and CI/CD makes you essential.</p><h2 id="the-myth-of-the-10x-developer">The Myth of the 10x Developer</h2><p>Forget this story if you&rsquo;ve heard it, of the 10x developer. In my experience, I&rsquo;ve never met a &ldquo;lone genius&rdquo; who delivered 10x more. I&rsquo;ve met many consistent developers who, over time, generated a massive impact by writing code that others could maintain, sharing knowledge, elevating the entire team&rsquo;s level and avoiding unnecessary technical debt.</p><p>Consistency and collaboration beat genius every day of the week.</p><h2 id="ai-changes-everything-but-not-how-you-think">AI Changes Everything (But Not How You Think)</h2><p>I&rsquo;m currently developing an automated platform for creating SaaS platforms, already thinking about APIs being consumed by other AIs. AI won&rsquo;t replace developers, but it will replace developers who don&rsquo;t know how to use AI.</p><p>Use tools like GitHub Copilot, ChatGPT and Claude to accelerate your work. But understand what they&rsquo;re doing. Review the code. Test it. <strong>AI is a multiplier, a simple tool, not a substitute for understanding.</strong></p><h2 id="conclusion">Conclusion</h2><ul><li>Learn solid fundamentals. </li><li>Build real projects. </li><li>Choose a specialization but maintain flexibility. </li><li>Invest in areas with longevity. </li><li>Develop soft skills. </li><li>Be consistent, not &ldquo;10x.&rdquo; </li><li>And use AI as a tool, not a crutch.</li></ul><p>I&rsquo;ve been on this journey for 30 years, and I&rsquo;m still excited. If you choose this path for the right reasons, a love for solving problems, constant curiosity and the desire to build things, you&rsquo;ll have an incredible career. Obviously, good compensation matters, but it shouldn&rsquo;t be your main motivation.</p><p>And you? What fundamentals have saved you in your career so far?</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">How to Identify Technologies Worth Exploring</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com https://www.telerik.com/blogs/how-to-identify-technologies-worth-exploring">Read Jefferson&rsquo;s perspective</a> on one of the biggest challenges we face as technology professionals today: separating what really matters from the constant noise that bombards us every day.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17301579.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:5b2a3c79-efa5-4bc4-b24c-1cd5b9ea13e5</id>
    <title type="text">Accessibility (A11y) in .NET MAUI: What It Is and How to Implement It</title>
    <summary type="text">It’s time to add accessibility into the early stages of your .NET MAUI development cycle. The POUR principles can help.</summary>
    <published>2026-03-16T18:26:50Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Leomaris Reyes </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17300342/accessibility-net-maui-what-how-to-implement"/>
    <content type="text"><![CDATA[<p><span class="featured">It&rsquo;s time to add accessibility into the early stages of your .NET MAUI development cycle. The POUR principles can help.</span></p><p>Developing applications that can be used by everyone is a goal that any app should keep in mind. When I say &ldquo;for everyone,&rdquo; I mean that our applications should be able to communicate a clear and understandable purpose, so that people with or without disabilities can use them without issues. In other words, it&rsquo;s not just about &ldquo;making it work,&rdquo; nor about limiting it to a single way of use (such as only being understandable if you can read the buttons).</p><p>You&rsquo;ve probably heard the term <strong>A11y,</strong> and maybe you&rsquo;ve stopped to think&hellip; What does it mean?  A11y refers to the <strong>accessibility</strong> of our applications. While it&rsquo;s much more common to hear this term in the web space, mobile applications should also take it into account to offer a better product.</p><p>In this article, you&rsquo;ll learn more about accessibility, some guidelines you can follow to apply it correctly in <strong>.NET MAUI</strong>, the aspects you should start paying attention to and why <strong>A11y is not an extra</strong>, but a fundamental part of the quality of a well-built application.</p><h2 id="let’s-talk-more-about-a11y">Let&rsquo;s Talk More About A11y</h2><p><strong>A11y</strong> is an abbreviated form of the word <strong>accessibility</strong>, and its goal is to allow people with or without visual, auditory, motor or cognitive disabilities to use your apps. A11Y is a type of abbreviation very common in technology, and it is known as a <strong>numeronym.</strong></p><p><img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/2026/2026-03/01_accessibilitysample.png?sfvrsn=2429b72_2" alt="A c c e s s i b i l i t y : Diagram showing why ‘Accessibility’ is abbreviated as A11y, with 11 letters between A and Y." /></p><p>It works as follows:</p><ul><li><strong>A:</strong> is the first letter of the word.</li><li><strong>11:</strong> is the number of characters that come after the first letter and before the last one. In Accessibility, specifically in &ldquo;ccessibilit,&rdquo; there are 11 letters.</li><li><strong>Y:</strong> is the last letter of the word.</li></ul><p>That&rsquo;s why it is abbreviated as: <strong>A11y.</strong> This method makes it much more convenient to write long terms in a faster way and helps standardize lengthy terminology.</p><h2 id="how-can-we-apply-a11y-in-our-apps">How Can We Apply A11y in Our Apps?</h2><p>To implement this in our applications, there are accessibility guidelines such as <strong>WCAG,</strong> which instruct us on how to adapt the tools that mobile devices already provide so they can work together with our apps.</p><p>The <strong><a target="_blank" href="https://www.w3.org/TR/WCAG22/">Web Content Accessibility Guidelines (WCAG)</a></strong> are a set of international guidelines created by the <strong>World Wide Web Consortium (W3C).</strong> Although web is part of their name, I always recommend applying these practices to all types of applications, including mobile. Our users will thank us for it.</p><p>In fact, the official documentation states the following:</p><blockquote><p>&ldquo;These guidelines address accessibility of web content on any kind of device (including desktops, laptops, kiosks, and mobile devices).&rdquo;</p></blockquote><p>The WCAG are built on <strong>four fundamental principles,</strong> known as <strong>POUR.</strong> WCAG defines what an application must comply with to be accessible, while POUR helps us understand how to think about accessibility from a development perspective.</p><p>These four criteria that make up <strong>POUR</strong> are:</p><ul><li><strong>P</strong>erceivable</li><li><strong>O</strong>perable</li><li><strong>U</strong>nderstandable</li><li><strong>R</strong>obust</li></ul><p>Let&rsquo;s take a closer look at <strong>POUR</strong>&mdash;what each principle means and some examples of how we can translate them into our <strong>.NET MAUI</strong> applications:</p><h2 id="perceivable">Perceivable</h2><p>This principle indicates that all the information in the app (including text and UI components) must be <strong>perceivable by the user</strong>, regardless of how they interact with the device. In other words, our app should not be based solely on visual information.</p><p>This is especially important for users who:</p><ul><li>Use screen readers such as <strong>TalkBack</strong> or <strong>VoiceOver</strong></li><li>Have low vision or use larger text sizes</li></ul><p>In <strong>.NET MAUI</strong>, we have <strong>SemanticProperties</strong>, which help us a lot with this aspect.</p><p> Semantic properties are the Microsoft-recommended approach in .NET MAUI to provide accessibility values in applications. This allows us to add a description to our visual elements so that they can be read by the screen reader.</p><p>Additionally, I recommend exploring <strong><a target="_blank" href="https://www.telerik.com/blogs/exploring-semanticorderview-net-maui-community-toolkit">SemanticOrderView</a></strong>. While the individual reading of each visual element is important, being able to provide the user with a <strong>reading order</strong> so that this reading is coherent greatly enhances a good user experience. For this, we can use <strong>SemanticOrderView</strong> from the <strong>.NET MAUI Community Toolkit</strong>.</p><p>Let&rsquo;s explore some examples of implementing the Percievable principle in .NET MAUI:</p><h3 id="alternative-text-for-images-and-icons">Alternative Text for Images and Icons</h3><p>Images and icons are very common in mobile apps, but for a screen reader, an image without a description is <strong>100% invisible</strong>. That&rsquo;s why it&rsquo;s recommended to tell the screen reader that there is something there and <strong>what it should read</strong>.</p><p>In the following example, you can see the <strong>warning.png</strong> image used in the UI. When navigating the app with VoiceOver or TalkBack, this image will be announced as &ldquo;Warning icon.&rdquo; For this reason, I recommend being as specific as possible when defining its description.</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Image Source="warning.png"
 SemanticProperties.Description="Warning icon" /&gt;
</code></pre><h3 id="what-about-decorative-images">What About Decorative Images?</h3><p>Not all images provide information. In these cases, we can <strong>remove them from the accessibility tree</strong> so the screen reader ignores them (meaning it won&rsquo;t read them):</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Image Source="divider.png"
 AutomationProperties.IsInAccessibleTree="False" /&gt;
</code></pre><p>This helps keep the experience cleaner and prevents the screen reader from reading unnecessary elements.</p><h3 id="headings">Headings</h3><p>Screen readers don&rsquo;t just &ldquo;read in order&rdquo; and stop there; they also allow users to <strong>navigate by sections</strong>. For this reason, it&rsquo;s important to mark titles or main sections as <strong>semantic headings</strong>.</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Label Text="Payment Settings" 
 FontSize="24" 
 SemanticProperties.HeadingLevel="Level1" /&gt;
</code></pre><p>This way, the screen reader recognizes this element as a heading and makes navigation within the screen much easier.</p><h3 id="supporting-scalable-text">Supporting Scalable Text</h3><p>In addition to screen readers, there is also a significant number of users with low vision. You may have noticed that some people use very large text on their phones; that&rsquo;s probably why.</p><p>As developers, we can contribute to making our app more accessible by allowing it to adapt to the text size users feel most comfortable with.</p><p>For this, in .NET MAUI we have <strong>FontAutoScalingEnabled</strong>, a property that allows the text in our app to automatically scale according to the system preferences.</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Label Text="Payment Settings" 
 FontSize="24" 
 FontAutoScalingEnabled="True" /&gt;
</code></pre><p>With this, if the user increases the text size from the device settings, the Label will scale accordingly, improving readability and aligning with the <strong>Perceivable</strong> principle.</p><h2 id="operable">Operable</h2><p>The Operable principle states that users must be able to interact with the app without difficulty, regardless of the way they use the device.</p><p>In other words, not all users interact in the same way. Some use screen readers, others use a keyboard or assisted navigation. For this reason, the app should not rely solely on complex gestures or interactions that do not provide a clear alternative.</p><p>In mobile applications, this principle basically translates into:</p><ul><li>Easy-to-tap controls</li><li>Clear and predictable navigation</li><li>Avoiding interactions that require extreme precision</li></ul><p>In .NET MAUI, many of these best practices can be applied directly using the components we already work with. Let&rsquo;s see NET MAUI some Operable examples we can apply:</p><h3 id="appropriate-size-for-interactive-elements">Appropriate Size for Interactive Elements</h3><p>A very common problem is having <strong>icons or buttons that are too small</strong>, which limits interaction and can make the app difficult&mdash;or even impossible&mdash;to use for some users.</p><p>For this reason, it is recommended to respect minimum sizes for interactive elements:</p><ul><li><p><strong>iOS:</strong> minimum <strong>44 &times; 44 pt</strong><br />This recommendation comes from Apple&rsquo;s Human Interface Guidelines, where this minimum size is established for interactive elements such as buttons or tappable icons.</p></li><li><p><strong>Android</strong>: minimum <strong>48 &times; 48 dp</strong><br />On Android, this recommendation comes from the Android Accessibility Guidelines and Material Design.</p></li></ul><p>In .NET MAUI, we can apply this easily, for example:</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Button Text="Continue" 
 HeightRequest="48" 
 Padding="16,12" /&gt;
</code></pre><p>Or for icon ImageButton:</p><pre class=" language-xml"><code class="prism  language-xml">&lt;ImageButton Source="close.png" 
 WidthRequest="48" 
 HeightRequest="48" 
 Padding="12" 
 SemanticProperties.Description="Close" /&gt;
</code></pre><h2 id="understandable">Understandable</h2><p>This principle states that the information and interactions within our app must be <strong>easy to understand</strong>.</p><p>Why is this important?</p><ul><li>Not all users have the same technical level.</li><li>Some may have cognitive difficulties.</li><li>Others are simply using the app for the first time.</li></ul><p>In mobile applications, this principle mainly translates into:</p><ul><li>Clear and direct text</li><li>Consistent navigation</li><li>Predictable actions</li><li>Error messages that explain what happened and what to do next</li></ul><p>Some examples of Understandable in .NET MAUI:</p><h3 id="clear-language-in-text-and-labels">Clear Language in Text and Labels</h3><p>Avoid ambiguous or overly technical texts (I&rsquo;ve literally seen &ldquo;state error&rdquo; in apps &hellip; that should not happen), especially in buttons and important messages.</p><p>For example, for a save button, use text that clearly describes the action:</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Button Text="Save changes" /&gt;
</code></pre><p>Once the save action is executed, if an error occurs, <strong>don&rsquo;t leave the user guessing or hanging</strong>. Tell them exactly what happened.</p><p>❌ Saving changes failed</p><p>✅ The name field cannot contain special characters</p><p>The idea is for the user to understand what happened and what the next step is, without having to interpret technical messages.</p><h2 id="robust">Robust</h2><p>This principle states that the app must be <strong>robust enough</strong> to work correctly across different environments or devices. In other words, the app should continue to work when:</p><ul><li>It runs on different versions of the operating system</li><li>It is used with screen readers such as TalkBack or VoiceOver</li><li>It is used across different platforms</li><li>It adapts to different screen sizes (small, medium and large) without affecting usability or content clarity</li></ul><p>An example of the Robust principle in <strong>.NET MAUI</strong> is the use of <strong>OnPlatform</strong>.</p><h3 id="onplatform">OnPlatform</h3><p>Although .NET MAUI abstracts many platform differences&mdash;and personally, I try to use OnPlatform as little as possible to keep maintenance easier across Android and iOS, always looking for visual elements that give me the same result&mdash;in some cases, Android and iOS behave differently, and using it becomes necessary.</p><p>If you run into that situation, you can use OnPlatform to keep the behavior on both platforms exactly how you want it:</p><pre class=" language-xml"><code class="prism  language-xml">&lt;Button Text="Continue" 
 HeightRequest="{OnPlatform iOS=44, Android=48}" 
 Padding="{OnPlatform iOS='16,12', Android='16,14'}" /&gt;
</code></pre><p>This way, you respect each platform&rsquo;s recommendations while keeping an accessible and consistent experience, aligned with the <strong>Robust</strong> principle.</p><h2 id="conclusion">Conclusion</h2><p>And that&rsquo;s it!  In this article, we talked about <strong>A11y</strong> and why accessibility should be part of how we build mobile apps with <strong>.NET MAUI,</strong> not something added at the end. By understanding the <strong>POUR principles</strong> we saw how accessibility can be applied through small, intentional UI decisions.</p><p>From making content perceivable and interactions operable, to keeping things understandable and keeping our apps robust across platforms, each choice helps create a better experience for more users.</p><p>Remember: users may not know what A11Y is, but they definitely feel it when an app is accessible. </p><p>See you in the next article! &zwj;♀️✨</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">The Next Development Discipline Is ADD</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com/blogs/next-development-discipline-add">Accessibility-Driven Development turns WCAG into a discipline.</a> With the EU Accessibility Act as the deadline, ADD is the next discipline to drive quality.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17300342.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:94cb70e4-14fa-4635-bca2-62629be17385</id>
    <title type="text">How to Identify Technologies Worth Exploring</title>
    <summary type="text">One senior developer shares his perspective on one of the biggest challenges facing technology professionals today: how to know what tech trends really matter.</summary>
    <published>2026-02-26T22:01:03Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Jefferson S. Motta </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17284609/how-to-identify-technologies-worth-exploring"/>
    <content type="text"><![CDATA[<p><span class="featured">In this post, I share my perspective on one of the biggest challenges we face as technology professionals today: separating what really matters from the constant noise that bombards us every day.</span></p><p>You&rsquo;ve probably felt that anxiety of seeing new technologies blowing up on X/Twitter or LinkedIn and thinking, &ldquo;Do I need to learn this now? Will I fall behind if I don&rsquo;t?&rdquo; This feeling of tech FOMO (Fear of Missing Out) is real and can be paralyzing.</p><p>I&rsquo;ve seen countless technologies born with revolutionary promises and die within a few months. Professionals invest hundreds of hours in frameworks that never gain market adoption. And people ignore genuine trends due to excessive cynicism, falling behind.</p><p>The truth is there&rsquo;s no magic formula. But there are signs, patterns and strategies that can help us make more consistent decisions.</p><h2 id="signs-of-real-traction-vs.-hype">Signs of Real Traction vs. Hype</h2><p>Let&rsquo;s start with the most important thing: how do you differentiate between superficial social media buzz and genuine market adoption of technology?</p><h2 id="the-social-media-theater">The Social Media Theater</h2><p>X/Twitter and LinkedIn have become stages for tech performance. Influencers gain followers by talking about the &ldquo;<strong>next big thing</strong>.&rdquo; Marketing companies pay for sponsored posts disguised as genuine opinions. Developers seek visibility by betting on technologies that seem innovative.</p><p>Note that these platforms have value. Often, that&rsquo;s where we first hear about technologies that become important. The problem is that&rsquo;s also where we hear about hundreds of others that never go beyond buzz.</p><p>Think about how many times you&rsquo;ve seen enthusiastic posts about some technology that promised to &ldquo;<strong>change everything</strong>&rdquo; and, six months later, nobody was talking about it anymore.</p><p>We have a somewhat recent case with the metaverse: major initiatives, companies selling spaces, billions in investments, and when generative AI arrived, all that metaverse hype went down the drain. Nowadays, nobody even talks about it anymore. That&rsquo;s the nature of social media; the attention cycle is short, and the next hype is always just one post away.</p><p>That&rsquo;s why I developed the habit of not reacting immediately to what I see on social media. I used to panic when I noticed I was missing the train of modernity. Today, I&rsquo;m more cautious; I take notes, observe, but don&rsquo;t invest significant time until I see more concrete signs.</p><p>I remember the days of Visual Basic and the early days of C#, where I noticed an interesting pattern in Microsoft products. It was usually from version 6.0 that a tool reached maturity or disappeared.</p><p>Visual Basic 6.0, for example, was the peak and the end of the line for that VB model. C# followed a similar path; version 6.0 brought the stability the language needed. Then came a transition period with .NET Framework (up to version 7.3), followed by a &ldquo;<strong>rebirth</strong>&rdquo; in .NET Core starting with C# 8.0, and today we&rsquo;re at C# 14 running on .NET 10.</p><h2 id="indicators-of-genuine-adoption">Indicators of Genuine Adoption</h2><p>I use two indicators about technology usage by observing the market:</p><h3 id="company-hiring">Company Hiring</h3><p>Companies don&rsquo;t hire for technologies they don&rsquo;t intend to use. When you start seeing job postings on platforms like LinkedIn, Indeed or Glassdoor asking for experience in a particular technology, it means there&rsquo;s real demand.</p><p>But be careful. It&rsquo;s not enough to see a few postings. What matters is observing the trend. Is technology appearing in more job postings over time? Is it being requested by companies from different sectors and sizes? Is it appearing in senior positions or just in startup experiments?</p><h3 id="the-2-year-filter">The 2-Year Filter</h3><p>This is probably the most straightforward and most powerful strategy: wait at least two years before diving deep into any new technology.</p><h4 id="why-2-years">Why 2 Years?</h4><p>It&rsquo;s not a magic number, but there&rsquo;s logic behind it. The first year of any new technology is the honeymoon period. There will be enthusiasm, hype and excited early adopters. The real problems haven&rsquo;t appeared yet because nobody has had enough time to find them.</p><p>In the second year, reality starts to show. The first production projects reveal limitations. Companies that adopted early begin sharing their experiences, including the pain points. Competitors have time to react and offer alternatives.</p><p>If technology is still growing and being adopted after two years, it has passed trial by fire. It survived the initial hype cycle, proved to have real value and developed a sustainable community. It&rsquo;s a much safer bet.</p><h4 id="exceptions-to-the-rule">Exceptions to the Rule</h4><p>Of course, no rule is absolute. There are situations where it makes sense to adopt technology earlier:</p><ul><li><p>When you work in a cutting-edge field and being at the forefront is part of your competitive advantage, it may make sense to take more risks. AI startups, for example, frequently need to adopt emerging technologies before they mature.</p></li><li><p>When technology solves a critical problem you have right now, and there are no mature alternatives, sometimes there&rsquo;s no choice but to accept the risk.</p></li><li><p>When you have resources to invest in learning, even if technology goes nowhere, like personal projects or hackathons, the cost of being wrong is low.</p></li></ul><p>But for most professional decisions, especially those involving production projects or long-term career development, the two-year filter remains an excellent option.</p><h2 id="how-to-follow-without-diving-in">How to Follow Without Diving In</h2><p>Waiting two years doesn&rsquo;t mean completely ignoring technology during that period. It means following from a distance, being aware of what&rsquo;s happening, without investing significant time in deep learning.</p><p>In practice, this can mean reading introductory articles to understand the basic concepts, following the leading developers and the official account on X/Twitter, watching one or two introductory talks, adding some repositories to your favorites to keep track of, and participating in superficial discussions when the topic comes up.</p><p>This lighter following approach lets me stay informed as technology matures without wasting hundreds of hours if it doesn&rsquo;t take off.</p><h2 id="the-complexity-bias-trap">The Complexity Bias Trap</h2><p>There&rsquo;s a trap around our necks. Sometimes, we choose complex technologies because they seem more sophisticated or because they challenge us intellectually. But unnecessary complexity is a cost, not a benefit.</p><p>The right question isn&rsquo;t &ldquo;Is this technology impressive?&rdquo; but &ldquo;Is this technology appropriate for my problem?&rdquo; Often, the simplest solution is the best.</p><p>Kubernetes is incredible, but do you need it for your application? Microservices are elegant, but does your project justify the complexity? The most advanced technology isn&rsquo;t always the most suitable.</p><h2 id="conclusion">Conclusion</h2><p>The best strategy for identifying technologies worth pursuing is to combine cautious observation, analysis of concrete adoption signals and patience to let time filter what&rsquo;s truly relevant.</p><p>What we can always rely on is maintaining a growth mindset and learning from new technologies; even if they disappear, we&rsquo;ll still carry a bit of their way of thinking into the next phase of life&rsquo;s game.</p><p>And you? How many times have you seen technologies emerge, disappear or continue to this day?</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">What Every Developer Should Learn as Soon as Possible in Their Personal Life</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com/blogs/what-every-developer-should-learn-asap-personal-life">One developer shares life lessons</a> gained throughout his career and shares the questions that can help you move ahead.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17284609.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:127ad977-47fc-47fa-9a8a-05971103b76f</id>
    <title type="text">When the Career Ladder Kills Your Passion</title>
    <summary type="text">Climbing the ladder can look like progress, yet quietly drain the spark that brought you into design. Here's how empathy helps you turn passion into purpose.</summary>
    <published>2026-02-19T20:30:45Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Teon Beijl </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17279638/when-career-ladder-kills-your-passion"/>
    <content type="text"><![CDATA[<p><span class="featured">Climbing the ladder can look like progress, yet quietly drain the spark that brought you into design. Here's how empathy helps you turn passion into purpose.</span></p><p>I read a post on Reddit the other day from an enterprise UX designer. They&rsquo;d just landed a new gig with more money and a lead title that felt like a promotion. On paper, it sounded like progress. But the reality hit fast. Just patch-and-fix work. Migrating Excel sheets into out-of-the-box tools and calling it innovation.</p><p>What they wrote stayed with me:</p><blockquote><p>&ldquo;My design soul feels like it&rsquo;s dying. No passion, no creative spark. I feel like I&rsquo;m drifting further and further from what drew me into UI/UX in the first place.&rdquo;</p></blockquote><p>That feeling is more common than people admit, and it often hits right after you climb the ladder.</p><h2 id="the-climb-that-feels-like-progress">The Climb That Feels Like Progress</h2><p>Most designers climb the career ladder for understandable reasons. You get promoted into a lead position or move from startups into enterprise UX. You gain a bigger title, more stability, better pay and benefits.</p><p>With that comes the promise of impact and influence.</p><p>The early days seem fine. You&rsquo;re suddenly exposed to large programs and complex systems. You deal with new domains and teams spread across regions.&nbsp;You sit in strategy meetings. You meet senior leaders. The climb gives you a sense of elevation. It feels like the right choice. It feels like progress.</p><p>You tell yourself you&rsquo;re finally doing meaningful work. You&rsquo;ve earned a seat at the table.</p><p>But there&rsquo;s a quiet trade-off most people don&rsquo;t notice. Only when you&rsquo;re far enough up that you start feeling down.</p><h2 id="the-valley-of-despair">The Valley of Despair</h2><p>At first it&rsquo;s the small things: more meetings, more alignment sessions and more approvals.</p><p>Your solution is defined by licensing agreements rather than user needs. Requests that are really just vendor configurations. Your influence shrinks even as your title grows. You feel the ceiling closing in.</p><p>The spark that pulled you into design&mdash;the curiosity, creativity and craft&mdash;starts to fade.</p><p>You still care. You still want to do great work. But the environment around you wants the result, not the process.</p><p>And then the questions arrive:</p><ul><li><em>Is this really how design works?</em></li><li><em>Is this what I want to do?</em></li><li><em>Where&rsquo;s my passion?</em></li></ul><p>It&rsquo;s not a sign that something is wrong with you. It&rsquo;s a sign that something&rsquo;s happening to you.</p><p>And it has everything to do with scale.</p><h2 id="the-mechanics-of-scale">The Mechanics of Scale</h2><p>Enterprises operate very differently from individuals driven by craft.</p><p>At scale, companies optimize for predictability, repeatability and risk reduction.</p><ul><li><strong>Unity over uniqueness.</strong></li><li><strong>Stability over innovation.</strong></li><li><strong>Delivery over craft.</strong></li></ul><p>Not because leaders hate your creativity. Not because designers aren&rsquo;t valued or design isn&rsquo;t wanted.</p><p>But because reducing variance makes it easier for thousands of people to move in the same way. Your passion&mdash;your desire to shape and craft&mdash;doesn&rsquo;t fit easily into that machine.</p><p>The mechanics of scale lack the sensitivity for meaning. It feels like you&rsquo;ve lost your passion or miscalculated your career. It&rsquo;s easy to see this as a personal failure.</p><p>But the truth is you didn&rsquo;t change. The environment did. And the way out begins with seeing it differently.</p><h2 id="back-to-your-roots-empathy">Back to Your Roots: Empathy</h2><p>When designers feel lost, we often forget the tool that built our discipline: empathy.</p><p>Empathy is what lets you step out of your own head and see the world through someone else&rsquo;s eyes. It&rsquo;s how you reinterpret your reality, how you can recalibrate your perspective.</p><h3 id="empathy-for-the-user">Empathy for the User</h3><p>Start with someone else&rsquo;s frustrations&mdash;your users&rsquo;.</p><p>Their frustrations and needs give you back a sense of clarity about why your work matters. Their perspective lets you see who you&rsquo;re really doing this for.</p><p>That Excel sheet, migrated into a cloud-based dashboard, might not change your life. But it can change theirs.</p><p>Users remind you that you still make an impact, even when it feels like you can&rsquo;t fully practice your craft.</p><h3 id="empathy-for-the-business">Empathy for the Business</h3><p>Turning your empathy toward the business is less comfortable.</p><p>Understanding the business means acknowledging its constraints, priorities and pressures. It helps you see why innovation is slow, what the stakes are and what your boss is dealing with.</p><p>Empathy for the business doesn&rsquo;t mean you capitulate. It lets you understand.</p><p>Understanding how the business works doesn&rsquo;t fix everything, but it does reduce resentment. And resentment&rsquo;s what holds you back.</p><p>When you see the system clearly, you stop interpreting constraints as personal attacks. You stop assuming incompetence. You recognize the environment around you.</p><p>And once you grasp that environment, you can design within it.</p><h3 id="empathy-for-yourself">Empathy for Yourself</h3><p>This is the hardest one.</p><p>Your own perspective is the one you can&rsquo;t step away from. Your emotions are the ones you can&rsquo;t ignore.</p><ul><li><em>Why does this feel frustrating?</em></li><li><em></em><em style="background-color:transparent;color:inherit;font-family:inherit;font-size:inherit;text-align:inherit;text-transform:inherit;word-spacing:normal;caret-color:auto;white-space:inherit;">What exactly is painful here?</em></li><li><em style="background-color:transparent;color:inherit;font-family:inherit;font-size:inherit;text-align:inherit;text-transform:inherit;word-spacing:normal;caret-color:auto;white-space:inherit;"></em><em style="background-color:transparent;color:inherit;font-family:inherit;font-size:inherit;text-align:inherit;text-transform:inherit;word-spacing:normal;caret-color:auto;white-space:inherit;">Where am I feeling loss?</em></li></ul><p>Self-empathy is more constructive than self-criticism. It makes you aware of your inner state.</p><p>And once you can see why you&rsquo;re truly frustrated, you discover something greater than passion: <strong>purpose.</strong></p><h2 id="from-passion-to-purpose">From Passion to Purpose</h2><p>When you feel stuck, it&rsquo;s tempting to think that &ldquo;finding your passion&rdquo; will fix everything. But passion alone won&rsquo;t get you out.</p><p>The word <em>pathos</em>, the root in words like &ldquo;empathy,&rdquo; is about feeling and suffering&mdash;about what happens to you. It&rsquo;s emotion.</p><p>And emotion comes from <em>emovere</em>: <em>ex</em> (out) + <em>movere</em> (move).</p><p>Emotion moves outward. It reacts. It signals. But emotion alone doesn&rsquo;t move you forward. Purpose does.</p><p>Purpose comes from <em>proponere</em>&mdash;to put something forward. To place something ahead of you. To guide your next step.</p><p>Passion is what you feel in the moment.&nbsp;Purpose is what you do with that feeling.</p><p>And this is where empathy becomes a bridge. Empathy helps you look at the same reality and read it differently. It lets you recalibrate your perspective instead of staying locked in frustration. It shifts you from <em>&ldquo;how I feel&rdquo;</em> to <em>&ldquo;how I move.&rdquo;</em></p><p>Once you understand the people you impact, the business you operate in and the reason you feel stuck, you have the first pieces of the puzzle that uncover your purpose.</p><p>Purpose isn&rsquo;t a statement. It&rsquo;s what moves you forward.</p><p>And once you see it, you can redesign your job, your role and your path. Even within constraints, you can bring that purpose forward.</p><h2 id="forward-not-up">Forward, Not Up</h2><p>Early in my career, I saw the path the same way everyone else did: a ladder.</p><p>Later, when I was leading others on their path, I learned to nuance the direction. Not everybody thrives on an upward trajectory. Some are better off moving sideways.&nbsp;So I tailored progress and growth to the individual&mdash;vertical and lateral progressions.</p><p>But here&rsquo;s the truth I learned far too late: Up, down, left or right don&rsquo;t automatically mean forward.</p><p>I redesigned my career multiple times. Carved out new roles inside the same company. For years, it worked. Until it didn&rsquo;t.&nbsp;My reality was defined by the mechanics of scale. I found myself stuck in the valley of despair.</p><p>So I left. No new job lined up. No master plan. Just space.</p><p>And in that space, I finally had enough room to look inward. To understand what I needed to do. To renew my perspective.</p><p>I rediscovered where I could move on purpose. I&rsquo;m still defining that purpose. It&rsquo;s still taking shape.</p><h2 id="closure">Closure</h2><p>My career&rsquo;s no longer about moving up. It&rsquo;s about moving forward.</p><p>Not how I feel about what I do, but how I move with what I have to do.</p><p>That&rsquo;s what progress is about: not just finding passion, but moving on purpose.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">Dealing with Impostor Syndrome as a Web Designer or Dev</h4></div><div class="col-8"><p class="u-fs16 u-mb0">Ever get the feeling that you&rsquo;re not good enough to be a designer or developer? This is something called <a target="_blank" href="https://www.telerik.com/blogs/dealing-impostor-syndrome-web-designer-dev">impostor syndrome</a> and it happens to most creative professionals at some point (and, sometimes, many points) over their career. In this post, we&rsquo;ll talk about some ways to beat it.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17279638.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:b883169c-c58a-43f6-b3ac-abfcb7a07243</id>
    <title type="text">What Every Developer Should Learn as Soon as Possible in Their Personal Life</title>
    <summary type="text">One developer shares life lessons gained throughout his career and shares the questions that can help you move ahead.</summary>
    <published>2025-12-11T18:12:45Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Jefferson S. Motta </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17230783/what-every-developer-should-learn-asap-personal-life"/>
    <content type="text"><![CDATA[<p><span class="featured">One developer shares life lessons gained throughout his career and shares the questions that can help you move ahead.</span></p><p>At 17, I picked up my first book on Neuro-Linguistic Programming (NLP). Not because a mentor recommended it or out of philosophical curiosity, but because I wanted to understand how I worked and what I could become. I found the world meaningless and thought my problems were too big for me to handle. The book introduced me to an idea that seemed too obvious to be true: If you have a problem, you can solve it. Life doesn&rsquo;t hand you burdens you can&rsquo;t carry.</p><p>It took me years to understand what that really meant. And even more years to realize that this lesson wasn&rsquo;t just about fixing code bugs.</p><p>What I&rsquo;m sharing here comes from my personal experience, mistakes included. It might not apply to you, but if even one of these reflections makes you pause and think, it&rsquo;s worth it.</p><h2 id="know-thyself-before-life-forces-you-to">Know Thyself (Before Life Forces You To)</h2><p>&ldquo;Know thyself&rdquo;: Socrates said this millennia ago, but nobody teaches you how to do it in school. And for developers, this self-knowledge isn&rsquo;t a philosophical luxury. It&rsquo;s a survival tool.</p><p>Today, I know what sets me off in a code review. I know how I react when someone questions my architecture. I understand why I prefer working on complex features alone before presenting them to the team. But it took me a long time to get here.</p><p>The problem is that we&rsquo;re several different <em>selves</em>: The developer who defends their technical choices tooth and nail, the team member who needs to compromise in discussions, the professional who accepts projects they don&rsquo;t like to pay the bills, the friend, the son, the father. Each of these selves has its own behavior patterns. And you only discover these patterns by going through experiences, preferably by seeking them out instead of just waiting for them to come.</p><p>Early in my career, conflict situations left me stunned: How can people not see the clarity of my idea, the way I see it? Defending a different technical idea seemed like arrogance. But over time, I learned something counterintuitive: I started to enjoy conflicts. Because it&rsquo;s in friction that you discover what your ideas are really made of. It&rsquo;s when people lose their cool that they show who they are, and so do you.</p><p>But this only makes sense when you know yourself. When you know what your path is.</p><p>And this is work only you can do. There&rsquo;s no YouTube tutorial, no framework. It must come from within.</p><h2 id="some-questions-that-helped-me-and-might-help-you">Some Questions That Helped Me (And Might Help You)</h2><p>Is what I do/work aligned with what I feel?</p><p>Not in the romantic <strong>&ldquo;do what you love&rdquo;</strong> sense, but in the honest sense: Does this move me or anesthetize me?</p><p>Do my opportunities make me grow?</p><p>Or am I just repeating what I already know how to do because it&rsquo;s comfortable?</p><p>What do I have to learn where I am today?</p><p>If the answer is &ldquo;<strong>nothing</strong>,&rdquo; you should have already left.</p><p>An important aside: There&rsquo;s a dangerous belief that &ldquo;doing what you like&rdquo; is a privilege for billionaires. That you need to suffer first, make money later and only then can you afford the luxury of liking what you do. That&rsquo;s a lie.</p><p>The point here is that successful people did do many things they didn&rsquo;t like, yes. But that&rsquo;s not why they succeeded; it&rsquo;s despite it. And curiously, neuroscience shows that doing things you don&rsquo;t like (like washing dishes) strengthens your ability to deal with adversity. Children who have household responsibilities develop greater resilience and entrepreneurial tendencies.</p><p>The point isn&rsquo;t to avoid discomfort. It&rsquo;s knowing why you&rsquo;re doing what you don&rsquo;t like, whether it&rsquo;s a means to a clear end or just an escape from the decision to know yourself.</p><h2 id="solitude-isn’t-the-enemy-it’s-the-laboratory">Solitude Isn&rsquo;t the Enemy (It&rsquo;s the Laboratory)</h2><p>Developers have a strange relationship with solitude. Our profession pushes us toward it, hours in front of the screen, headphones on, immersed in problems that only exist in our heads. And at the same time, they tell us we must be &ldquo;collaborative,&rdquo; &ldquo;work as a team&rdquo; and &ldquo;do pair programming&rdquo; (which, personally, I think is excellent).</p><p>The truth I learned is that any person&rsquo;s life, no matter how social they are, is fundamentally solitary. Nobody&rsquo;s going to be responsible for your commitments, your architecture choices or your career. You must count on yourself most of the time.</p><p>This doesn&rsquo;t mean you don&rsquo;t need friends or a team. It means you need to learn to live with yourself first, and that&rsquo;s a challenge.</p><p>And for developers, this skill is even more valuable. Because developing technically is more about thinking than acting. When you&rsquo;re programming, solving a complex bug or architecting a solution, solitude isn&rsquo;t isolation; it&rsquo;s focus. You don&rsquo;t need constant interaction to deliver. In fact, interruption is often the enemy.</p><p>But, and this is crucial, you can&rsquo;t think everything through alone. A healthy dose of team interaction is necessary. The trick is knowing when to be alone and when to seek others out.</p><p>Things I did to master my relationship with solitude: Going to the movies alone, to restaurants, to concerts. It sounds silly, but it&rsquo;s not. It&rsquo;s about learning to appreciate your own company. It&rsquo;s about creating inner life.</p><p>Artur da T&aacute;vola, a Brazilian thinker, said: &ldquo;Music is inner life, and whoever has inner life will never suffer from loneliness&rdquo; (free translation).</p><p>Quality moments alone, without electronics, without notifications, just you, good music or a good book, make a difference. It&rsquo;s in this silence that you process the day&rsquo;s conflicts, understand why that meeting irritated you, and notice patterns in your behavior.</p><p>Solitude isn&rsquo;t punishment. It&rsquo;s the laboratory where you get to know yourself.</p><p><img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/.net-maui-aiprompt/quote-jefferson.png?sfvrsn=ca2386d9_2" alt="Solitude isn’t punishment. It’s the laboratory where you get to know yourself." sf-size="100" /></p><h2 id="early-success-the-invisible-trap">Early Success: The Invisible Trap</h2><p>At 21, two years after entering the IT field, I started my own company. Money came fast. A lot of money. It seemed like I had cracked the code of life.</p><p>That success stagnated me.</p><p>Early success is a dangerous drug. It addicts your brain. It fills you with false confidence because you don&rsquo;t yet understand that success has context, timing and luck. You think it was all competence.</p><p>The problem isn&rsquo;t success itself; it&rsquo;s not realizing that the premises that got you there won&rsquo;t be present at the next level. You level up, but want to play with the same strategies.</p><p>I wasn&rsquo;t prepared for the next level of growth. I didn&rsquo;t know how to scale people, processes and complexity. And when a serious accident caused me to stagnate for nearly a decade, I realized I had built castles in the sand.</p><p>It was during this forced pause that I did the best work of my career. I focused on developing a legal system with features nobody else had: a complete change in history, field by field, and thousands of features meticulously thought out in the most minor details. Advocati was considered the best legal software in Brazil in 2007.</p><p>But it took me until 2011 to return strongly to the market.</p><p>Those years taught me something brutal: Enjoy your success, but don&rsquo;t be blinded by it. Don&rsquo;t become arrogant. Lower your expectations that everything will always work out. This gives you a more realistic view.</p><p>I&rsquo;m not saying dream small. Dream big, but take solid, consistent steps. Our lives are increasingly fluid, and constantly changing goals and objectives get you nowhere. Having a fixed target and mapping out the right strategy to reach it, without illusions, is the safest path.</p><p>And there&rsquo;s something else: You&rsquo;ll repeat your mistakes until you learn the lesson. Your life is teaching you something. If you don&rsquo;t understand or don&rsquo;t even realize there&rsquo;s a reason behind your challenge, you&rsquo;ll keep repeating the same cycle.</p><p>Life isn&rsquo;t a game where you pass levels. It&rsquo;s more like debugging as you run the code, see where it breaks, adjust and then rerun it. The problem only disappears when you understand its root cause.</p><h2 id="what-to-do-with-all-this">What to Do With All This?</h2><p>Knowing yourself isn&rsquo;t a destination. It&rsquo;s a daily journey. It&rsquo;s noticing when you&rsquo;re reacting on autopilot. It&rsquo;s questioning why that comment on PR irritated you so much. It&rsquo;s having the courage to be alone with your thoughts. It&rsquo;s celebrating success without thinking you&rsquo;ve become invincible.</p><p>When the next conflict comes, the subsequent failure, the next success, you&rsquo;ll have something most developers never build: clarity about who you are when nobody&rsquo;s watching.</p><p>What I&rsquo;ve shared here comes from decades of learning. Your journey will be different. But if you start getting to know yourself now, maybe you won&rsquo;t have to wait for an accident to learn what took me decades to understand.</p><h2 id="what’s-next-for-me">What&rsquo;s Next for Me?</h2><p>Having learned my lesson, I&rsquo;m always looking for new ways to challenge myself.</p><p>Today I&rsquo;m working on an exciting AI project that&rsquo;s pushing the boundaries of modern development, an intelligent SaaS platform creator powered by natural language prompts. This innovative tool leverages .NET 10 for a robust backend, Microsoft SQL Server for enterprise-grade data management, and React with Next.js on the frontend, all brought together with the rich UI components of the Progress KendoReact library.</p><p>The vision is simple yet powerful: Describe your SaaS platform requirements through prompts and watch as AI transforms your ideas into a fully functional, production-ready application, complete with professional interfaces powered by AI and scalable architecture.</p><p>To validate the project, we&rsquo;re developing and refining it alongside five real-world systems built with this new product.</p><p>And I look forward to learning about myself in the development of this project. </p><p><strong>What&rsquo;s next for you?</strong></p><img src="https://feeds.telerik.com/link/23073/17230783.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:4be62d7c-fd95-4c8a-8ea3-e79ab0ee59df</id>
    <title type="text">The Next Development Discipline Is ADD</title>
    <summary type="text">Accessibility-Driven Development turns WCAG into a discipline. With the EU Accessibility Act as the deadline, ADD is the next discipline to drive quality.</summary>
    <published>2025-11-10T16:04:25Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Teon Beijl </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17206639/next-development-discipline-add"/>
    <content type="text"><![CDATA[<p><span class="featured">Accessibility-Driven Development turns WCAG into a discipline. With the EU Accessibility Act as the deadline, ADD is the next discipline to drive quality.</span></p><p>Maybe you know the acronyms: TDD, BDD or DDD. If not, go on Reddit and you will find enough debates to learn it keeps our industry busy.</p><p>Each acronym shifted how we think and how we build software. Now, with new accessibility laws setting a hard deadline, it&rsquo;s time to add one more: ADD. Accessibility-Driven Development.</p><h2 id="compliance-as-a-driver-of-quality">Compliance as a Driver of Quality</h2><p>For years, accessibility was treated as optional or &ldquo;nice to have.&rdquo; A box you ticked if you had time. But history shows us that regulations and compliance raise quality and drive standardization.</p><p>Think about hardware safety regulations or industry protocols. At first, they seemed like a burden. But once enforced, they became the baseline that allowed whole industries to build better. Today, shipping is faster than ever. Compliance is the safeguard that helps prevent quality from being skipped.</p><h2 id="a-time-change-in-accessibility">A Time Change in Accessibility</h2><p>If you&rsquo;ve worked in UX or frontend development, you&rsquo;ve probably heard of the Web Content Accessibility Guidelines (WCAG). They&rsquo;ve been around for decades, laying out the rules: make software perceivable, operable and understandable.</p><p>WCAG has been the global guideline for accessibility. But for years, adoption was inconsistent. Companies did what they wanted, or what they could afford.</p><p>That changes now. The European Accessibility Act (EAA) is in force as of June 28, 2025. It harmonizes accessibility requirements across the EU and sets real deadlines for compliance. This is the moment accessibility shifts from voluntary guidance to enforceable law. A time change for the industry.</p><p>In the U.S., the Americans with Disabilities Act (ADA) has fueled a rise in lawsuits over inaccessible websites and apps. Similarly, Section 508 of the Rehabilitation Act requires federal agencies and contractors to conform to WCAG. Between lawsuits and procurement contracts, WCAG has become the standard in the U.S. too.</p><p>Different routes, same outcome: WCAG tells us that we need better software for everyone.</p><h2 id="the-disciplines-we-already-know">The Disciplines We Already Know</h2><p>Disciplines reshape the way we develop software. They&rsquo;re mindsets that force us to shift perspective and raise the quality of the software we ship.</p><h3 id="tdd-test-driven-development">TDD: Test-Driven Development</h3><p>With TDD, we write failing tests before we write code. It flips the order. Instead of coding first and testing later, we define the boundaries up front.</p><p><em>The discipline: build resilience by considering how software might fail.</em></p><h3 id="bdd-behavior-driven-development">BDD: Behavior-Driven Development</h3><p>BDD takes this further. Instead of only testing functions, we write scenarios in plain language: Given, When, Then. It&rsquo;s not only developers who can understand, but also stakeholders, product owners, testers.</p><p><em>The discipline: align software with real user expectations.</em></p><h3 id="ddd-domain-driven-design">DDD: Domain-Driven Design</h3><p>DDD steps back another layer. It tells us: don&rsquo;t just model features, model the domain itself. Speak the same language as the business. Reflect its truth in your system.</p><p><em>The discipline: design software that mirrors business reality.</em></p><p>Each of these disciplines changed how we think. They aren&rsquo;t just tools; they&rsquo;re shifts in mindset.</p><h3 id="add-accessibility-driven-development">ADD: Accessibility-Driven Development</h3><p>Now it&rsquo;s time for the next discipline: Accessibility-Driven Development.</p><p>ADD means designing and testing for the edge user first&mdash;the one with constraints. The one who doesn&rsquo;t use your product the way you do. If it works for them, it will work for everyone.</p><p>Think of it like TDD. In TDD, you write a failing test first. In ADD, you define the hardest case first.</p><p>Keyboard-only navigation becomes your failing test. A screen reader flow becomes your scenario. High-contrast mode becomes your business constraint. You design and build until those pass.</p><p>ADD shifts the mindset. Accessibility isn&rsquo;t something you sprinkle in at the end. It is a discipline that shapes decisions during building.</p><p><em>The discipline: build software that is accessible to many, not to some.</em></p><h2 id="why-add-matters-now">Why ADD Matters Now</h2><p>Why now? Without the <a href="https://www.telerik.com/blogs/what-does-european-accessibility-act-mean-developers" target="_blank">European Accessibility Act</a>, many teams would keep treating accessibility as optional. But with compliance dates set, ignoring accessibility is no longer a choice.</p><p>ADD helps you shift from reactive to proactive. Instead of scrambling with audits and lawsuits, you build accessibility into the process. Compliance becomes a habit, not a fire drill.</p><p>Here&rsquo;s the point: designing for edge cases improves the experience for everyone. It&rsquo;s called the <em>curb cut effect.</em> Those sidewalk ramps built for wheelchairs are also used by parents with strollers, travelers with luggage and kids on scooters.</p><p>You&rsquo;re not wasting resources on a minority. You&rsquo;re building better software. Accessibility isn&rsquo;t overhead. It&rsquo;s an advantage.</p><p>By designing for the most constrained environments, you raise the quality of the entire system.</p><h2 id="closing">Closing</h2><p>Accessibility is not a gesture. It&rsquo;s a discipline.</p><p>A new standard to comply with in software. And compliance has always been a driver of quality. Industry protocols in manufacturing. Safety standards in hardware. Now, accessibility in software.</p><p>You don&rsquo;t have to choose between TDD, BDD and DDD. They&rsquo;re not a menu. They&rsquo;re a collection of development disciplines that shape how we build.</p><p>The one you need to add next is ADD: Accessibility-Driven Development.</p><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">The Hidden Costs of Inaccessible Apps for Enterprises and How to Avoid Them</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com/blogs/hidden-costs-inaccessible-apps-enterprises-how-avoid">Learn the hidden costs of inaccessible</a> enterprise applications and see some strategies for building accessible enterprise solutions.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17206639.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <id>urn:uuid:2b7b4fe8-e841-4586-9a87-04bfbf9b1a8d</id>
    <title type="text">Dealing with Impostor Syndrome as a Web Designer or Dev</title>
    <summary type="text">Ever get the feeling that you’re not good enough to be a designer or developer? This is something called impostor syndrome and it happens to most creative professionals at some point (and, sometimes, many points) over their career. Let’s talk about some ways to beat it.</summary>
    <published>2025-10-29T11:51:21Z</published>
    <updated>2026-07-13T23:17:02Z</updated>
    <author>
      <name>Suzanne Scacca </name>
    </author>
    <link rel="alternate" href="https://feeds.telerik.com/link/23073/17198997/dealing-impostor-syndrome-web-designer-dev"/>
    <content type="text"><![CDATA[<p><span class="featured">Ever get the feeling that you&rsquo;re not good enough to be a designer or developer? This is something called impostor syndrome and it happens to most creative professionals at some point (and, sometimes, many points) over their career. In this post, we&rsquo;ll talk about some ways to beat it.</span></p><p>Whether you just landed your first job as a designer/developer or you&rsquo;ve been working for years, impostor syndrome can hit at any time. All it takes is for just one seed of doubt to be planted before you start wondering, &ldquo;Am I even capable of doing this job? No one thinks I&rsquo;m any good anyway. Maybe I should quit, save them the trouble.&rdquo;</p><p>The problem with impostor syndrome is that it&rsquo;s more than just negative self-talk. If it goes on for long enough, it can cause significant damage to your mental health, relationships and career.</p><p>So, rather than feed into this vicious cycle of tearing yourself down, let&rsquo;s discuss some strategies that can help you get past impostor syndrome.</p><h2 id="what-is-impostor-syndrome">What Is Impostor Syndrome?</h2><p>According to <a target="_blank" href="https://www.mcleanhospital.org/essential/impostor-syndrome">McLean Hospital</a>:</p><blockquote><p>&ldquo;When someone has impostor syndrome, they experience repeated feelings or thoughts that they are incompetent or not good enough, despite evidence to the contrary. These beliefs often have roots in someone&rsquo;s personal history and tend to play out in work, academic, and other high-pressure settings. Unaddressed, they can keep people from enjoying their successes and living life to its full potential.&rdquo;</p></blockquote><p>What do these feelings of insecurity and self-doubt sound like? Here are some examples:</p><ul><li>&ldquo;I&rsquo;m not good enough.&rdquo;</li><li>&ldquo;I don&rsquo;t belong here. Everyone is smarter than me.&rdquo;</li><li>&ldquo;Everything I build is awful.&rdquo;</li><li>&ldquo;I guess I charge &hellip; $12 an hour?&rdquo; (Because you can&rsquo;t imagine anyone paying you a fair wage for your work.)</li><li>&ldquo;I&rsquo;m a complete disaster.&rdquo; (After making a small mistake that no one noticed.)</li><li>&ldquo;I can&rsquo;t ask for help because then they&rsquo;ll realize I don&rsquo;t know anything.&rdquo;</li><li>&ldquo;Any day now they&rsquo;ll figure out I&rsquo;m a fraud.&rdquo;</li><li>&ldquo;[Coworker] always does a better job. They should just give them all the important jobs.&rdquo;</li><li>&ldquo;It didn&rsquo;t have anything to do with me. It was all because of &hellip;&rdquo; (When someone gives you a compliment.)</li><li>&ldquo;Here&rsquo;s the onboarding mockup I created. It&rsquo;s not very good. I&rsquo;m sure you won&rsquo;t like it.&rdquo; (When presenting your work to a client.)</li></ul><p>Impostor syndrome doesn&rsquo;t just manifest itself in the words you speak about yourself or work. It can also create anxiety and depression, lead to insomnia and negatively impact your work performance. In addition, it can burn you out.</p><p>According to the <a target="_blank" href="https://www.apa.org/monitor/2021/06/cover-impostor-phenomenon">American Psychological Association</a> (APA), it can also make people not want to work with you. Not because you&rsquo;re not good at what you do. But because your attitude is draining and they feel like it&rsquo;s impossible to connect with you.</p><p>It&rsquo;s almost as if impostor syndrome becomes a self-fulfilling prophecy. While managers, coworkers and clients may not have had a problem with the quality of your work before, they will once it and your attitude degrade over time.</p><h2 id="how-to-keep-impostor-syndrome-from-getting-in-your-way">How to Keep Impostor Syndrome from Getting in Your Way</h2><p>Starting to feel the side effects of impostor syndrome at work? Here are some things you can do to get it out of your way (and out of your head):</p><h3 id="focus-on-what’s-true-not-on-what-you-feel">1. Focus on What&rsquo;s True, Not on What You Feel</h3><p>Let&rsquo;s take one of the example sentiments from above:</p><blockquote><p>&ldquo;Everything I build is awful.&rdquo;</p></blockquote><p>Let&rsquo;s say this thought keeps crossing your mind every time you turn something into your supervisor or client.</p><p>The first thing to do is to recognize that this is a thought and nothing more. Unless you have a client shouting at you that you are indeed awful every time they see your work, this is your own criticism you&rsquo;re dealing with.</p><p>Next, focus on what&rsquo;s factual:</p><ul><li>What are the five last projects or tasks you completed?</li><li>What was the feedback you received on them from others?</li><li>In the end, was your employer or client satisfied with the end result?</li></ul><p>You can&rsquo;t argue with facts. So, the next time you start with the negative self-talk, call to mind what you&rsquo;ve been working on and how it was received. Actually look at the paper trail from the project to work with facts and don&rsquo;t just recall memories that may be tainted by your feelings.</p><p>Also make note of major wins and write them down somewhere. Positive client testimonials. Referrals from a client you worked closely with. Management congratulating you in front of the team. A bonus at the end of the year. As they stack up, it&rsquo;ll be hard to call yourself an impostor.</p><h3 id="talk-to-someone-you-respect">2. Talk to Someone You Respect</h3><p>If you&rsquo;re seriously doubting the quality of your work, bring it to someone you admire and respect in your field. And avoid sharing it with someone whose opinion you could easily discard, like a loved one. (&ldquo;Oh, they just said that so I wouldn&rsquo;t feel bad.&rdquo;)</p><p>There&rsquo;s no need to share your opinions or criticisms about the work with your peer. Instead, just bring it to them with the hope of getting unbiased feedback, and see what they say.</p><p>To start, if they pay you any compliments, graciously accept them. Remind yourself that they have no reason to lie to you or sugarcoat the truth. They are someone you respect and whose opinion you trust. They get nothing out of lying to you.</p><p>If they give you feedback, remember that feedback does not equal failure. We all get feedback, even when we&rsquo;re experts at the top of our careers. Thank them for their feedback, make note of the input you received and then spend time reviewing it.</p><p>Put aside your negative self-talk and evaluate the feedback against reality. Is it fair? If so, what can you do to address it and improve?</p><p>This is what feedback is for. It helps us better understand our strengths and weaknesses, and to put a plan in place so we can move forward better than before. Not to wallow in perceived criticism.</p><p>This is the difference between an impostor and an expert. The impostor won&rsquo;t know what to do with the feedback or how to grow from it. The expert will. They&rsquo;ll also have the motivation to do so, too.</p><h3 id="ask-your-manager-or-peers-for-support">3. Ask Your Manager or Peers for Support</h3><p>Let&rsquo;s say your feelings of impostor syndrome have come from something that your manager, clients or peers have said to you. This again comes down to whether you&rsquo;ll allow that feedback to fester or to put it to good use.</p><p>For example, let&rsquo;s say that your manager hasn&rsquo;t been pleased with your creation of color palettes. If they haven&rsquo;t given you feedback on how to create them, reach out for support and guidance. Or you can turn to your coworkers for assistance.</p><p>Find out what exactly their expectations or preferences are. Ask about their personal process for crafting color palettes. See if there are specific tools they recommend you use.</p><p>If you&rsquo;re feeling inadequate, don&rsquo;t give up. See if you can get someone to guide you toward a new process or practice.</p><p>On the other hand, let&rsquo;s say your feelings of impostor syndrome have come from something that your manager has said or done, but it wasn&rsquo;t a direct criticism.</p><p>For example, they reassigned one of your tasks to a peer. Do you know for sure why they did it? If you don&rsquo;t, follow up with them and see if they&rsquo;ll give you a reason and some feedback. By actively seeking feedback, you may just discover it was a matter of them better allocating resources versus it being a reflection of the quality of your work.</p><p>Seeking out the truth can always help when impostor syndrome is getting in the way. It&rsquo;ll either let you know that your feelings of self-doubt are unfounded or that you do have some areas where you can improve. You lose nothing by asking for guidance and help, and everything to gain.</p><h3 id="let-go-of-perfectionism">4. Let Go of Perfectionism</h3><p>It&rsquo;s not realistic to seek perfection. Or to wait to turn something in until it&rsquo;s perfect.</p><p>I&rsquo;m not saying that your work should be full of errors or half done. However, if you&rsquo;re waiting to reach that so-called perfect version of a website, app, logo or whatever it is you&rsquo;re building, and then freak out after hitting &ldquo;Send&rdquo; because you realized the font size was slightly off, that&rsquo;s a problem.</p><p>We all make mistakes and there are flaws in a lot of the work we produce for the web. We&rsquo;re human. It&rsquo;s what happens. So long as you&rsquo;re paying attention to your clients&rsquo; needs and preferences, adhering to best practices and web standards, and doing your level best each time, that&rsquo;s all that matters.</p><p>Once you accept this, you&rsquo;ll realize it&rsquo;s not right to put yourself down or abuse yourself for every perceived mistake.</p><p>To reiterate what I mentioned before: If it really bothers you to discover a mistake after turning in your work, make note of it. Is there something you can do next time to avoid it?</p><p>For instance, let&rsquo;s say the font in your contact form doesn&rsquo;t match the font used throughout the Contact page. There&rsquo;s an easy way to address this particular problem in the future: Revise your process. Instead of manually applying font settings as you add new components, employ a global standard and design system that controls the fonts used throughout.</p><p>Let go of this idea of perfection and embrace a mindset of growth and improvement. Find something you don&rsquo;t like about your process or approach to design or development? Fix it. Don&rsquo;t let it become something that contributes to the harmful impostor syndrome growing within you.</p><h3 id="fake-it-until-you-make-it">5. Fake It Until You Make It</h3><p>For this point, I&rsquo;m not encouraging you to sell yourself with lies about your background or what you&rsquo;re capable of. Impostor syndrome relates to feelings of inadequacy when you are already more than adequate, not when you set yourself up for a job you were never a good fit for.</p><p>What I mean by &ldquo;fake it until you make it&rdquo; is faking confidence and satisfaction with your work.</p><p>For example, let&rsquo;s say it&rsquo;s time to present the fintech mobile app you created to the client. Don&rsquo;t present it to them with doubts and negative talk. Instead, take the lead, get excited about the app and show them how amazing it is.</p><p>I used to work in customer service and one of the things they used to teach us was to smile every time we picked up the phone. I know, it sounds silly. It&rsquo;s not like the customer can even see you smile. But there&rsquo;s research that suggests that forcing a smile on your face can actually impact the way you feel and how you carry yourself.</p><p>The same thing can happen when you fake confidence and happiness with your work. By forcing yourself to push the impostor thoughts and statements aside, you get into the habit of reflecting positively on what you do. And once you see that supported by how others react to your work, eventually you&rsquo;ll realize you were never an impostor.</p><p>Another thing to do is catch yourself whenever you use negative words to describe yourself or your work, like &ldquo;I can&rsquo;t,&rdquo; &ldquo;I hate&rdquo; or &ldquo;I won&rsquo;t.&rdquo; Rephrase them using positive words. Even just reframing the situation and your thoughts can have a positive effect on your mindset.</p><p>This can have long-reaching effects on your career, too.</p><p>For instance, once you gain confidence in the everyday tasks you do, you can take things to the next level. With this confidence, you&rsquo;ll be able to take more risks and accept more challenges. And if you&rsquo;re hit with another wave of impostor syndrome, don&rsquo;t sweat it. Even if it doesn&rsquo;t feel right, your mind will eventually catch up with what everyone else already knows and believes about your capabilities.</p><h2 id="wrapping-up">Wrapping Up</h2><p>You are not an impostor. Those feelings and thoughts you&rsquo;re having? Most creatives get them at some point in their career.</p><p>In the beginning, those doubts may come from being a newbie when everyone else around you seems to have it all figured out. It&rsquo;s natural to wonder if you&rsquo;re good enough and how long it&rsquo;ll last as it seems too good to be true.</p><p>What&rsquo;s more, working as a creative is a lot different from, say, an accountant who works with hard facts and numbers. You&rsquo;re coming up with something completely new. While you&rsquo;re building something for a client or employer to use, it all comes from within <em>you</em>. And it can be hard to separate yourself from the outcomes or feedback associated with your work.</p><p>Impostor syndrome is going to happen. What matters is what you do with it.</p><p>I really enjoyed this quote that Dr. Ami Rokach of York University gave to the APA as it shows how impostor syndrome can be turned into a positive:</p><blockquote><p>&ldquo;Impostor phenomenon is a spectrum, not binary. Just as high achievement can fuel impostor phenomenon in self-doubting people, impostor feelings can fuel high achievement, which would enhance one&rsquo;s beliefs in his or her abilities and achievement.&rdquo;</p></blockquote><aside><hr data-sf-ec-immutable="" /><div class="row"><div class="col-4 u-normal-full u-small-mb0"><h4 class="u-fs20 u-fw5 u-lh125 u-mb0">Stop Building Generic Software</h4></div><div class="col-8"><p class="u-fs16 u-mb0"><a target="_blank" href="https://www.telerik.com/blogs/stop-building-generic-software">Stop trying to build</a> what already exists. Start building what sets you apart.</p></div></div></aside><img src="https://feeds.telerik.com/link/23073/17198997.gif" height="1" width="1"/>]]></content>
  </entry>
</feed>
