Recently I spoke to a friend that was contemplating to start the journey to become a developer. She asked if I had some tips on where to start learning a programming language. The question made me super excited and I started rambling about different programming languages and how these languages all have their time and place to be used. By the end of the conversation I think she felt both excited and a bit overwhelmed.
The conversation made me think about how I dive into new concepts myself. Personally, I learn new topics by setting very concrete goals. Once I have a goal in mind, I will attempt to gather the right tools (like programming languages) and narrow down the topic to get where I want. However, there is something that has become an issue with this goal-first approach: the pressure to be successful makes defining realistic goals incredibly hard.
I have this persona in my head that I want to be. It's not iron man, but it's close. The persona I want to be is "that super intelligent and successful guy that knows everything about computers, design, business and languages but who still is very down to earth and likable". However, the more I learn, the more I come to realize that I am far removed from being this ideal person that I want to be. Now when I pick a goal that I want to work towards, I feel pressured to set the bar higher and higher to come as close to this ideal person as possible.
As you can imagine, this leads to a lot of frustration when actually working towards said goal. Take the goal to "make an AI that predicts tomorrow's stock price movement, by classifying Reddit articles and comments of today". While gathering the tools and resources needed to accomplish this goal, I was extremely overwhelmed by the different kinds of algorithms, their applications, their hyperparameters, their math, their mathematical notation, their performance, the tensors, the gradients and the matrices. Even BERT and ELMo confuse me now. I feel like I am not moving fast enough, while the whole world seems to move at warp-speed. Everyone and their grandma are getting into data science and I am the one following others. All I am doing has been done before, and probably in an even better way.
Then I remembered that the person who actually was regarded as the most wise and successful person of his time (3000 years ago) had this same depressing feeling that he wasn't actually doing something new / innovative.
What has been will be again,
what has been done will be done again;
there is nothing new under the sun.
Is there anything of which one can say,
“Look! This is something new”?
It was here already, long ago;
it was here before our time.
No one remembers the former generations,
and even those yet to come
will not be remembered
by those who follow them.
~ Ecclessiastes 1
There truly is nothing new under the sun, even though we are working on artificial neural networks instead of on vineyards, gardens and parks (shame?). Luckily Solomon also wrote down what -according to him- was the purpose, the good, in all his work:
What do people get for all the toil and anxious striving with which they labor under the sun? All their days their work is grief and pain; even at night their minds do not rest. [...] A person can do nothing better than to eat and drink and find satisfaction in their own toil. This too, I see, is from the hand of God
~ Ecclessiastes 2
Reading this actually made me laugh and I remembered why I am so drawn to computers and development in the first place. It's enjoying the hard work to understand and solve logical problems. I don't even need to change my goals into something more achievable, I just need to remember to still have fun while working towards them. Just knowing this is super comforting!
Thanks for reading my first post here on Dev.to! It has been a goal for a while to write one, so at least this goal didn't prove to be too difficult to accomplish. How do you deal with the pressure to succeed in an area with so much competition? Do you sometimes set the bar too high?