Resign or fight? About unnecessary frustration of developers

New Years Resolutions

The year is coming to an end and some people are already planning their New Year‘s resolutions. In addition to many personal things, some of you are also wondering at the end of the year whether you are happy in your current job – IT people do that like everyone else.
Of course, we are doing well compared to many other industries. Nevertheless, we all know that we just have to raise our hands once and can start working somewhere else tomorrow (let’s call it a shortage of skilled workers for the sake of simplicity).

So what exactly motivates us to stay in our current job and what motivates us to change our current job?

The others are (not) better!

Changing the job is always a big step. We are promised heaven on earth in job advertisements – but is that really true?
For many of us the stories other Devs* are telling us are mostly decisive – at meetups, at conferences, …. A cozy chat usually shows us what we actually like or dislike in our current position.

So if my employers behavior is obviously below average and Person X tells me over a beer that exactly my pain points would have been blown away if I just change my job to their company, then I would tend to do it.
Once the pain point has been identified, you can decide: fight or resign.

If I make an effort, I can(‘t) change things here!

This point is also very much related to the next paragraph (appreciation).
Let‘s say I noticed what bothers me – maybe I’m even very lucky and can talk to an experienced team coach or agile coach about it. Then they might ask me something like “What would have to change so that you don’t want to resign your job anymore?” and after two days I might have the idea that a monthly internal hackday would make me really happy.
We could all work together on cool projects for a day.
Admittedly, the more “rusty” the companys processes, the more difficult it is to convince the supervisor – because in the worst case scenario, they can only see one day lost for the whole department.
But let’s assume the opposite: The boss wants to try it at least once. Everything is working great, new technologies are being tried, someone is bringing their Rasperry with them and the meeting room is getting a clever booking system right at the door!
The hackday becomes an integral part of the corporate culture. Maybe some colleagues even remember that that was my idea. But it doesn’t really matter: I can change something here if something bothers me or I just have a brilliant idea! So I have no reason to resign my job immediately if something bothers me, because I can change it instead and stay in my familiar surroundings at the same time!

(Lack of) appreciation and communication

communication

Let’s construct a (seemingly) simple case here and say: What bothers me is that I always have to go to the HR office to get coffee because the coffee machine is there.
Then I can go to my boss and tell him that it bothers me. Or even better: I tell them what bothers me! I don’t like the HR people but always have to talk to them? Is the way too far for me and my knee hurts? Does that pull me out of the “focus tunnel” too much?
And it is even better if I make a suggestion straight away. For example, could you please place the coffee machine somewhere in the middle of the office space?! Or buy a second machine for the IT department?!
The interessting thing is that the actual solution has less of an impact on my well-being than the reaction from the leadership team.
If they would now explain me in a calm way that HR has financed its machine itself and that putting it in a different room would be as unfair as buying a new one – okay. And wow, it‘s really nice that HR always allowed me to use their machine! They’ll get cakes from me soon 🙂
But if the reaction is simply “That doesn’t work!” (adorned with how ungrateful IT is), then the world would look very different!

The result is the same: If I want coffee nearby, I have to bring my own machine. In the first scenario, however, no straw was added to the camel‘s back (nice colleagues, fair bosses) and in the other scenario it might have been the last straw (unfair bosses).
No matter how stressful it is – as a manager you have to communicate and be appreciative!

Financial

For me personally, this was almost the last straw which broke the camel‘s back. I would like to write a little more about this here.
Almost every day I get messages from employers and headhunters who are looking for me as a new developer for other companies: With more responsibility, more money, more scope, more vacation, more flexibility, more of something.
After about 2 years in my company, I had an annual feedback meeting in which, among other things, the next annual salary is negotiated.
I earn enough for my desired lifestyle.
And I guess: That’s exactly what most of us IT professionals want. Being able to pay for the choosen lifestyle without any worries.
Back to the story: Sometimes my boss annoys me, but 95% of the time we make all decisions within our small team anyway – so my boss and I don’t have to be best friends. Everything was fine so far. So during the annual feedback (which is a much too long period anyway) I wanted to at least compensate for inflation and everything would have been fine.
So we sit down with our filled questionnaires and it turns out that there are no major disagreements. Everything is going well. My boss had no single major criticism. And yet I shouldn’t get any financial improvement, no more vacation days, not even a 20 bucks amazon voucher as a bonus.
And then I was mad – I have been working for this company for 2 years and am not worth more than at the beginning? There was no point of criticism that explained this behavior and I knew that other colleagues had received a raise. Yes, dear employer, we Devs talk about like this, even if not necessarily always using concrete numbers!
If my boss had given me a reason for their decision and offered me something, everything would have been ok. Instead, there was no justification and arguments were simply ignored. After talking to HR, I tried again after situation calmed down a bit and asked the boss if the company was having trouble or if there was another reason. Whether we should negotiate a different improvement instead of money. Same reaction: “Nope, it is just not possible.”
Well, and then I had a trial day somewhere else. In my view: completely unnecessary.

