4 weeks is the legal minimum for paid vacation days in Germany (24 days for a 6 day week, 20 days for a 5 day week), everything more is a matter of negotiation (30 days is usual in Germany; even 20 paid days is a lot compared to other countries). There might be a trade-off involved (more vacation days but less salary or the other way round).
You can negotiate for perks like company cell phone, company car (won't happen for somebody who just gets started unless it's really required by the job), a laptop you might also use privately and other hardware.
The company might contribute to your private pension fund (talk to your insurance agent about a plan that might be eligible, If you plan to stay in Germany having a private fund in addition to the state-run pension system is a good idea). Edited to add: The word I was looking for/ the thing to ask for is "Vermögenswirksame Leistungen".
The company might contribute to your bus fare or other tickets for public transport, or you can negotiate for a parking lot if you go by car. Some startups are known to buy bycycles for their employees.
You can and should negotiate for training and courses relevant to your job ( a company that does not offer opportunities for training is not a company you want to work for).
There are some non-material perks - home office days, permission to bring the dog to the office, flexible working hours.
You can negotiate for a shorter probation period (usually it's six months). Before you do that remember this is a test period not only for the company, but also for you - if you find out that things don't work out you might be glad to leave on 14 days notice. Usually your contract will run for another three months after you quit - but this is negotiable, too. Btw. it's quite common to start with a lower salary and get the first raise after the probation period (i.e. after you have shown commitment and are likely to stay with the company), but this should be discussed beforehand.
You will get the more expensive benefits only after your probation period (companies don't want to pay for training for people who might leave in a hurry).
Bonuses on a lower salary are basically a bet on the future of the company and the competence of your managers (if the company fails or your bosses screw up you might end up losing the bonus due to no fault of your own). As a new hire you usually do not have inside information, so you can only follow your gut feeling (inform yourself as good as possible about the company and the field they are working in as there are obvious failure modes - but really, you cannot tell). However you probably do not have loans or mortgages or a high standard of living to maintain, so you might want to take the bet on the chance that you're on to a winner.
Edited to add: as pointed out in the comments working hours should be talked about. If you are working in a unionized (as in union, not as in chemistry) trade the union will negotiate hour for you (usually 38.5 hours per week), but then they will also negotiate salaries. If you work for the "Öffentlicher Dienst" (federal or state governments or communal authorities, if that's the right word) you will usually have the same conditions as a union member.
If you work in a private software dev business you will probably have 40 hours in your contract, plus some contracts have a clause that you are required to work a fixed number of hours overtime per month without compensation (even if contracts do not point this out this is an emergency clause, employers cannot legally build their business model on having everybody work overtime all the time). Of course you can negotiate for less hours, but you will get a smaller salary, less benefits and it will have a disproportionate effect on your pension fund if you're worried about that kind of thing (you will however get full healthcare which is a major reason that half-time jobs are quite popular).
- What you should ask for - training
- What you may ask for - vacation
days (a few days over the legal mininum), refund for public transport, cell phone
- What you shouldn't ask for as new hire - the expensive stuff (cars, another ten vacation days, free food for your pet elephant etc)