I have been checking some systemd-analyze outputs and I actually don't have a crucial problem with my boot time but just wondering whether I can decrease it further. I'd like to mention that I'm using an SSD and Ubuntu is my only OS.
systemd-analyze Startup finished in 5.450s (firmware) + 565ms (loader) + 2.632s (kernel) + 10.086s (userspace) = 18.734s graphical.target reached after 10.071s in userspace
systemd-analyze blame 6.607s NetworkManager-wait-online.service 5.660s fwupd.service 5.042s bolt.service 4.134s plymouth-quit-wait.service 1.579s dev-sda2.device 1.552s systemd-backlight@backlight:intel_backlight.service 1.367s plymouth-read-write.service 1.211s snapd.service 903ms systemd-logind.service 572ms systemd-journald.service 555ms dev-loop9.device 523ms dev-loop6.device 515ms man-db.service 499ms dev-loop8.device 478ms dev-loop5.device 472ms dev-loop13.device 448ms dev-loop7.device 441ms dev-loop11.device 438ms dev-loop10.device 432ms dev-loop12.device 415ms udisks2.service 406ms dev-loop14.device 319ms snap-gnome\x2d3\x2d28\x2d1804-71.mount
graphical.target @10.071s └─multi-user.target @10.071s └─kerneloops.service @10.042s +27ms └─network-online.target @10.032s └─NetworkManager-wait-online.service @3.422s +6.607s └─NetworkManager.service @3.224s +186ms └─dbus.service @3.218s └─basic.target @3.211s └─sockets.target @3.211s └─snapd.socket @3.208s +2ms └─sysinit.target @3.205s └─systemd-backlight@backlight:intel_backlight.service @1.468s +1.552s └─system-systemd\x2dbacklight.slice @1.467s └─system.slice @212ms └─-.slice @212ms