This is (not) my family!

One of the main reasons why I’ve been with my current employer for so long is definitely my team!
I wouldn’t go that far and call it my family. But we are similarly diverse characters and familiar with each other:
We are a very mixed group – both culturally and privately. We have very different hobbies and different views on many topics. And we talk about it very openly and honestly. To be honest, we haven’t found a taboo topic yet. Whether menstrual cups or “Does that really have to be a ValueObject or is an integer enough?” – we can speak respectfully about everything and at the same time often appear very disrespectful to the outside world but among us we know that “your mother!” is not an insult. And yes, from the outside it has led to .. “Inquiries” a few times.
For me personally, this somewhat crazy constellation is a reason to stay.
If we were a faceless crowd in suits, I would most likely have resigned.
But since we have a certain share of our own recruiting process, it won’t happen that quickly 😉

In addition, our employer supports cross-departmental activities.
On the one hand we have an open space day, in which people from different departments take part. Then you always find out what other problems are currently happening and usually someone has a good tip, experience in the field or a small MVP is planned and built. An action that would not exist without the efforts of our Scrum Masters. I appreciate it very much.
On the other hand, we support a wide variety of external activities. A few sports are free and the company contributes to other events (painting courses, wine tasting, …). This is how you get to know people from other departments privately – especially in quite anonymous metropolitan areas and especially for newcomers, that’s really good.

I’m interested: Why are you staying in your company? Do you have things that you particularly appreciate at your job? What was your last reason for changing the job? What ae you missing in this article?
Feel free to post your answers using the hashtag #PHPamily!

*) This blog post was published in German and English on different platforms. I tried (especially in the German version) to use as many gender-neutral terms as possible without disturbing the flow of reading. This is not so easy. Where this has not been successful: Of course, all job descriptions mentioned in the article are meant to be gender-neutral.

Put Your Name Out There

Ever since I decided for PHP programming language as an ultimate weapon of choice for my software development career, I immersed myself into it. I got online, joined forums, participated in discussions. I spend a lot of time on Twitter which for me is by far the most important knowledge resource. In parallel, I attend meetups and conferences in my area.

Working full-time will earn you a salary, but most of 9 to 5 jobs won’t afford you enough opportunities for staying up to date with the latest technology trends and best practices, which is crucial for keeping in step with times in our industry. All it takes is to allocate some time and effort to invest in yourself – read books and articles, work on side projects, contribute to open-source projects, attend conferences. As a bonus, chances for improving your visibility and reputation in the community are opening up.

Below are my experiences in terms of professional development outside of regular work, in an attempt to become accomplished and recognized PHP expert.

Local user groups

It is very likely that there is a PHP user group in the area where you live. If you don’t believe me try finding one. User groups gather enthusiasts, like-minded people who share the same passion for programming. They act through all sort of activities, ranging from moderation of online discussions and publishing educative articles, to organizing major events that attract hundreds of participants.

Those are the characteristics of a user group local to my area – “PHP Srbija”. Upon joining, I was primarily involved with writing articles on a group’s website, but I eventually found myself in the role of a conference co-organizer.

Being a member of a user group who actively takes part in achieving the goals of the group can be a springboard for improving visibility in the community. In my case it is being a co-organizer of the annual “PHP Serbia Conference”. I met and formed relationships with some of the most prominent experts in the PHP community that we hosted as speakers at our events.

