Ivy Chen
0 followers · 853 views
on the atlas — 38
- AI has an environmental problem. Here’s what the world can do about that.3 savers
- My Mentee Went From Junior -> Senior Engineer in less than 2 years. Here's how.1 savers
- Good code is like a love letter to the next developer who will maintain it.1 savers
- Gmail22 savers
- 反思系列 — 軟體工程師的價值、影響力與職涯發展. 距離上一次寫職涯反思系列的文章已經有一段時間了(之前還自信的說每半年會更新一次… | by 莫力全 Kyle Mo | Medium1 savers
- Making decisions happen - by David Hoang - Proof of Concept1 savers
- Agile for developers: Refactoring code1 savers
- Putting Ideas into Words7 savers
- The 70% problem: Hard truths about AI-assisted coding1 savers
- Conquering Imposter Syndrome - by Addy Osmani - Elevate1 savers
- The Debugger's Toolkit - by Addy Osmani - Elevate1 savers
- About - Elevate1 savers
- Why Smart People Get Stuck (And How to Get Unstuck)1 savers
- How to become a more effective engineer1 savers
- Advice to Myself When Starting Out as a Software Developer - The Pragmatic Engineer1 savers
- A developer’s second brain: Reducing complexity through partnership with AI - The GitHub Blog1 savers
- Classification of patterns1 savers
- Why should I learn patterns?1 savers
- What's a design pattern?1 savers
- Why Storybook? | Storybook docs1 savers
- Gmail106 savers
- When (and when not) to reach for Redux1 savers
- Redux Essentials, Part 1: Redux Overview and Concepts | Redux3 savers
- Pick an audience that is into the illegible you of today, not your past achievements21 savers
- Think more about what to focus on - by Henrik Karlsson41 savers
- Authenticity as dialogue - by Henrik Karlsson9 savers
- frames - by Ava - bookbear express3 savers
- field companions - by Spencer Chang - spencer's paradoxes1 savers
- From Pen to Prompt: How Creative Writers Integrate AI into their Writing Practice1 savers
- life as a corporate ghibli gal | blogmas day 7!1 savers
- don't wait on opportunity | blogmas day 4! - by Serena Chao1 savers
- How to Do Great Work67 savers
- What I Wish Someone Had Told Me - Sam Altman52 savers
- When To Do What You Love33 savers
- The Strength of Being Misunderstood - Sam Altman32 savers
- How to Work Hard18 savers
- Researchers and Founders17 savers
- How to Do What You Love13 savers
highlights — 163
How to track your accomplishments in a format your manager cares about How to be a better mentor and mentee
My Mentee Went From Junior -> Senior Engineer in less than 2 years. Here's how.In the end, coding is an act of creation, not unlike writing a poem or painting a picture. The beauty of our creations, however, is not judged solely by the elegance of our algorithms or the efficiency of our code, but by the joy and ease with which others can build upon our work.
Good code is like a love letter to the next developer who will maintain it.Good code, therefore, leverages these patterns strategically, just like a seasoned poet would use poetic devices to create resonance. It does not apply patterns just for the sake of it, but because they add value to the solution, they make the code more comprehensible, and they ensure the longevity of the codebase.
Good code is like a love letter to the next developer who will maintain it."Simple code is the hardest kind of code to write. You know you've achieved perfection when you don't have to add anything but take things away."
Good code is like a love letter to the next developer who will maintain it.The future of software development isn't either/or - it's both/and. Professional developers will continue to build the complex systems, while AI-assisted tools will enable individuals to create personal software solutions that were previously out of reach.
Gmail第三種 Resounding Impact,也就是槓桿時間的能力,講白話一點的話就是「解決問題,並將影響留存下來」。我們可以去思考「做什麼事情是在我離開後,還可以持續為夥伴或公司帶來價值?」
反思系列 — 軟體工程師的價值、影響力與職涯發展. 距離上一次寫職涯反思系列的文章已經有一段時間了(之前還自信的說每半年會更新一次… | by 莫力全 Kyle Mo | MediumIf you fail to influence the direction you believe in, someone else will do it for you.
Making decisions happen - by David Hoang - Proof of ConceptInfluence isn’t about reacting after the fact—it’s about proactively shaping the conversation before a choice is locked in. If you don’t step up and contribute when it matters most, you can’t be surprised when the outcome doesn’t align with your expectations.
Making decisions happen - by David Hoang - Proof of ConceptGreat decision-making isn’t just about individual perspectives—it’s about equipping the right people with the right context at the right time.
Making decisions happen - by David Hoang - Proof of ConceptThis means that waiting for a formal meeting to voice your perspective is often too late. If you want to have influence, you need to engage decision-makers early—before their minds are made up.
Making decisions happen - by David Hoang - Proof of ConceptEvery decision shapes the trajectory of a project, a team, or even an entire organization.
Making decisions happen - by David Hoang - Proof of ConceptThe same principle applies here: an effective critique isn’t just about pointing out flaws; it’s about identifying areas for improvement in a way that fosters growth and better decision-making.
Making decisions happen - by David Hoang - Proof of ConceptAsk yourself: What assumptions are driving this choice? What constraints or priorities have shaped it? Once you’ve mapped this out, you’ll be in a much stronger position to challenge the status quo with a well-reasoned perspective. To do this effectively, consider using the Steel Man Argument—a technique that requires you to articulate the opposing viewpoint in its strongest, most persuasive form. This not only demonstrates intellectual empathy but also builds credibility, showing that your critique is thoughtful rather than reactionary.
Making decisions happen - by David Hoang - Proof of ConceptThe first step in effectively influencing a decision is to deeply understand and acknowledge the current decision path. If you don’t demonstrate a clear grasp of the reasoning behind the existing trajectory, your perspective will likely be dismissed before it even gets considered.
Making decisions happen - by David Hoang - Proof of ConceptIn reality, influencing decisions requires hard work, discipline, and a willingness to stake your reputation. At its core, decision-making involves creating tangible artifacts—through the act of making—that enable decisions to be reached.
Making decisions happen - by David Hoang - Proof of ConceptIn reality, influencing decisions requires hard work, discipline, and a willingness to stake your reputation. At its core, decision-making involves creating tangible artifacts—through the act of making—that enable decisions to be reached.
Making decisions happen - by David Hoang - Proof of ConceptSoftware development is similar to cooking - you need a tidy codebase to deliver rapidly. If you don’t clean your code as you develop, you can find yourself surrounded by a mess
Agile for developers: Refactoring codeWriting about something, even something you know well, usually shows you that you didn't know it as well as you thought. Putting ideas into words is a severe test. The first words you choose are usually wrong; you have to rewrite sentences over and over to get them exactly right. And your ideas won't just be imprecise, but incomplete too. Half the ideas that end up in an essay will be ones you thought of while you were writing it. Indeed, that's why I write them.
Putting Ideas into WordsThe hard parts of software development – understanding requirements, designing maintainable systems, handling edge cases, ensuring security and performance – still require human judgment.
The 70% problem: Hard truths about AI-assisted codingUse AI to accelerate, not replace, your judgment
The 70% problem: Hard truths about AI-assisted codingBy operationalizing a bias towards action, we can train our brains to focus on problems to solve rather than the myriad ways we might fall short.
Conquering Imposter Syndrome - by Addy Osmani - ElevateConduct a weekly review: At the end of each day or week, reflect on your accomplishments and learnings. Write down at least three things you're proud of and three things you want to improve. Celebrate the wins and reframe the losses as opportunities for growth. I personally find this really cathartic.
Conquering Imposter Syndrome - by Addy Osmani - ElevateFind a collaborator: Identify a trusted colleague, peer or mentor who can serve as a thought partner. When you get stuck, reach out to talk through the problem and brainstorm solutions together. Chances are, they've been there too.
Conquering Imposter Syndrome - by Addy Osmani - ElevateExperiment with timeboxing: For your next project, set a fixed time limit for research and planning before diving into execution. Notice how this constraint forces you to prioritize and make decisions. Adapt the timeframes as you learn what works best for your working style.
Conquering Imposter Syndrome - by Addy Osmani - Elevate"You aren't expected to solve the problems at hand - that is what engineers do. We solve shit."
Conquering Imposter Syndrome - by Addy Osmani - ElevateThey continue, "But what I am, and what most successful software developers are, is pretty much an expert at solving problems. It does not matter if it is a problem I have never seen, an industry I have never been in, or a technology I have never used, I am really good at just breaking it down and learning how to get by."
Conquering Imposter Syndrome - by Addy Osmani - ElevateThe body of knowledge is so vast that even the most seasoned professionals only master a small fraction.
Conquering Imposter Syndrome - by Addy Osmani - Elevate"When you have eliminated the impossible, whatever remains, however improbable, must be the truth."
The Debugger's Toolkit - by Addy Osmani - ElevateOverconfidence can lead you to overlook subtle clues, stubbornness can blind you to alternative explanations, and an unwillingness to question assumptions can send you down fruitless rabbit holes. Approach debugging with a spirit of humility, open-mindedness, and persistence.
The Debugger's Toolkit - by Addy Osmani - ElevateWhen facing an intractable bug in a complex system, debugging by bisection can be a powerful technique. By repeatedly removing or simplifying components and checking if the problem persists, you can progressively narrow the search space.
The Debugger's Toolkit - by Addy Osmani - ElevateCritically evaluate any suggested fixes or explanations. The AI can hallucinate or make mistakes, especially on niche topics or bleeding edge technologies. Trust but verify.
The Debugger's Toolkit - by Addy Osmani - ElevateBe mindful of security and IP concerns. Don't paste sensitive code or data into public AI models. If in doubt, use an in-house or private instance.
The Debugger's Toolkit - by Addy Osmani - ElevateConsider contributing to the company knowledge base or even writing up a public blog post.
The Debugger's Toolkit - by Addy Osmani - ElevateTake breaks and leverage the subconscious Sometimes stepping away briefly is the best debugging technique.
The Debugger's Toolkit - by Addy Osmani - ElevateDebugging complex systems is fundamentally a collaborative act. Different people have domain expertise in different parts of the codebase or technology stack. Involving someone with deep knowledge in a particular area can dramatically accelerate the process. And sometimes fresh eyes can spot something that someone too close to the issue glossed over.
The Debugger's Toolkit - by Addy Osmani - ElevateAs you gather clues and study the code and system, you should be forming hypotheses about potential root causes. Make them as specific as possible, to the level of "the bug happens because X does Y incorrectly due to Z."
The Debugger's Toolkit - by Addy Osmani - ElevateDefine a few ideas for “why” the bug happens.
The Debugger's Toolkit - by Addy Osmani - ElevateRepeat until you zero in on a specific line of code.
The Debugger's Toolkit - by Addy Osmani - ElevateFirst do it, then do it right, then do it better. I believe that the true essence of motivation and productivity doesn't lie in conforming to the usual patterns - it's about constantly redefining them.
About - ElevateGo back and ask yourself: what's the real bottleneck?
Why Smart People Get Stuck (And How to Get Unstuck)Write down your specific, concrete goal. Make it measurable and time-bound. Identify the one problem truly blocking you. Be honest - what's really in your way? Define the solution. Don't worry about making it sophisticated or innovative. What simple (but perhaps challenging) action would move you forward?
Why Smart People Get Stuck (And How to Get Unstuck)Just like a GPS navigation system helps you understand where you are in relation to your destination, this framework brings clarity to your current position, your goal, and—most importantly—what's really standing in your way.
Why Smart People Get Stuck (And How to Get Unstuck)To build credibility, you need to demonstrate some impact early on, instead of waiting months to get the lie of the land before you start getting anything done. Chasing small wins and low-hanging fruit can be an easy path to productivity. Don’t underestimate their importance.
How to become a more effective engineerDevelopers reported that GitHub Copilot helped them stay in the flow (73%) and preserve mental effort during repetitive tasks (87%). That’s developer happiness right there, since we know from previous research that context switches and interruptions can ruin a developer’s day, and that certain types of work are draining [
Research: quantifying GitHub Copilot’s impact on developer productivity and happiness - The GitHub BlogAs I started making refactoring a weekly habit, I got better at both.
Advice to Myself When Starting Out as a Software Developer - The Pragmatic EngineerDevelopers will likely become “systems thinkers,” focusing on specifying the behavior of systems and applications that solve problems and address opportunities, steering and supervising what AI tools produce, and intervening when they have to. Systems thinking has always been a virtuous quality of software developers, but it is frequently viewed as the responsibility of experienced developers. As the mechanical work of development is transferred from developers to AI tooling, systems thinking will become a skill that developers can exercise earlier in their careers, accelerating their growth. …
A developer’s second brain: Reducing complexity through partnership with AI - The GitHub BlogThe mentally taxing tasks developers talked about fell into two categories: “This is so tedious”: repetitive, boilerplate, and uninteresting tasks. Developers view these tasks as not worth their time, and therefore, ripe for automation. “This hurts my brain”: challenging yet interesting, fun, and engaging tasks. Developers see these as the core tasks of programming. They call for learning, problem solving and figuring things out, all of which help them grow as engineers.
A developer’s second brain: Reducing complexity through partnership with AI - The GitHub BlogThe mentally taxing tasks developers talked about fell into two categories: “This is so tedious”: repetitive, boilerplate, and uninteresting tasks. Developers view these tasks as not worth their time, and therefore, ripe for automation. “This hurts my brain”: challenging yet interesting, fun, and engaging tasks. Developers see these as the core tasks of programming. They call for learning, problem solving and figuring things out, all of which help them grow as engineers.
A developer’s second brain: Reducing complexity through partnership with AI - The GitHub BlogA new study Milliseconds Make Millions reveals the significant impact of mobile site speed on consumers' willingness to spend money and engage with brands online. The results shows that even a 0.1 second improvement in load times can improve progression rates across the full purchase funnel.
Milliseconds make millions | web.devThe most basic and low-level patterns are often called idioms. They usually apply only to a single programming language. The most universal and high-level patterns are architectural patterns. Developers can implement these patterns in virtually any language. Unlike other patterns, they can be used to design the architecture of an entire application.
Classification of patterns