Traditionally, hardware designers and software developers are educated in totally different ways, which is already prevalent in the use of the words ``designers`` and ``developers.`` The claim in this paper is that we have to remove this distinction and bridge the chasm between the two worlds. This is necessary because current systems require a mixture of software and hardware design to fully embrace the possibilities offered in modern chip technologies. On the other hand, modern technologies are experiencing severe problems that effectively will halt Moore`s law in the way we are used to it. Technology scaling no longer offers clock speed improvements and the microprocessor world is rapidly moving towards multi-core systems. This trend actually offers new opportunities for unifying the hardware and software paradigms as exploring fine grain, low level parallelism will be the name of the game in both worlds. In this unification process, reconfigurable systems may play a significant role.