I started as a junior software developer and I always felt that it would be the best possible start for a new web developer. This is because it would introduce me to the broadest view of the web development lifecycle process and not restrict me to just one set of technology stack. This would give me the exposure and the opportunity to examine what is needed in each phase. However, after getting the needed experience, some tasks may distract one from the deeper technical items. Therefore, I currently prefer to work on more custom tasks, such as using APIs and custom module development. Understanding the core level concepts of any framework and CMS in any technology or career path is very important.
After working on Drupal for almost 2 years, it was time that I finally started to look forward to the Certification. It was such a time when there were not many resources available on how the exams would be, or what sort of questions would be asked. However, somewhere within the large Drupal community, it was clear that following the best practices in development and applying it to different types of projects and practical experience in developing web applications were a must.
Finally, I took the exam, and passed it. At this point everything was clear. Having a good PHP background first was better than the other way around. I will even go one step beyond and say that if you are good at PHP, then you will be great at Drupal, but you will need to invest some time and try to understand why and how things in Drupal work the way they do! For example, you should learn the standards, processes, flows, etc.
Preparation for the exam:
I would recommend for you to dedicate at least 1-2 days to the entire syllabus for just brushing things and making sure you can recollect all your Drupal experience until now.
The exam is very well crafted and will test your Drupal skills rather than asking any trick questions.
I found the exam pattern to be really helpful. Every question has a scenario that gives you some context or requirement for a problem statement, from which the question will be based on. Questions are of two types, either asking you to select 1 correct answer from 4 options or asking you to select all correct answers from the 4 options. There are very few questions of the latter kind, but it might be possible that this is entirely random and there might not be any pattern here.
I was fortunate to have good exposure towards both theming and development. However, I know many developers who are better at one thing than the other, and for their job profile, they spend about 95% of their time in one domain. In such cases, please make sure that you at least cover the basics of the other side. Some things that immediately popup in my mind are OOP in PHP, the correct way to write jQuery, web technology basics, CSS standards, and Drupal DB API.
Anyone pursuing this certification would probably agree that programming is an experimental science. In order to obtain the reusable knowledge at hand, you must write code and repeatedly practice. This method will help you get exposed to problems that you may not have been before.
I’ll stress over this point again and again: knowledge for the exam will generally come from practical experience of working on several Drupal sites. Good practice can come if you start a new, blank Drupal site and mess around in there. Instead of just doing things correctly, do things incorrectly and learn why it errors. With some practice and general studying, you should not have any problems with the certification exams.
While taking the exam, do not overthink. In most cases, the answer that you think is the correct one, should be correct. Trust your gut!
Coding Standards: https://www.drupal.org/docs/develop/standards