"It depends". What do you like in a city? What kind of jobs do you prefer? Where do you come from?
I guess the answer for questions of that nature split in 3 main categories
- Weather, Food, Culture, Language (let's put all this in one category)
I guess most of the expats will agree number one is problematic. Natives, even educated ones, struggle with English. The language takes ages to learn, and even then you're far from having any high level conversation, the culture is hard to adapt to for a non-german, even more so for a Southerner. The weather (except May-September) can be hard. Overcasts lasting anywhere from a couple of days to weeks, sub-zero temperatures.
- Professional opportunities and career options
Many opportunities, but only if you're into working in startups. That means usually lower than average salaries, long working hours, jumping from project to project. If you're a developer, you don't need to worry about getting a job. If you're a PM, it gets trickier, as German is wanted more than often (most of the startups target the german audience).
Btw, keep in mind most startups are German owned - business remains entirely in the hands of Germans. You will work for them and you will not work with them. Rarely will a german-owned startup make you a co-founder. You could be a CTO but that's more or less it.
- infrastructure / basic needs
Very cosy architecture, big spaces, roadbikes, green, parks, 'small - city' ambiance in several neighborhoods.. This is definitely in one of the +'s.
In general your pay and your expectations will affect a lot on your overall impression. Try living of a minimum wage and struggling to get a flat for months while jumping from room to room - not fun if you're like me and you're past your 'student & party years'. Things change a lot when you're netting anywhere from 2.5K and above. You can afford stuff, nice appartments included (big topic).
In general Berlin can be a good experience for someone at least for a year or two, if you're ok with the winters and the Germans.