This is part 5 of a 5-part series detailing what I wish I had known as an
American programmer moving to Berlin. This page talks about learning the language
of the country you’re in.
I’ve saved this for last, because I think it’s the most important thing in this series. I
believe that learning the local language is the strongest driver of belonging in a new
country. It requires real effort, and you will have to prioritize it over other things,
but doing so pays off handsomely in the long term.
This is part 4 of a 5-part series detailing what I wish I had known as an
American programmer moving to Berlin. This page details cultural differences and things I wasn’t aware of until I stumbled on them.
Politics
One thing about Germany, and Europe in general, is that it’s relatively left-wing when
compared to the US. This is a
place where universal healthcare is so commonly accepted that no party – not even the
super-racist party! – is talking about removing it. The aforementioned super-racist
party has effectively the same political platform as the mainstream
Republican party in the US (minus the healthcare thing). Politics in Europe certainly has
its own problems, but at least in Germany there is a flourishing multi-party system that
allows for people to have some kind of choice when voting. There is even a fun website
called the “Wahl-o-Mat” (“Vote-o-Matic”) that tells you which party to vote
for after
answering a series of questions. There’s also none of the Electoral College
silliness, which I won’t get into here.
This is part 3 of a 5-part series detailing what I wish I had known as an
American programmer moving to Berlin. This page details some awfulness with respect to
finances and taxes while being abroad.
Salary
I think for a lot of American programmers, especially ones coming out of FAANGs, this is a
huge consideration. The salaries in Europe just aren’t the same as they are in the US, or
especially in the Bay Area.
This is part 2 of a 5-part series detailing what I wish I had known as an
American programmer moving to Berlin. This page details some practicalities of actually
moving to a different country, from getting a work visa to making sure your electronics
work.
Work visa
Once you’ve decided to make the move, one of the first things you need to do is secure a
work visa. This will go a little differently depending on your situation:
This is part 1 of a 5-part series detailing what I wish I had known as an
American programmer moving to Berlin. This page explores the motivation to move to a
different country, some ways to guide your decision making, and what you might want to
establish before moving to make your future life easier.
Motivation
Why you should do it
You’re probably not going to do something just because someone online tells you to do it,
but I might as well give you some motivation on why moving is a good idea.
There are the more abstract reasons, like “living abroad expands how you think about the
world,” lifestyle/political reasons like experiencing life in a place with universal
healthcare, and more prosaic reasons like enjoying techno music. Personally, I just really
liked Berlin and was at a point in my life and career where making such a move was
possible – things aligned, and I knew that such an opportunity wouldn’t happen again
soon. In any case it’s fun and cool!
Intro
I’ve passed my seven year mark living in Berlin, Germany, and I thought it would be
worthwhile to reflect on it and write down some of the things I wished I had known before
moving from the US.
Building a new life in a different country is a tremendous
amount of work but can also be extremely rewarding.
My goal isn’t to persuade you to move or not to move here, only to give you some
more information to help you make a decision for yourself or better prepare for a move if
you’ve already decided on it.
Hire me!
Hello! I’m a software engineer looking for a new job in Berlin (or remote)!
I have 15 years of professional experience in small, medium and large companies, and am
looking forward to seeing how I can use that experience to help further your team’s goals.
I have listed more about myself below.
If I seem
like a good fit, please contact me using one of the methods listed in the “contact”
section. Even if you’re not hiring, I’m up for a coffee or chat if you’re in Berlin.
Looking forward to hearing from you!
I recently got a new Macbook, and began setting up the Nix package manager to
install my developer toolset. I mainly did this to try and have a working setup without
installing Homebrew. Since I ran into a few issues, I wanted to briefly
document what I did and why in case others wanted to try the same.
Why Nix? (and why not Homebrew or MacPorts?)
The short answer: hype.
The long answer: I’ve been frustrated with Homebrew’s user experience for years now, and
used this opportunity to start afresh. The default non-Homebrew answer is the venerable
MacPorts, which has been around for quite a while. Most people who aren’t
functional programming or build system nerds should probably use MacPorts, as it has been
around long enough to have good support documentation floating around the internet.
Unfortunately I’m a sucker for hermetic builds , so I decided to try
Nix.
After 2 years of learning German I’ve noticed that, for the most part, you can
go a long way by mapping foreign concepts to ones that you already know. In
particular, I’ve had success mapping aspects of German grammar to programming
concepts I use every day. After all, programmers deal with weird grammars all
the time, why not take advantage of that skill?
Gendered nouns: forward error correction
Probably the first difficulty people run into when leaning German is memorizing
the gender of each noun and properly declining that noun’s articles
when used in a sentence. While the grammar is mostly regular here, two things
make this challenging: the nonsensical assignment of genders to nouns
and the sheer amount of memorization required to select the correct declension
once the gender of the noun is known.