sentence: computer programming background ( knowledge of c , c++ , java , php , assembly , or other programming language ) knowledge of formatting standards like doxygen , javadoc , or dita knowledge of editors and tools , like framemaker excellent communication and writing skills to interact with developers expert api / sdk writers can easily become programming writers .