أنشئ حسابًا أو سجّل الدخول للانضمام إلى مجتمعك المهني.
software developers
Well, This is question which i would like to Answer.
Basically, a Software Developer must know the Software Development Life Cycle such as Requirements Gathering, Planning & Analyzing, Developing, Coding, Testing & Debugging, Deploying and Delivering to the Client. Of course, at the very first day, he/she would not know them at all but to answer this question, Yes; the above said points need to be considered to have a Clean and Good Performance based Software System in any Organization.
YES - A software developer need a framework, and an understanding on what is the deliverable, time-frames and expectations. If you ask a software developer for a Website for example - if he does know you want to launch in a week, and have an online mall, you cant expect that what you are being delivered will meet you criteria or expectations. It comes done to planning and designing all aspects and elements of the requirement
Also as in all work, things change, like requires, time frame , budgets etc.
You cant produce software with both one eye shut.
I believe a good software developer should be well versed with all phases of SDLC (requirements, design, implementation, testing and deployment). To answer your question, yes, having an understanding of OS, DBMS will help one to make good choices during the SDLC - thus leading to quality (clean as you say) software. Having said that, I don't think you need to know everything to start becoming a software developer who builds quality products. You may be strong in one or two areas in the SDLC initially, but while you are working, you can gain experience and knowledge to build an all round profile in software development. I truly believe with some initial knowledge and experience, what is truly required from a software developer is the willingness to learn and do the task at hand.