# Ingenious Insights from Non-Techies: Lessons for Engineers
Written on
Chapter 1: Unexpected Wisdom
Here’s a little secret: some of the most impactful engineering guidance I've received hasn't originated from fellow engineers. Instead, it came from non-technical individuals—friends, family members, or even strangers encountered in cafes who would struggle to distinguish between a CPU and a GPU. The unexpected part? Their insights frequently proved more beneficial than any technical manual or forum post.
Let’s delve into some key pieces of advice that have profoundly influenced my engineering journey, all courtesy of those who have never typed a single line of code.
Section 1.1: The Power of Collaboration
A few years ago, I found myself grappling with a particularly challenging project. You know the type: tight deadlines, a chaotic codebase, and sleepless nights spent trying to sort it all out. It was during this stressful time that a non-tech friend suggested, “Why not ask someone for assistance?”
Initially, I brushed it off, as engineers sometimes prefer to tackle problems alone. But eventually, it struck me—I didn’t have to shoulder everything alone. Seeking help wasn’t a sign of weakness; rather, it was a strategic move. Collaboration is just as essential in engineering as it is in any other aspect of life. Following that advice, I brought in some fresh perspectives and successfully completed the project.
? Pro Tip: If you're stuck, don’t hesitate to reach out to your team or the wider community. Whether it’s a question on Stack Overflow or a quick message in your project’s Slack channel, sharing the burden can lead to quicker resolutions.
Section 1.2: The Importance of Planning
Another enlightening moment came when I was lamenting over my chaotic codebase, and my dad—a contractor by trade—remarked, “You wouldn’t build a house without a blueprint, right?”
It sounds straightforward, but I’ve often jumped headfirst into coding projects without adequate planning. If I had a dollar for every time I did that, I could afford a faster computer to rectify my mistakes. Taking the time to plan your architecture before diving into the code can prevent countless hours of frustration later on.
? Pro Tip: Devote more time to strategizing, outlining your solutions, and considering edge cases before you write code. Tools like Lucidchart can be invaluable for visualizing your systems. Your future self will appreciate it.
Chapter 2: Emphasizing Simplicity
The first video, "Coding Was HARD Until I Learned These 5 Things," shares insights that can simplify your coding process and enhance your efficiency.
Section 2.1: The Value of Clarity
A cousin of mine, who works in marketing, once critiqued an app I was developing, saying, “Why is everything so complicated? Make it simple, or no one’s gonna understand it.”
Initially, I defended the complexity as part of engineering. However, I soon realized a crucial truth: if a product is too complicated, users will abandon it. After simplifying the user interface and overall flow, the app became significantly more user-friendly.
? Pro Tip: Whether designing user interfaces, APIs, or documentation, prioritize simplicity. If a non-technical person struggles to comprehend your work, it’s likely too convoluted. Refer to this guide on simplicity in UX design for further inspiration.
Section 2.2: Attention to Detail
My mom frequently emphasized the importance of details during my upbringing. She would remind me that overlooking the minor aspects could lead to major issues.
I learned this lesson the hard way when I neglected some error handling in a project. Everything seemed fine during testing—until it wasn’t. When the system failed in production, I could almost hear my mom's voice reminding me to focus on the details.
? Pro Tip: Always double-check your error handling, edge cases, and even the seemingly mundane elements of your code. They can prevent future headaches. For more on this, check out this post on defensive programming.
Section 2.3: The Benefits of Taking Breaks
Have you ever spent hours staring at a bug, feeling increasingly frustrated? A friend once advised, “Just step away for a while. Things will become clearer later.”
This advice might seem simple, but it proved effective. After taking a break and returning with a fresh perspective, I was able to resolve a bug that had stumped me for hours in just a few minutes.
? Pro Tip: When faced with a roadblock, take a moment to step back. Whether it’s a walk, a coffee break, or a quick gaming session, disconnecting for a bit can help clear your mind. For more insights, read this article on the advantages of taking breaks.
Conclusion: Embrace Non-Technical Perspectives
As engineers, we often believe we have everything figured out because we create the tools that keep the world functioning. Yet, it’s often the non-tech individuals in our lives who remind us of fundamental principles we tend to overlook. Their advice may lack technical depth, but it certainly carries wisdom.
So, the next time someone without a tech background offers you guidance, don’t dismiss it. There’s a strong possibility it’s precisely what you need to hear.
The second video, "Coding Was Hard Until I Learned THESE 5 Things," provides additional insights to further enhance your coding experience.