• How to land a job in Germany for IT professionals

    At my agency we work a lot with international candidates and German companies. So, I wanted to write a small essay about the visa issues because often they will influence your chances of landing a job heavily. Since I work mostly with German market, I will talk about the processes in Germany, the processes may and probably are different in other EU countries. Hopefully the information will be helpful and will give you some clarity.

    As all of you know, nowadays there is a big demand for experienced IT professionals in almost all EU countries. When I say experienced I mean 3+ years of experience. Companies are adjusting their teams to accept English speaking colleagues from around the globe, coming up with different perks to smooth up the relocation process and in general the IT world is becoming predominantly English speaking. Germany government understanding the demand by the industry has made the process quite fast and straightforward. I expect even easier process to be implemented in the upcoming year or two.

    Visa sponsorship


    Companies in Germany do not sponsor visas like in other countries, there is no such a term here. Companies either hire non-EU candidates or not. The decision is strictly an internal decision and is not influenced by any quotas, permissions etc. If you get a job contract from a German company (be it a big conglomerate or a small startup) you have a right to apply for the work visa.

    Do I need a university degree?


    Read more →
  • I lost faith in the industry, burned out, but the cult of the tool saved me

    • Translation


    I often rail at technologies I find inadequate, and in response I receive (along with arguments) sheer anger and pain. Sometimes physical.

    Developers take critique of their favorite technologies very personally for some reason. This “cult of the tool” is such a strange phenomenon I can’t explain it logically. Some say everyone’s prone to it, because a coder’s thinking processes intertwine very deeply with his programming language. Some say it’s a junior’s fallacy — you write something for the first time, it works, and you start treating your language like something divine.

    Whatever it is, I never understood it.

    I always considered cultists as imbeciles. But I always try to understand why imbeciles became them, why I’ve avoided that fate. I start thinking and bam! — it turned out I’m also an imbecile. I’m a cultist who worships F#. And, of course, there’s a story behind it.
    Read more →
    • +24
    • 32.8k
    • 2
  • I ruin developers’ lives with my code reviews and I'm sorry

    • Translation


    Once upon a time there was a guy on my team so weak that he was going to be fired (a developer! Fired!). Every comment of mine was another nail in his coffin. I could almost hear the bang of the hammer every time I clicked “Submit review”. He was a nice person and I almost felt bad for him, but it didn’t stop me from tearing his work to shreds. I had an inalienable right to criticize his work, right? I’m a better developer, therefore I’m right. No one wants to say that bad code is good, right? He was eventually fired, not before leaving him without the customary bonus for a couple months.

    I said to myself: “I’m not going to do his work, right? He was taking the place of a more talented developer. I did everything right”. But then I received another pull request for a review, and something changed. Drastically.
    Read more →
  • On higher education, programmers and blue-collar job



      “Sometimes it happens that a man’s circle of horizon becomes smaller and smaller, and as the radius approaches zero it concentrates on one point. And then that becomes his point of view.”

      David Hilbert
      “When I thought I had hit rock bottom, someone knocked from below.”

      Stanisław Jerzy Lec

      Preface


      Does a programmer need a higher education? The flow of opinions on this undoubtedly urgent topic has not dried up, so I have decided to express my view. It seems to me the general disappointment in education is due to the numerous processes and changes in the profession and it needs serious study. Below I will discuss the most common misconceptions, myths, and underlying causes of the phenomenon.
      Read more →
    • Full-stack developers are in fact stuck at mid-level. Spare yourself from suffering – don’t go down that path

      • Translation


      Back in those times when I just started learning how to code, I trusted the old wise weasels with their “Programming languages don’t matter” mantra. I grew obsessed with the idea of some day becoming a developer who can do just anything. That guy who transfers his experience from one technology to another and transcends the minutia. But that idea failed miserably.

      Читать дальше →
      • +20
      • 15.5k
      • 6
    • What to think during NALSD interview

        There are a lot of posts about what a typical coding interview at Google looks like. But, while not as widely described and discussed, there is also quite often a system design interview. For an SRE position it’s NALSD: non-abstract large system design. The key difference between SWE and SRE interviews consists in these two letters: NA.

        So, what is the difference? How to be prepared for this interview? Let’s be non-abstract, and use an example. To be more non-abstract, let’s take something from the material world, such that you won’t be asked the exact same thing at the real interview (at least, not at the Google interview) :)

        So, let’s design a public library system. For the paper books, like you have seen everywhere around. The whole text below was written all at once within around one hour, to roughly show you the areas that you should be able to cover / touch during the interview. Please excuse some disorder, that’s how I think (therefore I am).
        Read more →