Crafting Code nyilvános
[search 0]
Több
Download the App!
show episodes
 
Loading …
show series
 
Have you ever been to a conference where you felt like the most useful part was the 'hallway track' where you got to talk with other people between sessions? Open Space Technology builds on this idea, providing the scaffolding needed for attendees to create a custom event. Special guests Mike Clement, Will Munn, and Amy Dredge join us to talk about…
  continue reading
 
Following on to our previous discussion about event-based systems, in this episode Allan and Dave share some of the strategies they've used utilize events successfully. We cover naming strategies, sources of truth in a system, bounded contexts, anti-fragility, and delivery guarantees. And just because you're using events doesn't mean you have to gi…
  continue reading
 
Although event-based systems are nothing new, they remain underutilized across our industry and therefore can still feel foreign. In this episode, your hosts talk about why you might want to adopt events into your code. We talk about orchestration versus choreography, temporal decoupling, and different types of events you may encounter.…
  continue reading
 
Working independently on your own source code branch seems like a great idea until you have to merge it to the mainline. Just like with parallel processing, the bottleneck often comes when you try to combine results. Trunk-Based Development revolves on a simple idea: always commit your changes to the mainline daily. In this episode, Allan and Dave …
  continue reading
 
At any given point in our careers, the skills we have developed and the experiences we have gained (or the lack thereof) can influence how we think about our work and how we make decisions. In this episode, your hosts discuss how we can identify and deal with these biases. From Dunning-Kruger to over-planning to working without a net, we cover how …
  continue reading
 
Should code design be something we should have in mind when starting, or should we allow it to emerge from a test-driven design process? How much mileage can we get by getting better the up front design process before we run into a Design Quality Paradox? Can coupling and cohesion guide us to how small we ought to break up a function? Are code comm…
  continue reading
 
The need to learn is taken as a necessity in our industry. And yet, most who write code spend almost all their time in performance mode and very little in learning mode. We are delighted to have special guest Steven Diamante join us to talk about this topic. We discuss the importance of learning on your own and in groups, and talk about ways to imp…
  continue reading
 
The effort required to author a good book can lead to a depth of understanding that doesn't come as readily to other mediums. And when a good book stands the test of time, it's worth sharing. In this episode, Dave and Allan share our recommendations for books we think are worth reading if you are serious about software. We grouped these recommendat…
  continue reading
 
Applying Conway's famous Law tells us that software architecture and culture are intertwined. How people communicate affects how they architect their software. And the reverse is also true: being intentional about an architecture can change how people behave. In this episode, your hosts discuss this hidden coupling and how important it is to align …
  continue reading
 
The culture of your company has a big influence on how much you enjoy your job. Unfortunately, finding one that fits just right for your unique combination of people is hard. On top of that, there are inevitably subcultures within the larger organization. In this episode, Dave and Allan discuss things we've valued in company cultures, things we wat…
  continue reading
 
We often hear stories from successful companies shared across the industry, but usually what they did to succeed doesn't work for us. Are there principles that are independent of the organizations that we work at? Coda Hale thinks there are. In this episode we review the article, 'Work is Work' which you can read at https://codahale.com/work-is-wor…
  continue reading
 
Why is asking questions such an important soft skill for software developers? Is a mindset of inquiry a way to learn more and engage in better, open communication? How can we utilize questions during retrospectives and blameless postmortems? Can questions be an important teaching tool? Will you learn more about asking questions by listening to this…
  continue reading
 
In the physical world we readily intuit how context matters in decision making. For example, a compact car is a perfectly fine vehicle, but may not be suitable for hauling a large load. Context informing software decisions may be even more important, since it isn't as obvious. In this episode, your hosts discuss the need for context and values as w…
  continue reading
 
In episode 29 we discussed ways that a software developer can make an impact in their job. In this episode, we reflect on what things have made the most impact on Dave and Allan as software developers. We share experiences, books, presentations, people, and practices which have made a significant difference in our careers. Our hope is that you'll h…
  continue reading
 
AI is a hot topic in tech these days, and usually people are talking about LLMs. Are they really going to be replacing programmers? Or are they just the latest fad in a long line of promises to replace those pesky coders? In this episode, Allan and Dave talk about out experiences with AI code assistants and how tools tend to slowly evolve how we wo…
  continue reading
 
The concept of clean code is one that Dave and Allan feel is very important. But sometimes we hear or read of people saying it is unimportant or unnecessary in some cases. In this episode, we explain what we mean by 'clean code' and why we think it really matters. After all, it's exponentially easier to make a mess than it is to keep things clean.…
  continue reading
 
What does a software architect actually do? The answer will vary widely depending on the company you work at. But generally speaking, we've found that there are two main things every architect is expected to do: make decisions and draw diagrams. So in this episode, your hosts discuss tools and strategies they've used to successfully deliver on thos…
  continue reading
 
