I totally agree with you. When I was an incoming freshman in college, I decided to major in Computer Science and Engineering. Learning to code was a complete struggle. Learning the syntax of Java felt as if I was learning another language, and on top of that, I was learning the foundational concepts for computer science. The class was giving me complete headaches, and made me question my decision for my potential career path in the future: “Can I really be a software engineer?” I decided I needed help and I went to ask for help from my professor. The concept that was throwing me off was arrays, such as accessing an element via an index, what it meant for an index out of range error to occur during compile time, and how to do calculations such as sums, multiplication, and averages. As of now, it was really some basic stuff, but back then it wasn’t.
During office hours with my professor, I asked him to help me with arrays. I wasn’t getting it, and out of frustration he said, “If you can’t really get this, you shouldn’t be a CSE (computer science engineer)”.
“But, I want to be like everyone else. I want to work hard and be like everyone who understands it,” I replied.
“Well, hard work doesn’t get you anywhere,” he firmly stated. My professor and I came from different spectrums. He always stated during lectures that he was a super genius and that things came to him naturally. I took complete offense to his statement because I descend from hard workers. My grandpa began to work in the fields when he migrated to this country. He later learned to weld and opened his own foundry, and the income from his small business gave him the ability to take care of my mom, aunts, and uncles. My dad worked in the fields as a child and worked hard so he and my siblings don’t have to do that our entire lives. My mom was a single mother and put so much effort to raise my older half-siblings. Everyone in my family worked hard because they wanted to ensure the next generation have better lives. That led me to reply to my professor, “Well, I come from a long line of hard workers. They did everything to ensure that I make it here. It may not mean a lot to you, but it means a lot to me and them.”
I left his office hours with a lot of motivation to prove him wrong. I put in a lot of hours to studying and practicing programming. After five years, I realized I not only proved him wrong, I proved to myself that I can be a Software Engineer. I’ve done research in computer science, and I have complete two software engineering internships.
Thank you for sharing your thoughts about accepting failures and moving forward in order to improve, as well as accepting the fact we, as developers, will always face technical challenges. I completely resonate with it, and we’re not alone in these struggles. Thank you! :)