Truth is, most of us do think above the average of ourselves, especially computer science people.
“I can write efficient bugfree code running on a 2MB RAM microcontroller without memory leak, but I need a bigger project to prove myself, the current one is stupid and way below my level.”
“In the theory, I know the newest neural network architecture out there can achieve both 96% at precision and recall, why should I even care to do some stupid CSV data cleaning? Time will come when I can show what really hides in me.”
“I spent 5 years of my life studying algorithm designing to become another CRUD app developer? My work is useless and I am not changing the world as people promised me before my studying.”
The more hurtful truth is, the “time” may never come at all for most of us. Most of our time will be spent on maintaining legacy code because developing a whole new system is not economic. A logistic regression model with only 85% accuracy but a high business value will be needed more than a 99% accurate but useless neural network. Dynamic programming most of the time will be useless if your customers just want to automate their shipping process.
But can we still have pride in our work even when it is not (yet) world-changing? Absolutely. You can only care about the work which you are proud of. And only when you care about something you will be willed to sacrifice. Lack of sacrifice for the work makes a person lazy and ignorant. Think about it, how should a person develop his skillset if he spends at least 8 hours each day doing something he would rather not do at all?
Seeing an unnecessary loop which can be replaced by a set, even when a set may not increase the speed that much? Do yourself a favor and make the implementation optimal. Seeing an unclear error message (even when all unit tests are green and QA gives you an okay)? Take some seconds and think of another better message, you can save another developer’s hours of work. You have always been afraid of pointers? Buy your self the “C programming language” and spend some time studying the book, I promise you, you will never have another nightmare about pointer arithmetics.
One more important aspect; what is worse than not getting a chance at all to prove yourself? It is getting a chance but failing it because you didn’t even prepare yourself properly. After years of doing your job without any intent to improve your craft, your skill will become rusty. Things you think you know well of will become extremely hard to implement or even explain to another person. You are excited to explain how cool computer science is to your kids and want to show them something they can solve with programming, but then you realize you can not even implement a simple binary search without googling it every 5 seconds. Yeet.
If you don’t do the work, you can’t be surprised that you are not getting the results. Take care of your little project today. Learn something more. Do some extra work. And stay curious.
The next time you speak with somebody working in the same field, tell this person your newest side project, no matters how meanless this side project could be. Explain your code with energy and enthusiasm, tell them how proud you are of the solution you came up with.