Articles on Dan Schaefer

I have been a Software Engineer in many different roles in my career. I started in 2005 as a first hire into a small company and worked my way towards being a Software Developer Team Lead. I enjoy being an individual contributor and leading and creating high-performing software development teams. I also enjoy bass fishing as a hobby.

Breaking down user stories can transform how we deliver value in Agile development. I remember when I first struggled with turning a massive feature epic into manageable chunks. It felt overwhelming, but I soon realized the power of smaller, focused...

At first, when I started getting into agile software development, I quickly realized how important well-crafted user stories were to the success of a project. They are not just tasks to be checked off, but the blueprint that guides the...

As a software developer, I constantly face the tough decision of whether to tackle technical debt or push ahead with new features. It’s like standing at a crossroads where each path could significantly impact the trajectory of our project and,...

When I first encountered legacy code in a real-world project, I realized it was more than just a technical challenge; it was an opportunity to really grow as a developer. Legacy code isn’t just about dealing with old technologies or...

As someone who develops software, I take pride in my attention to detail when reviewing different types of code whether its application code, infrastructure as code (IaC), or CI/CD pipelines. I’ve noticed that being thorough not only helps in catching...

Introduction to Agile and DevOps In the early years of my software development career, Agile and DevOps were terms I hadn’t encountered. It took a freelance job with a DevOps-practicing company to introduce me to these methodologies, but the full...

In our world where technology constantly reshapes how we live and work, keeping up isn’t just beneficial; it’s crucial for your growth. Like you, I’ve spent countless hours scrolling through social media and subscribing to various newsletters, searching for insights...

Tech moves fast, doesn’t it? Sometimes, in the rush to build new features, it’s easy to forget we’re not machines. I’ve been there, trying to juggle innovation with the well-being of myself and my team. It’s a delicate dance. A...

In my journey as a software developer, I’ve discovered something equally important as mastering programming languages: the impact of positive behavior. Excellence in coding is one aspect; how we interact, solve challenges, and support each other carries equal weight. Today,...

When I started paying more attention to how my team and I make decisions, I noticed something remarkable. The process went beyond simply choosing the next step; it was about us growing closer, understanding each other better, and building a...

Building trust goes beyond simple gestures; it forms the foundation of robust and efficient teams, particularly in the tech sector. When I first stepped into a leadership role, the blend of excitement and nervousness was palpable. How could I ensure...

Stepping into a management role isn’t just about moving away from hands-on coding; it’s about embracing a broader scope of influence on tech projects. I’ve always believed that steering a team towards success offers a distinct kind of satisfaction, quite...

If you’re like many in the tech world, considering a leadership position probably seems like a natural next step. More money, respect, and the chance to shape projects and teams—it’s tempting, right? But here’s the thing—not everyone should pursue that...

In the software development world, charting a fulfilling career path isn’t just about deepening your technical skills; it’s about seizing the right moments to step up. Picture this: you’re standing at a career crossroads, feeling confident in your coding abilities...

In the tech industry, leadership roles are vital for project success and team growth. Being at the forefront, especially in a role like that of a Lead Software Engineer, means more than just mastering code; it’s about setting the direction...

Have you ever found yourself struggling with a coding issue, only to discover that a colleague had the answer all along? This situation highlights a common dilemma in the tech industry: knowledge hoarding versus sharing. For developers aiming to advance...

In the tech industry, where change is the only constant, creativity stands out as a crucial skill for software developers. It’s not just about writing code; it’s about thinking differently, solving problems innovatively, and pushing the boundaries of what’s possible....

In the ever-evolving landscape of software engineering, collaboration isn’t just a buzzword; it’s a vital skill. For seasoned software engineers looking to elevate their careers, understanding the nuances of teamwork can be a game-changer. Many experienced coders, like you, often...

In the collaborative world of software development, team dynamics can make or break a project’s success. Among these dynamics, the presence of a toxic team member stands out as a particularly challenging hurdle. A toxic individual in a tech team...

In the fast-paced world of software engineering, continuous learning and career advancement are essential for staying ahead. As a software engineer, you may find yourself facing challenges such as being overlooked for promotions or being hired, not getting the exposure...

Hey there, fellow engineers, programmers and coders! Let’s talk about something we’ve all probably danced with at some point in our coding careers: imposter syndrome. It’s like that sneaky coding bug that creeps into our minds, making us question our...

Do you ever think to yourself: “I’m a software developer with technical skills, I can’t be a leader”. or “I can’t be a leader, because I’m an introverted software developer”. or “I can’t be a leader, because I don’t have...

How I Became a Leader in my Software Engineering Career I will start by telling a story about how I became a leader in software engineering. I fell into a leadership role not necessarily by choice but out of necessity....

Soft skills are a set of skills that are not directly related to a job or technical knowledge, but rather involve personal and social interactions and capabilities. They are crucial for success in any role, but especially in a software...