Born in Berlin, he first learnt to play football at BSC Rehberge, a club based in the Wedding area of the city. At just seven years of age, Schulz caught the eye of scouts from Hertha BSC, meaning that, from the summer of 2000 onward, he was able to enjoy a first-rate footballing education at the biggest club in the capital. In 2008, he even attracted the attention of Liverpool FC; but for the young Schulz, a move to England was never a serious possibility: ''I was still just a boy at 15. It would have been too big a move for me.''
So it was that he stayed in Berlin. Before long, he was representing his country at every age group from U15 upwards and on 20 August 2010, at just 17 years of age, he made his debut for the Hertha first team in a 2. Bundesliga match-up with Rot-Weiß Oberhausen. After notching up a total of 98 appearances for the Berlin-based club, Schulz moved to VfL Borussia Mönchengladbach in the summer of 2015, for whom he contested his first game on Matchday 5 of the 2015/16 Bundesliga season. Funnily enough, this was current BVB head coach Lucien Favre’s last game in charge of Gladbach. Not long afterwards, Schulz suffered a cruciate ligament tear and then struggled to establish himself in the side managed by Favre’s successor André Schubert.
Schulz’s career was given a boost in the summer of 2017 when he joined TSG Hoffenheim. By the time the Bundesliga resumed after the winter break, Schulz was the driving force behind TSG down the left-hand side, helping them reach third place and qualify for the UEFA Champions League for the first time in their history. The kicker sports magazine rated Schulz as the best full-back in the 2017/18 season: "With incredible physique, great dynamism and speed, he was one of the best players in the team week in, week out. Someone that helped his side keep a clean sheet and provided impetus further up the pitch."
Schulz continued his momentum into the following season, in which he earned an average rating of 2.88 from kicker magazine - tied with Jadon Sancho for the fifth-highest among outfield players in the league and only five hundredths of a percentage point away from the top. Nico Schulz injects pace into the Black & Yellows’ play with his runs down the left flank – he was recorded hitting speeds of 35.2 km/h last season – a feat only bettered by Erling Haaland. ''I’ve never specifically worked on speed. It’s just something I was born with,'' says Schulz: ''As a quick left-footer, it was clear from a young age that I’d be well-suited to playing on the left-wing. I often used to play on the left side of midfield or as a left-winger."
He was called up to the German senior national team for the first time on 9 September 2018, scoring the winner in the 84th Minute against Peru. Six months later, he scored a last-minute winner in the European Championship qualifying match against the Netherlands, making it 3-2. He played his last of 12 international games to date in October 2020.