In addition to soft skills such as effective communication, strong problem-solving capabilities and the ability to think critically, there are several hard skills needed also. Individuals should have a working knowledge of PHP and know MySQL, JQuery and Ajax. They need to have a strong understanding of MVC Framework Architecture, APIs and Unix/Linux, PHPUnit, a unit testing framework and CakePHP, an open-source web framework. Those looking to be a full-stack developer should also know HTML, JavaScript and CSS.