are they enough? no, they are not. but, they do provide a rock solid foundation. working with someone more experienced and / or hiring a tutor for a bit is also very helpful. there are a few but very important tricks that courses don't teach and that will take you lots of time to figure out on your own. programming, like any other job, has its own way of thinking. online courses don't teach it either. so, that's where being seated next to someone who knows their stuff is of crucial importance. if you can't afford a tutor, look for an unpaid internship or offer your free help to a more experienced developer
can you become a developer with no CS degree? sure as hell you can! my formal education lies in philosophy, economics, education, fine arts and spanish language and literature. i never took a single computer science university class. at least, not formally and on campus. yet, i have a decent career as a developer, serial tech entrepreneur and i was even teaching programming and CS. but, i was reading a lot, had my share of tutors, worked a lot, worked a lot with some of the world's best developers, took some online courses, tried many things, failed many times, some other times even succeeded
before becoming a developer, i had a successful career as a graphic designer and a photographer. luckily i was always a geek and loved technology. i've literally faked my way into my first developer (front-end) job at one silicon valley startup more than ten years ago. i was doing plenty of web design work and even more corporate identity work back in the day. my coding was rusty and definitely non-web given i previously fiddled with programing in the 80's and early 90's. the above mentioned startup's cofounder liked my visuals. he asked me can i do their UI, coding included. i said ''yes''. while making sure he liked what it looked like, i was studying CSS and HTML pretty hard. front-end back then was a pain in the ass to deal with. but, boy, did i get it wrong. so i literally had to rewrite all front-end code two days prior to deadline. well, somehow i've made it. was offered a job. accepted it. then i was hanging out with some of the brightest programmers, learned from them and on my own. as business grew up and they were onboarding designers (very few designers could code back in the day and transition from print to web was painful, while majority of developers had no clue about design. there were no tools/frameworks/libraries/templates/themes available either), i helped designers understand tech concepts, while i was helping both developers and designers communicate with each other
except for some hardcore computing stuff, you really don't need a CS degree. for stuff more advanced than developing database-driven websites and apps, having domain expertize is way way more useful than holding a CS degree