A ways to be a more effective engineer

Last year, we saw a trend named the Great Resignation. Sometimes, to get a better salary, there is nothing else but a job change. However, there are also ways to make significant pay raises for those who stay in the same job.

I have often indicated my thoughts on how to start working well in a new place. Today, however, I would like to point out what, from my perspective, can be done to be perceived as a better employee in the place where we already work. Especially if we want to show that we deserve additional remuneration. Unfortunately, there is no guarantee that it will work, but it’s worth a try. If the current employer does not appreciate it - his loss! We can always try our hand elsewhere, and the experience gained can significantly help us.

Social media is not a way to get things done

Social media is not a place to pour regret on the employer. Even if you can’t get along at all, don’t write how bad he is on your profiles. You can indicate that this is your private profile. Theoretically, it is; theoretically, you can indicate whatever you want there.

However, no one wants to work with whims or people considered “toxic”. Especially if you point out the mistakes and mistakes of the employer instead of trying to change them. Also, from the perspective of your new employer, you may not be entirely appreciated. Apart from making it difficult for yourself to change jobs, you will almost certainly not change anything by this behavior. You will win much more if you try to talk to your boss about what is bothering you. It probably doesn’t even know about your feelings!

Understand the needs and point of view of the organization

Let’s start with a common problem that probably affects every IT project. It is technical debt. How is it possible that there are so many presentations on this subject, so many entries on this issue? And we still have a problem with that in our projects.

All these conferences, trainings, blog posts are great as a dose of motivation and inspiration to deal with this problem. You can learn a lot of practical advice from them. As a place to study, they are really great!

However, from an organizational perspective, the issue of technical debt is often not as terrible as developers think. Your organization rewards what you actually do and what benefits it. Even if it is far from the beautiful-looking summaries, you can read on social media.

Find out how your organization works

It is the fastest and most effective method of achieving success. Each organization has its own processes, a specific way of operating. Some behavior may be welcome first or maybe barely acceptable in another.

Think about what skills are most needed in your current position. Could you learn something useful for your work and what you are currently missing? Make sure you build lasting relationships with other team members so you can expect support when you need it. Sometimes it is the details that determine success or failure.

For a long time, I was unable to look at problems from the business point of view. I’ve always tried to solve them as technical problems. It was especially problematic when there were conflicting priorities or expectations.

The same is valid for making technical decisions within the context of an organization. There are situations when the best solutions are not implemented due to our limitations. Sometimes it is necessary to implement changes that are not in line with good practices to save the company and gain some time required for all these fundamental changes.

Act local, think global

Do you want to change the entire, extremely important business part of the system? Please don’t do it right away! First, start with small changes to mitigate the risk of errors and problems.

It will also help to strengthen your position in the company. The idea of starting with low-hanging fruit and pointing to successes is better than a “somehow it’ll be” approach. With a strong personal brand (recognition and trust), you can take on further changes.

You will have a lot of battles at work. Not all are going to be won. Some do not even pay off. Choose wisely what you can engage in, given your limited time capacity. It will reduce the feeling of disappointment with the project and save you from professional burnout.

Appreciate the power of soft-skills

Although both are extremely important, a distinction is made between soft and hard skills. Focusing solely on technical issues is not an excellent way to get promoted, nor is it a better understanding in your team. The most important skill of an engineer is the ability to learn quickly. It applies to both technical concepts and social engineering concepts. Communication, understanding the other party and understanding what they want to convey without saying it directly are extremely useful skills.

I am not an expert on these topics. It’s even hard to give me a list of these “soft skills”. However, I am convinced that this list would be different depending on the person, and each one would be correct. When it comes to universal ones, you will need good communication with the clients to understand their needs and point of view. Often the clients are not able to convey what they need. Thanks to your involvement in the entire process, you can show yourself as a discussion partner instead of the usual contractor of his orders.

Understand the hierarchy (formal and informal)

Most companies have a clear formal structure. At least, it can be assumed that there is some division with the president/boss at the helm. Below it can look different.

Apart from the official, formal hierarchy, there is often the less formal one. It is especially noticeable when a specific group of employees has been in the company significantly longer than others. Often they formed the foundations of the system you are currently developing.

Both hierarchies can affect your work. Occasionally, these elders want to show their impact and block changes they think are unsuitable for the project. Even if for you they are the best that you can think of.

It can be much easier to implement if you find out who might be your ally in these changes. Instead of swimming upstream, you will have the enormous support of local “authorities”.

Learn to work in the big ball of mud

Most organizations value and reward people who “just get things done”. Many times it is not required that the changes are well described. In all likelihood, most of the projects you will meet in your life have evolved over the years. They are not well documented and often do not have good (or no) tests.

You’ll be more productive if you learn to navigate and work in these codebases. It can be crucial to understand how to quickly build a model of linkages between modules in your head. It can help you reproduce errors without complicated local configuration and gather enough information to continue your tasks.

It would help if you felt comfortable with the mess. However, it does not sound tragic. You will become much less nervous and appreciate small changes. It will allow you to change the project to a little better than yesterday gradually. Ultimately, this will allow you to be in a slightly better place than you started, which I wish you so much.

Get new posts and extra comments

You'll receive every new post with extra unpublished comments available only to the subscribers!

I won't send you spam. Unsubscribe at any time.