These are the best combinations of modules to streamline your work as a drupal developer or themer. With the help of these modules you will see drupal internals as an open book.
In adition to these modules, also check out our Drupal Development Cheat Sheet, some PHP debugging tools, a super cool Automated development environment, and of course, the Drupal Official Documentation. See all our Drupal Tutorial here.
Here is a list of modules that every developer should think about enabling on day one of every project. These modules are intended to help development and should be uninstalled before going in production.
Devel module is the perfect companion for development. It includes debugging functions like krumo, it prettyfies existing PHP functions with their dprint_r() and ddebug_backtrace()and it also generates content, comments, users and such.
Search Krumo is the missing piece of the puzzle, it adds a search bar in krumo output. You can type in the search box a variable name, a function, a renderable array item or even the content of the page itself and you will find it in krumo instantly. On top of it all, it tells you also the variable that stores the information for each piece of the website. Finding the correct element of the page to copy and paste into your code becomes a child's play.
Coder (optional) provides an automated review of the code, how it's written and how to improve it. Coder uses some very smart programs that can give you hints about coding best practices and alert you of potential flaws to be aware of. Although it's cool, don't rely on it entirely because it is just a stupid script and not a sensible reviewer.
Form Inspect (optional) provides a krumo for every form on the site. When enabled, it will include the krumo for every form element on every page you visit. Since most pages on drupal are made of forms, this can be very handy at times. Rather than inserting and removing "dsm($form);" on your code in order to inspect a form, you can just enable/disable the forminspect module.
Devel Themer is an enhancement to the devel module by adding information about the theme in a very nice interface. Upon installation a checkbox will appear at the bottom of the screen. When you check it, a floating window will appear, displaying information about theme templates, preprocess functions and a krumo output at the botom. Then you can click anywhere on the page to get information about this specific element. It's awesome.
Style Guide provides a page that includes all sorts of tags and classes for themers to do all the CSS work in one go (hopefully). This is good to ensure that everything in your CSS is styled according to the design and avoid unpleasant surprises when new pages are created.
It's often useful to have a plain drupal site on your local machine to test new modules or themes before using them on your development site. Although the development site is made for tests, it also holds the next code that will go on production some day. For big changes that might break things up it's wise to have a test site. This test site can be much more than just a crash test dummy, by adding some extra modules, you will start to grasp how useful it can be.
The Example module is probably in every developer's favourite list because it provides clean and documented code to awesome things in Drupal. To say it more bluntly, it's a copy/paste heaven for lazy developers (or, say, developers with deadlines).
Module Builder is another cool gadget for developers and site builders. It allows you to create a skeleton module using the web interface. This is a great way for site builders to dig into module development. You will create your module using the admin interface of your drupal site, chose the things you would like your module to do, and get the code of a "ready-for-development" module.
If you have suggestions please share them in the comments, I'm always excited about these tools!