Reach out to a nearby user group or start a new one, actively engage in its work, meet fellow developers, make new friends!

Blogging

To a large extent, programming is about exchanging and sharing knowledge. One of the ways to make a more visible contribution to this matter is to run a blog. I got into it recently when I started my own blog with the idea of sharing experiences and thinking arising from my professional career.

The benefits of a decent blog post are mutual – readers learn something new, useful from it, and the writer has it as a timeless note to get back to when needed.

Starting a blog is quite simple, given the number of tools and platforms that are available. WordPress is by far the most popular blogging platform nowadays. Blog hosts such as Medium are becoming increasingly popular. If you prefer to write texts in Markdown like I do, Jekyll is a leader in static website generators category, but I would recommend Spress or Sculpin simply because they were written in our beloved PHP.

The real challenge is the content with which you need to enrich your blog. But don’t worry, no one expects you to write on a weekly or monthly basis. Best blog posts are born spontaneously. So whenever you have something interesting on your mind, solution to the problem you came to or a cool library you’ve just discovered, or if you simply want to make a note of something, write a blog post and share it with others.

Open-source involvement

Open-source paradise has saved us countless hours of work, allowing us to build businesses on top of quality libraries and tools that are available.

Instead of being a greedy consumer and mere observer, I decided to activate myself in this field as well, by contributing to projects that I like and use, like Zend Framework for example, but also publishing my own work.

The principle of making contributions is simple. If you’ve come across a bug when using a library – fork it, fix it, and open a pull request to the library’s repository. Also, if you feel some functionality is missing or can be improved, propose changes. On the other hand, whenever you write some reusable component, release it to the wild and promote it, because someone might find that piece of code useful.

By engaging in the development of open-source projects, you improve your programming skills by striving to write quality and testable code. Maintainers are very passionate about their projects, and can be very demanding when reviewing pull requests. Don’t take this criticism as malicious, but rather look forward to it and be positive. If you think about it, you get a free code review by an expert and valuable advice along the way.

Public speaking

Most people can very well express themselves through writing, but public speaking is a completely different dimension. It’s fairly easy when the audience is made up of few close colleagues, but doing it in front of 50+ strangers at meetups or conferences takes a lot of skill and self-confidence.

I broke the ice at the local user group meetup two years ago. Of course, it didn’t go smoothly the first time, but I got the hang of it after few talks at meetups that followed.

Culmination of my public speeches happened in November this year, when I gave my first ever conference talk at PHP Central Europe Conference. Surprisingly, it went better then I ever imagined it, and you guessed it, I blogged about it. I consider this one of my greatest successes so far, as I believe that being a conference speaker is a major step forward in the career of every developer.

Some people are natural talents for speaking, but like with any other activity, it’s all a matter of practice. Therefore, the best advice I can give you on this subject is that you go to meetups and conferences, and see how other speakers do it. Learn from the best.

Return on Investment

After a few years of engagement in all these different fields, I doubled the number of followers on Twitter, developers use my open-source libraries, and I have a considerable number of visits to my blog, especially after publishing a new post. I successfully carried out my first talks, and I progressed to the conference podium. The very fact that Andreas gave me the opportunity to express my thoughts on this website and recognized me as one of 24 people for this year is a great privilege and honor.

There’s no doubt that my visibility in the PHP community has increased, and I believe that this fact was crucial for accepting my first conference talk proposal. I would point out that the two exceptional individuals who contributed most to my increased visibility are Marco Pivetta, aka “Ocramius” and Chris Hartjes, aka “Grumpy Programmer”. Some of their re-tweets spread my thoughts and work which then had a significant echo in the community.

If you are wondering where is money and profit in all of this, try looking at things from a different angle. There are more and more companies that ask for GitHub profile URLs instead of resumes. Almost every company appreciate developers writing publications either on their own blogs or specialized websites and online magazines. Being directly involved in the organization of big events such as IT conferences is a great thing in itself, but also a big plus in the eyes of employers.

Believe me, the chances for employment are much higher if you’re active after working hours, and at the same time you’re remaining employable. PHP community can help in achieving your personal goals and ambitions in many different ways, so embrace it and get the most out of it.