DEV Community

protium
protium

Posted on • Edited on

Failing at getting a new job

It's almost over year since I told myself "It's time to look for a new job and move abroad." What could possibly go wrong?

-

Update: I got my VISA on May for the german company that contacted me on January (we reviewed the current laws and applied the right documentation). I'm living in Munich since August.

Brief Intro

I'm an autodidact that works as full-stack dev with JavaScript and .NET. But I've also worked with Python and Ruby. I started my career at 20~21 yo. Now I'm 25 and I'm proud of what I've achieved so far.

1st Attempt: Amazon

Date: 2018/10

Yes, Amazon. Somehow they thought my profile was interesting and they told me that they were hosting a hiring event in Buenos Aires in November. The job description was: Software Engineer with 5 years of Experience and a long list of required skills.
In order to qualify for this hiring event, I had to pass a code challenge. I already knew that I was going to fail but I needed to, at least, try it and learn how big companies search for candidates.
The code challenge consisted of 2 problems. A k-closest points problem with some variations and some sort of backtracking problem. After the problems, I had to answer some questions about time complexity.

  • Result: Fail
  • Problem: I didn't practice as I should had done
  • Lesson Learned: Go and practice more. Read more about data structures, dynamic programming, etc. I started to read some books about competitive programming and to solve problems in hackerrank.com

2nd Attempt: A Swedish Start-up

Date: 2018/12

I was actively looking for jobs in stackoverflow. I was looking for a company where I can use a tech stack of my interest and where the main product is awesome from my perspective. I mostly searched for young start-ups with an environment or health care related product/solution.

I came across with a cool Swedish company and I applied for a Senior Software Architecture position. This time I had a first interview with HR. Then they sent me a code test where I had to build an API with a client app, taking care of TDD and CI. Stuff I really like.
Then I had a technical interview. But, one day before the interview, I decided to impress them. I installed their Android app and decompiled it. I did some reverse engineering, I read their code. I also found a Firebase API Key and proved that I was able to access to a small db with no relevant data, but I was able to add entries. The db didn't have any restriction rules. I knew lots of things about their architecture and tech stack before the interview, so I made a list of things I would improve in the app and told them about that API KEY. This interview was really nice, they were excited about my answers.

  • Result: Fail
  • Problem: My spoken English wasn't good enough for the role as I had to be very communicative with every team in the company.
  • Lesson Learned: Talk more! I'm a Spanish speaker and I learned English because of programming but I didn't have many opportunities to talk with English speakers. So, I hired an English teacher and I started to join some meetings were people talk in English.

3rd Attempt: A German Start-up

Date: 2019/01

This time I was contacted by the CEO. He thought I was a good fit for a full-stack position in the company. We scheduled some interviews. I did pair programming with a really simple task. Then I was interviewed by the Product Owner. And finally with the CEO again. I was in! They made me a good offer.

  • Result: Fail
  • Problem: Getting a Work Permit for Germany (or the EU) without a university degree is hard, but it is still possible
  • Lesson Learned: Search more about work permits and immigration laws, requirements, etc. I found out that the university degree is not required if the salary is high enough and you qualify as a high skilled professional. I also did some online courses on Edx and Udemy to get certificates.

-

i-th Attempt: A German Start-up and a Dutch Start-up

Date: 2019/03

I already improved my problem solving skills and my English (still working on both), I read a lot about work permits and immigration laws. In the mean time I've also learned how to negotiate my salary and benefits (I had no clear idea on how to do it).
This time, the first things I mentioned to the HR agents were my concerns about the work permit, VISA sponsorship and salary expectations. They told me that they were sure there won't be any problem since I have many years of experience.

I've already passed the code tests for both companies and I'll have more interviews next week. I applied for a full-stack position in both companies.

  • Result: Pending

Bonus: How to quit your job

This is not an easy task. Some people may say "I quit" and they are ready to move on. I've been thinking about moving abroad for almost a year. I decided to talk with my project manager in May of last year. As a project manager he tried to renegotiate with me, or even give me the possibility of working from anywhere. As a friend he told that I'm doing the right thing, that I'm young and I have all these opportunities; I have to do it.

