In a world miraged by sensationalism, get rich quick consumerism and devoid of concentration, what you are experiencing is an existential crisis due to many factors.
TL;DR;
Passion breeds mastery. The bridge between passion and mastery is through optimal experience, or flow.
Without flow or passion there can never be optimal experience nor mastery.
I hope this minipost will enlighten many to make the good choice in life. There is a lot to say, actually, as of writing this I’m working on complex course which touches many of the points you’re facing (including passion!). As everything you do in life is a choice and an opportunity which leads to other opportunities.
First and foremost, you should be happy to be working at a company with Elixir. I’m sure most people who love Elixir are struggling to get it adopted at their companies. I for one have been searching for it for many years…
Those who tell you to “quit/change your job” probably have acceptable intentions.
The reason is simple, there is an enormous influx of people who want to become programmers or work in the IT field mainly because of the benefits and perks associated. Most switch because of the same benefits you’ve probably decided… Every time I’m asked for an input if someone needs to switch I tend to ask them a few questions such as:
Are you willing to dedicate yourself for 3 hours a day for 3 years to learn the basics?
Are you willing to dedicate a lifetime into becoming a craftsman and master your field?
As a programmer myself, I took quite a different approach to programming. I started out young out of the curiosity of how things are built. Struggling to learn things by myself through trial and error, there was no such access 17 years ago to information as there is today.
I progressed slowly and steadily by creating many personal pet projects. Most of which where experiments with various tools, programming languages or which seeked to solve a problem I or someone else had.
I slowly moved on helping small businesses automate by creating various tools. I took ownership of the whole process from inception, to creation, to deployment. Meaning that I needed to jump into the shoes of various roles which are spread into most organizations: Business Analyst, Salesman, Designer, Project Manager, System Administrator, Programmer, Front end/ Backend developer, DB Admin, Architect, Tester, Marketer, Manager etc…
Surely, for each position I had to learn new things, meaning I was open to experimentation. I’d read many books.
Another thing I did was always go against the majority consensus… For example, even though I had enough experience in Java and other mainstream programming languages where jobs were always near, I went with a different, more optimal language. No, Elixir didn’t exist back then or was just in it’s inception(no libraries, tools or community).
This enabled me to see the bigger picture and actually take pride in what I was doing.
I worked part time in the technical support field SOLELY because I knew that working in a company as a programmer would deprive me of my ownership liberty. The other part time I focused on becoming better and better at the full ownership system. Only when I felt ready, did I join a company as a senior programmer.
Note:
Had I acquired programming skills strictly from school and worked directly in a company as a programmer/IT-ist, I, too would have succumbed to the drawbacks. I still see people who aren’t actually interested in programming and it makes me sad.
What I recommend you read is Flow: The Psychology of Optimal Experience did I understand by Mihaly Csikszentmihalyi. Once i read it, I understand why I had succeeded and why most people fail. The person who referenced Drive… efectually referenced Flow, as 99% of the books have Flow in their bibliography, I know because I’ve read many such books along the way.
Without passion you will keep struggling and you probably won’t achieve the level of mastery a passionate person will have.
Don’t worry, Flow can be found in anything, and passion comes when you take ownership.
Csikszentmihalyi describes eight characteristics of flow:
Complete concentration on the task;
Clarity of goals and reward in mind and immediate feedback;
Transformation of time (speeding up/slowing down);
The experience is intrinsically rewarding;
Effortlessness and ease;
There is a balance between challenge and skills;
Actions and awareness are merged, losing self-conscious rumination;
There is a feeling of control over the task.
Mastery can only be achieved through constant improvement by reaching an Optimal Experience through Flow. You really do need passion for this.
It’s the same as when you see a doctor or nurse who is totally uninterested in what they’re doing. This may lead them to not take interest in providing an adequate solution for your problems or treating you as a “thing” instead of a person.
Without passion we wouldn’t have anything in the world as no one would be interested enough to go out of their way in spending large amounts of money, time and energy to pursue something. Think of the majority of people who discovered and inveted the things humanity needed, those who saved lives, wheren’t in the lucky position as you, to have a job to pay the bills. They worked out of passion.
You have various options:
The easy solution?
Expand your knowledge in various subfields of IT.
Have personal pet projects.
Do a MVP of an idea you have.
If you’re young and have the necessary energy you can always put extra hours aside to experiment. What I’d recommend is to switch to working part time. 4 or 6 hours and seek other things, experiment with various fields and domains outside of IT. Expand your entrepreneurial knowledge in Marketing, Sales, Statistics, etc.
You might be surprised to learn that working on becoming a master in 2 totally unrelated domains opens up various opportunities.
The choices you need to make in life depend solely you.
Take care, hope you’ll find the solution to your resolution.