How can I make a difference? What should I be doing in my role? These are pretty common questions software developers ask themselves, even after many years of experience. In this episode, we discuss how to make a difference (and some of the struggles we encounter) at various sizes of business. We also talk a little bit about career paths or special…
  continue reading
 
The change of perspective which comes from reframing a problem can often yield fresh insights or improve our outlook. Discussing the state of a technical system in terms of health may be preferable to the oft-used debt metaphor. In this episode, your hosts discuss how this shift in thinking can help us deal with our software issues, and then we sha…
  continue reading
 
Is the mythical 10x developer real? We think so... at least inasmuch as some people regularly improve the systems they work in until they (and often their team) are far more productive. We've definitely experienced 10x systems. So join Allan and Dave in the search for this cryptid through the economic principles and interconnected practices it call…
  continue reading
 
Constraints make great engineering. They aren't always a bad thing, and understanding them can help you make better coding decisions. In this episode, Dave and Allan discuss many different common constraints. Some are more obvious like technology, time, and budget. Others are easily missed but still useful: people, org charts, and culture.…
  continue reading
 
Bits do not rot when left alone, but the world around the code changes. Over time, although the code itself has not changed, the value provided by it will effectively rot away. In this episode, your hosts talk explore this topic; from video games and antiquated coding paradigms to the Red Queen hypothesis and software gardening.…
  continue reading
 
Are we unintentionally doing things which reward bad behavior? Sometimes company policies incentivize people to do the wrong thing, like coming to work sick because they've run out of sick days. Although we rarely have control over company policies, we can look for ways that our teams reward bad behaviors. In this episode, Dave and Allan share some…
  continue reading
 
Technical debt is a metaphor which is thrown around a lot, but what is is really? In this episode, Dave and Allan discuss the metaphor and how well it holds up when compared to financial debt. Regardless of the name, we have to spend time and money addressing this unavoidable, perennial problem. So what can we do about it?…
  continue reading
 
In this episode, your hosts (finally!) share some actual code examples to illustrate some of our thoughts about crafting code. Follow along with the code at https://github.com/crafting-code-podcast/crafting-katas as we discuss how we implemented Conway's Game of Life in multiple languages. Testing strategies, optimizations, and feedback loops all d…
  continue reading
 
The works of Edsger W. Dijkstra have made a huge impact on the software industry. In this episode, your hosts dive into his paper, The Humble Programmer ( https://dl.acm.org/doi/pdf/10.1145/355604.361591?download=true ), to discuss how well it holds up to today's programming world. We cover hardware, cleverness, abstraction, proofs, and more. Even …
  continue reading
 
Will using simple tools help you keep your codebase simple? In this episode, your hosts try to draw a distinction between simplicity and ease, then examine how they apply to the tools we use to write code. Unfortunately, simplicity and complexity depend on what level of abstraction you're working at. Sometimes we choose to trade simplicity for easi…
  continue reading
 
Programming languages are the tools we use to craft code. They have philosophies, environments, ecosystems, and idioms to consider. Picking which languages to use is an important choice for individuals and businesses. Although we all have likes and dislikes, perhaps sometimes we have to leave behind our code baggage to learn something new. But reme…
  continue reading
 
Software architectures are generally described in broad strokes that make them generally applicable and easier to understand. But this is a lossy process. Whether or not an architecture is good or bad depends on context. So in this episode, Matt, Dave, and Allan share some examples of systems we've worked in to help illustrate architectural decisio…
  continue reading
 
Despite the near-universal agreement of the importance of software architecture, it is very difficult to define. In this episode, your hosts share what we've learned from holding the architect role (and title) at various companies. For us, the crux of it comes down to figuring out how to deliver technical value for changing business needs over time…
  continue reading
 
What does it mean to be a full-stack developer as opposed to front- or back-end? Is anyone really full-stack? Is it a reflection of who you are, or is it more about how your company chooses to operate? Whether or not you have a preference for the part of the stack you work in, there is value to expanding your understanding and collaboration.…
  continue reading
 
Coding is a specialized skill where we learn to communicate with a machine. Unfortunately, this can often blind us to the fact that crafting code involves a lot of communication with humans. Writing clean, expressive code communicates with other coders. Communicating well with non-coders helps us understand business needs so we can write the right …
  continue reading
 
Failing projects are the bane of a software developer. In this episode, we discuss how principles of crafting software can rescue a failing project. Whether the problem is rooted in the code, the team, or the system, we can improve our feedback loops, make small but significant improvements, and focus on finishing instead of starting. Slowly but su…
  continue reading
 
What does it mean to craft software? In this first episode, your hosts David Adsit, Matt Baker, and Allan Stewart discuss what we think software craftsmanship is all about. We cover how crafting code helps you find better ways of doing things, steadily add value, and build a community of professionals. We also talk about how this craft is not about…
  continue reading
 
Loading …

Gyors referencia kézikönyv

Hallgassa ezt a műsort, miközben felfedezi
Lejátszás