UX Chronicles: The Office That Time Forgot – Why Microsoft Must Rethink User Experience Now

Because software is supposed to make life better—not harder. To launch this new series on user experience (UX) in software—where I’ll explore both brilliant designs and painful pitfalls—I’m starting with a product I rely on nearly every day: Microsoft Office. Years ago, I wrote an article titled Modernizing Microsoft Office: A Call for Innovation in … Continue reading UX Chronicles: The Office That Time Forgot – Why Microsoft Must Rethink User Experience Now

UX Chronicles: Why Developers Should Care About User Experience (Yes, You!)

User Experience (UX) focuses on the emotional and practical interactions users have with software. It emphasizes designing with the user in mind, which is often overlooked by engineers and managers. Effective UX involves usability, accessibility, performance, and more. Improving UX enhances user satisfaction, loyalty, and overall product success in software development.

dotNetDave Says… Don’t Build Frankenstein’s Monster Applications!

The article emphasizes the dangers of creating disjointed software systems, likening them to Frankenstein's Monster. It warns against overengineering and using mismatched technologies, which can lead to project failures. The author shares personal insights and experiences, urging teams to prioritize coherence and maintainability in their software architecture.

dotNetDave Says… Soft Skills at Conferences Matter—A Lot!

The author reflects on two decades of speaking engagements, emphasizing the importance of soft skills in software engineering over mere technical knowledge. They argue that communication, empathy, and collaboration are crucial for career growth. While major conferences often overlook these topics, community-driven events showcase their value, urging attendees to advocate for more sessions on soft skills.

The Untapped Power of Veteran Engineers: Why Companies Are Overlooking Their Most Valuable Assets – Part 2

The article emphasizes the critical value of veteran software engineers, highlighting their extensive experience, technical expertise, and leadership in innovation. It addresses age bias in the tech industry, advocating for the recognition and utilization of senior talent. Companies that embrace this perspective can significantly enhance their performance and resilience.

dotNetDave Says… Avoid Going Across the Wire Until Necessary!

Network calls create significant performance bottlenecks in modern applications due to latency and unpredictability. Developers should prioritize chunky communication and batch requests to improve efficiency, as demonstrated through API development experiences. Monitoring usage and enforcing standards can enhance performance, emphasizing that optimal design must consider the entire stack, including network performance.

The Untapped Power of Veteran Engineers: Why Companies Are Overlooking Their Most Valuable Assets – Part 1

Veteran Software Engineers, with over 25 years of experience, are invaluable assets to any team, offering deep technical expertise and strategic insight that enhance organizational success. They excel in future-proofing software, managing technical debt, and mentoring less experienced engineers, leading to faster ROI and improved project outcomes while fostering a collaborative work environment.

Stop the Leaks: Properly Disposing Objects in .NET

Improper disposal of objects in .NET projects can lead to severe memory leaks, causing performance issues and crashes. A case study revealed a company spent over $25,000 to resolve these issues. Recommended practices include using IDisposableAnalyzers and custom extension methods like TryDispose() and DisposeFields() to simplify memory management and prevent problems.

Surviving and Thriving in Tech: Timeless Advice from Three Decades in Software Engineering

In this article, a seasoned software engineer shares insights gained from three decades in the industry. He emphasizes continuous learning, staying marketable, developing soft skills, engaging in the local programming community, and working on personal projects. He also warns against companies that discourage community involvement and invites beginners to comment on future article topics.

Maximize Efficiency and Savings: Stop Reinventing the Wheel in Software Development

When developing software, prioritize speed and cost, but consider the impact on meeting consumer needs. Leverage existing solutions like Microsoft .NET and third-party tools to avoid costly custom development. For enhanced productivity, explore UI frameworks and essential tools like CodeRush and GhostDoc in Visual Studio development. Embrace third-party products for better quality code, faster feature development, and cost savings.