So if you are thinking about quitting your job, try to answer the following questions:

  • Why do you feel like this?
  • Have you talked with your family, friends and/or coworkers about it?

The main reasons why I wanted to quit were:

  • I like European languages, culture and landscapes
  • I started to feel stuck in my career, I want to work with new things like Machine Learning.

I'm leaving the company with a really warm goodbye. I think this was possible because I talked and expressed my feelings to them many months before my final decision.

Final Words

I learned a LOT with this whole process. I feel more wiser as an adult (some times I forget I'm an adult) and as a professional software developer as well. I learned how to be interviewed, not only for technical questions but also how to talk about me as a potential candidate; how to tell them why I'm a good fit for the position and the company. I learned how to identify my weaknesses and how to work on them.

Sometimes receiving bad news could be hard, not getting a job you felt eager about. But don't give up. There are lots of companies that will want to hire you if you show them your potential. If you fail in an interview, ask kindly for feedback.

Keep learning. Try to solve problems every day, read articles about new tech (BTW I love this community), try new frameworks or languages, start side projects. Get out of your comfort zone.

-

Thank you for reading and feel free to share your experience in the comments!

Top comments (11)

Collapse
 
radicalbee profile image
Abdu

You have been doing really good. My best wishes are with you, keep progressing. Would you like to share what coding/algorithmic challenges did you usually get? How important was Big O Notation during technical interviews?

Collapse
 
protium profile image
protium

Thanks!
Usually they give you a problem where you have to deal with large amount of data and dynamic programming problems.
Big O notation is really important. They will ask you what's the time complexity of your solution and how you can improve it. You have to be able to identify possible bottlenecks in your solution. E.g. if your solution is O(n2) they will ask you if you can solve it in O(nlogn) or O(n) and why.

Collapse
 
radicalbee profile image
Abdu • Edited

Thank you very much for the reply, Brian. I'll keep improving this part of computer science.

Collapse
 
steveblue profile image
Stephen Belovarich

Oh if only the job consisted of sitting around in academic conversations about Big O notation.

Thread Thread
 
protium profile image
protium

I think once you start measuring the time and space complexity of your algorithms you will be more aware about performance and prepare your code to handle big amounts of data. And that's important for companies, to verify that you, as a candidate, know all those concepts.

Thread Thread
 
steveblue profile image
Stephen Belovarich • Edited

Yes, I agree with that assumption. Give the candidate a problem to solve and assess whether or not they in practice they used the most performant algorithm. We don't need to have a discussion about all the different algorithm that could have been applied to the problem. I find too much time is wasted focusing on this singular topic in interviews.

Collapse
 
yuripredborskiy profile image
Yuri Predborskiy • Edited

Hey Brian! Great job! Thanks for sharing your experience! Best of luck to you! I plan to do a similar thing in the coming year or two, so this info will certainly be useful!

One quick question: did Amazon allow use of internet when solving questions requiring specific knowledge or did they provide formulas for finding distance for their question? Or did they expect you to know it by heart?

Collapse
 
protium profile image
protium • Edited

Hi Yuri,thanks!

I did the test in their online test platform. They didn't tell me if I was allowed or not. But I think this platform records your behavior, meaning: copy&paste, time of your pauses, how many times did you run your program.

Before the coding challenge you have to digitally sign and agree that you won't take screenshots and share the problems.

Once they send you this challenge you have up to 7 days to submit it. The challenge itself lasts 2 hours. But I think it depends on the position you are applying to.

Collapse
 
yuripredborskiy profile image
Yuri Predborskiy

Thanks for info!

Collapse
 
babadee08 profile image
'Damilare Durojaye

This is my story, I've reached final stages at two different German companies and learnt two different lessons that proved to be valuable. I'll keep trying till I get one soon.

Collapse
 
protium profile image
protium

Great! I've applied to one company based on Munich and the other one in Amsterdam. With all that I've learned from failing I felt more confident in the interviews. I'me sure I'll move abroad soon.

Best wishes.