![Nikola Mitic profile photo](/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fprofile_photo.11d61d16.jpeg&w=96&q=75)
So... Being married and having kids are two things one can expect to gain so much from.
Ofc, love and meaning and purpose but also it can make you work harder and more smarted.
It also, will make you sleep less.
I love you my little boy ❤️
Greetings! I'm Nikola, also known as Niko to my wife and Johney to my family. Feel free to choose your own moniker for me. Here, I present a collection of my random thoughts, providing an opportunity for you to discover more about me beyond my work as a UI developer. Rest assured, these thoughts are entirely my own!
So... Being married and having kids are two things one can expect to gain so much from.
Ofc, love and meaning and purpose but also it can make you work harder and more smarted.
It also, will make you sleep less.
I love you my little boy ❤️
Speaking from the heart ( hope it won't backfire )... ❤️
I am far from your best ever (Google, Meta, Deep Mind etc) friendly developer.
But I do believe that I left no company, team, or client dissatisfied with my work and results.
I acknowledge the fact that I must and can be better tho.
Here comes the meaty part, you ready? 🥩
I am suspected to have dyscalculia, something that has been a challenge for me since forever.
Things I find difficult on a day to day basis:
etc
You might assume (rightfully so) that I will not be a decent developer, however, I might not be the most talented out there, but I am focused and I work work work....
I use calendar for everything, task manager for absolutely everything (I would literally put task "think about how you can solve <insert problem>"). I never missed a single meeting as again thank God we have calendars.
I recognise that I have to do more to be the average at best, but I do very often perform above expectations. There is no feedback from my line managers that was ever concern about my professionalism, my skills and my results in a negative way. As a matter of fact, most of the time I am being told to take a step back, not to push that hard, not to over achieve as I tend to experience burnouts.
Why am I talking about this now?
Because I am angry, sad, frustrated and hurt by in which direction our industry is going, it has been in a downfall for some time already, which is weird because with all the super cool stuff we are building with the AI you would assume the opposite.
I am seeing a massive trend of companies who are as a first interview doing IQ tests. To make it even worse, test is not your typical IQ test, it is based in quick math, testing your so called "numerical thinking" that one people like me have a huge problem with.
So yes I failed one, more then one...
I won't fail any moving forward, as, well, I won't be taking any. 🙅♂️
Questions I have for our industry?
What happen with diversity (neurodiversity in this case) efforts?
Were they ever genuine?
Reasons why I experienced burnout many times is for example being denied growth opportunities even though I fullfil all the expectations set by my manager.
Being assigned on tasks which are extremely simple and not challenging.
Having to deal with things which has nothing to do with product / software development, example long discussions about how to change git branch name.
Incompetent leadership, and incompetent employees who are blindly following, creating terrible software development practices harming the business but somehow making stakeholders happy, until, well layoffs...
By far the biggest reason I burned out is because , I care about my work, I care about the customers, I care about the people and I absolutely put business success at the top of my priorities but somehow non of those qualities are being valued, appreciated and never reworded.
I had terrible micro management, a tone of responsibilities at certain companies and a lot of work. Never have I ever experienced burnout due to "too much work".
Sleepless nights, cold sweats, back pain and more serious symptoms which I'm not comfortable sharing ALL stopped when I reduced how much I care.
I feel like they won.
Just like any other micro services MFE are not a tool to solve engineering problems but rather they are engineering solutions to organizational problems of scaling.
This is crucial to understand for anyone attempting to implement their web using micro services ( again, of any kind)
I have been a part of organizations which required MFE but would fail to see the benefits, worse than such I was also part of organizations which employs MFE for the sake of scaling its product offerings, which again is totally not what MFE are aiming to solve.
MFE brings a lot of challenges, I mean a LOT. They absolutely must be justified by organizational challenges of scaling in order for organization and users to actually benefit from it.
We should never forget MFE aim to streamline product development faster (in case where they are needed) if you as an engineer or product owner feel like you are being slowed down by the challenges MFE brings, it's a sign your organization made a mistake and you really didn't needed MFE to begin with.
Be brave and abandon the ship.
Right tool for the right job. I hope you don't mind me, I feel responsibility to share view after so many sometimes irreversible problems wrongly adopted MFE can bring.
I have been disappointed in tech industry for a while now. I have decent amount of experience by now, and I'm tired of people who don't care about their work.
There's a time and place for rest, less aggressiveness, less potent work if I can say so, as everything goes up and down.
Sometimes, admittedly best course of action is to do something none optimal.
But always that "sometimes" must be checked in, heavily documented (paper, or tribal knowledge). That "sometimes" becoming "often" is hurting us all. Especially employees.
We want companies to succeed. And duck typing your solution, low efforts to no efforts at all is proven to bring no results!
I'm all for being pragmatic when it comes to changing one perspective of way of working. However, there must be a line drawn which must not be crossed.
Having those values in mind, how many duck typing you should really allow yourself?
Very little actually.
Now, I understand some companies are just pretending to be engineering based when in reality they use us as a signaling for investors.
However, even for such companies, time will come and they should realize sooner than later that engineering is about solving problems and companies are just about the same.
You are only fool once!
Once I asked in front of a many software developers what is "AWS"? ... because, well, I did not know!
Everybody was silent and in a state of shock. But one person. That person was laughing at me for not knowing. And said: How can you not know that? and continue with a almost hysteric laugh.
It was at the begging of my career. God knows how stupid that made me feel. But hey, now I know what "AWS" is.
"#amazinglywildscripting right right?"
There are days you just want to quit. Whatever is that you are trying to achieve doesn't seem to be working out for you.
It sucks.
I'm having those days at the moment. And they keep coming in more frequently as I further push through the challenges.
I have to remind myself that quiting is like a painkillers. It provides immediate relief. But it doesn't bring lasting peace.
To address the underlying problem you must WIN!
Or at least play a different game. One where rules are know and the play is fair.
Never give up!
You do not want your coo-worker to lose a fight with you! You do not want people you menage to lose a fight with you! You do not want your team to win the other one!
Please trust me, you do not want to WIN over anyone. Share the values build that product and respect diversity in all of its aspect (especially personality as it is the highest form in which all other are reflected).
We should be wining our customers, user and market!
Fights are not among ourself!
Understand this dear leaders and senior manager and everyone else
Nobody works at their best (or even good enough) when they are beaten down!
Rejection after rejection after rejection... this is so hard.
Seems like this section of my website turns into somehow of a public diary. I know what I am about to write has zero relevance for my future clients and employers but I must say:
I love my wife so much, she make going through difficult times fun, her faith is unbreakable and her breakfasts are the best ❤️
I am blessed to have you in my life. 🥰
I want to grow organically rather than opportunistically!
So many of us are bad at leadership and mentorship because we are taking chances rather than letting the chance take us.
Not to say that you can't be good or even great if you force your growth and take some people out in the process, however it's not healthy for your company's culture and will eventually lead to toxic environment.
If AI is making developers so much more productive (which I believe it does) why can't we have 4 days working week?
Some say AI makes us 10x more productive. Surly we can cut working hours and still enjoy massive spike in productivity.
Not to mention, 4 days working week proved to make people more productive. Combines with massive gains in productivity with AI, it is a no-brainier for me.
Heroism should not even be a thing in tech / product teams IMHO.
So far I have been seeing such behaviours where people who put the fires are the ones who set the fires in the first place.
If a manager / team lead / supervisor fails to mark such behaviour it is a sign of a bad leadership in place.
If things are calm and smooth it is because bunch of smart people worked very hard for business to be able to request changes / new directions in a very predictable and stable way.
Calm should be celebrated and reworded.
If I may make a parallel to my personal life, I always like to say boring holidays are the best. Because it means they are well planed and there are no surprises.
I do believe that software developers should not be like a swiss knifes. Meaning, we should all be specialised in something. With that being said, we should not be specialising too deep!
If, for example, you are frontend developer. Do not specialised in:
There is always exceptions to this "rule" you might want to specialised in Webgl or Webgpu, but this probably means you are not web developer but game, and you are a part of another higher level specialisation.
If in your team, you have people who are strictly or mostly:
You have a problem, your team is vulnerable!
You created knowledge silos nightmares, and we all know how dangerous that is for your organisation.
Instead, specialised WIDE not DEEP!
I'm dying not to be code monkey anymore. 🐵
still waters run deep
No finger pointing ☝️ doesn't apply on one's behavior! It means, I'm not critical about you as a human nor I'm devaluing you, I'm simply and very careful labeling your behavior.
In work context this is very important. Otherwise, you get into a risk of cultivating toxic positivity environment. Or even worse, you are implementing collective punishment as mean to solve individual behavior!
We can do better.
If you are not capable of confronting troublemakers, you are, in all honesty, not deserving of rewarding individuals. Probably you are not rewarding anyone either anyhow.
You might not care about it, but that does not make it any more important and damaging to the team you lead.
It took me a few years to learn to speak up! It took me another few years to be put down and shut up by the very same people who would encourage me to speak up.
Conclusion: Most leaders do not want opposition thoughts and ideas; they want you to conform with theirs, it gives them leverage, which they exploit to their advantage, ofc. They realize that without the support of their subordinates, they are not doing their job well.
So, you do not want to promote your best and most useful developer out of fear that you will lose that person as the most valuable member?
So many questions I would like to ask you. Like, why do you rely on one person to deliver great work instead of a team? Or, why do you punish their great work by not promoting them?
What promotion means to them and your organization might not match, but if it does, here is why you are making a HUGE mistake and why you are missing potentially the best decision you as a manager can ever make!
By promoting great contributors, you get to MULTIPLY them!
Yes, that's right. If you promote great individuals, you get to have them as mentors; furthermore, the rest will follow and be motivated to achieve the same!
Be a smart manager, be a good one, do your job. BE A LEADER!