How I changed my job

Recently, I’ve made a job transition. In this article, I’d like to share a bit of what I’ve learned along the way.

https://www.cpl.ie/Library/CPL/cpl.ie/Blog/Finding%20Your%20Next%20Job/Changing-jobs.jpg

Who I am

I’ve recently relocated myself to Berlin from Tokyo, Japan. This is my first time changing a job since then.
Though sizes and locations differ, my job title itself hasn’t changed much over last five years: I’ve been doing a software development at various scale.

Before the move

I assume you’re a curious, open-minded developer. You seek for new opportunities because there’s always more things to learn than one can possibly fit into a particular job.

You might even have felt that current workplace isn’t helping you grow. You feel some tasks are repetitive.

It had happened to me several times. And even though the feeling won’t lie, you should always step back and think carefully before you actually take the path of seeking another job.

Who is to blame?

Software development is a technical job. You do what you do because you’re specialized in this specific type of work. So, it makes sense that the job demands you to do the same thing over and over again.

In that sense, maybe it’s your responsibility to find a new angle in seemingly repetitive tasks. God is in the details. Stakeholders might not notice the subtle improvements you make right away, but the attitude that you crave for improvements will eventually pay off.

Think about your original motivation

At this stage, what helps you determine whether you should change your job is to think about your original motivation.

What is it that you had hoped to gain when you decided to take the job? You might feel stagnated, but does that perspective change if you think about it in longer timeframe?

It’s difficult to judge this alone, as you’re probably busy getting things done every day. Talk to you friends. Talk to your colleague, and if possible, share your feeling with your boss.

After going through this clarification and you still feel that you should be moving, then it’s time to start the job hunting.

Make job hunting your daily task

Getting a job offer is not something that happens in a week (even so, you should think longer). It’s about meeting right people at the right timing. So, it’s better to incorporate the job hunting process into your daily life.

If you’re already having extra activity after work and weekends, replace them with updating your resume or reaching out to your friends about your transition. Prioritize it over your usual after work activity; I’ve avoided doing both, and it helped me focus on the process.

Parallel initialization

There’s a number of web services specifically targeting engineers who’re looking for jobs. I would recommend the services that can parallelize your process.

Once uploading a resume on them, companies will reach out to you with their initial offer (though it’s usually just a first step in their recruiting pipeline).
In the States, I’ve heard good things about hired.com. Because good software engineers are scarce, you’ll probably find a similar service in your country.

Know your value

When you register at one of those services, you’ll find out how often you’ll be contacted by companies.

Maybe the intermediate result might not look good. If that happens to you, you are probably not describing yourself well enough on the resume. Have it be read by your engineer friends. I believe there’s even a service that does peer reviews of resume.

When you refined your resume and are still stuck at this stage, maybe the best thing you can do is to gain more experience by either claiming an interesting project at your workplace or participating in some open source projects.

Preparing something you can show off is important. That’s because it will probably be the next thing you’ll be asked when you pass the resume selection stage.

Prepare an answer to “What was your biggest technical challenge?”

At next stage, interviewers will most certainly ask you “What is your recent technical project that challenged your skills?” in one way or another. You should prepare for this, as I often had the impression that the answer to this question is the defining factor at this stage.

It makes sense if I were an interviewer. When an interviewee talks about his experience enthusiastically, it’s a sign that he will enjoy the challenges the job demands. I would want to hire somebody who has spontaneous passion towards the job.
You don’t want to overwhelm the interviewer, but being able to speak about the subject endlessly (while starting with a concise summary) is a perfect attitude in my opinion.

Enjoy the coding challenges

If you convince them that you’re enthusiastic about the field, the next step is to verify your capability: the technical challenges.

Over the course of my job hunting, the form of coding challenges took place in two different forms.
One type of the challenges (and I see this approach more often these days) will be a homework assignment. They’ll give you something that they expect you to finish in a day ~ a week (it differs).
Other companies take a more traditional approach: whiteboard coding challenges. You sit with them in a room, and together you are to solve small (but fundamental) problems they expect you to know.

Don’t assess yourself before they do

To share my story, I did badly in some of them, so bad that I thought I would not hear back from them. But I learned that your self-assessment does not align with the reality.

It’s often true that the quality they’re looking for is something irrelevant from the flaws you found yourself during the process. Sometimes the interviewer will judge you based on the potential or the overall attitude towards the stressful situation.

So, enjoy the moment. The assignment is probably something that they’ve crafted carefully. Appreciate the opportunity to be able to tackle them, and try to have fun while doing it. When interviewers are sitting with you in a room, give them an impression that you’re genuinely having fun at it.

You are also evaluating them

Also, this is a good chance for you to assess their technical capability. If you don’t like how they judge you, you will probably not favor your future teammates reviews.

Also at this point, I encourage you to make habits of practicing some kind of coding challenges every day.
In my case, https://leetcode.com helped. I also have finished reading an algorithm book taking advantage of this opportunity. It’s surprising how much more I was motivated when facing the need of recapping the knowledge.

It’s like going on a date; treat them politely

If you’ve successfully passed this stage, you’re probably at the last stage of selection. At this point, it’s like going on a date. You’ve shown your affection to the company, vice versa.

Like going on a date, you want to begin a somewhat intimate conversation with them. Be honest with what you’re aiming to get, in a polite way.
Also list your fears, so that both you and the potential employer can avoid the risk of a mismatch.

Parallelism bites you

Regarding the parallelism, this is probably the trickiest part of the whole process. If this is a date, your mate will be mad at you if you tell them you’re also going on a date with another person.
Since lying is also a terrible idea, use your common sense to avoid an awkward situation. Imagine what would be the reasonable thing you’d accept if you were on their side.
Giving in, however, will also result in raising wrong expectation, so be brave and be honest.

Here’s my episode; when I was going through this stage, I’ve encountered mixed reactions from various companies. In the end, I have very positive experience with some of the companies who I had to turn down. I cannot tell how much I appreciate their cheerful reply wishing me luck on my new job.

Be sincere all the time. It will eventually pay off. After all, we’re living in a small, volatile world.

Ask for a “mock work day”

Even if you’ve decided with one company, I always advise that you should get a day of “mock work” with them. Ask for a day that you can sit at a desk of their office, preferably doing a similar job you’ll be doing when you start working with them. Expose yourself to their workflow, so that both you and your employer can reduce the risk of “unhappy surprise.”
Spending a day with your future teammates will tell you a lot; software development is all about the teamwork.

Show your appreciation to the current employer

If you’ve done a day of mock work with them and still both sides are happy to finalize the decision, congratulations! You’ve found a new partner!

While making a transition, appreciate your current workplace as much as possible. Career making is always a linear process; you were not able to make this move without the experience you’ve gained in the current workplace.

At the same time, use this timing to enhance your skill. When doing so, go back to your original motivation why you’re making this transition in the first place. Having done a mock day, you should also have a basic idea of what you’ll be doing at the new workplace. Use your spare time to enhance skills towards that direction.

Conclusion

In this article, I’ve shared my journey of job transition, and what kind of steps I’ve been through.
The advice I’ve laid here are nothing new. Yet, this one came from my fresh memory in recent days. I hope it has a unique impact on your future job hunting.

Good Luck!