A new student should be expected to score very low on most of these criteria while one about to graduate should get very high scores on almost all of them. ability to build evaluation pipelines and perform evaluations for new tasks ability to locate and read the relevant papers on a "new" problem ability to come up with "easy" and "reasonable" baselines ability to find, download, install, and run existing software from third parties familiarity with machine learning, graph theory, linear algebra, calculus, combinatorics, statistics, and text processing understanding of linguistic phenomena and annotation understanding the variability of human judgements ability to write good narratives of experiments ability to write good overviews of existing research ability to develop and give presentations ability to discuss research with other team members ability to see a problem or an approach from a very broad perspective ability to assess the feasibility of a problem or approach ability to plan a research project and execute it over time intuition to try alternative methods understanding of the relative advantages and drawbacks of general methods across problems ability to implement in code generic algorithms and to make appropriate modifications to them understanding of related sciences such as bioinformatics, artificial intelligence, etc. understanding of computational complexity understanding of the fundamental data structures and algorithms familiarity with the availability on the Web of relevant corpora, papers, and tools excellent understanding of UNIX, including process control, scripting, and backup ability to build web-based and local demonstration systems ability to describe one's research to others with different levels of overlap in backgrounds with the student's understanding of project management: CVS, documentation, modularization, portability of code knowledge of a number of programming languages: C/C++, Java, perl/python, matlab ability to plan one's time, esp. wrt. courses, travel, committees ability to read a paper and abstract its main points - both strengths and weaknesses ability to draw charts, diagrams, screen snapshots, and other illustrations for papers ability to write quick scripts to convert data from one format to another ability to write quick scripts to test existing libraries or external software ability to write quick scripts to evaluate experiments ability to teach the introductory class, as well as plan it and grade it ability to relate one's work to similar problems in related research areas ability to store and retrieve data in a database systems ability to write interfaces to existing resources: both local and Web-based ability to network with colleagues ability to promote oneself ability to organize events: colloquia, external visits, etc. ability to build an end to end system ability to take initiative and to propose new projects ability to write proposals for funding ability to elicit assistance from advisers, fellow students, and others ability to ask intelligent questions at talks ability to design and perform user studies ability to request and obtain IRB support for user studies knowledge of a range of research methods, and an ability to read and give feedback on colleagues' work (that is not necessarily in my own area of interest) ability to initiate collaboration with others knowledge of people from whom he or she can ask and receive helpful feedback on my work knowledge of research communities in which to become an active member, get good feedback on his or her work and get exposure of his or her work to others. awareness of his or her key strengths as a researcher and future teacher (for people with academic career aspirations) learn how to emphasize his or her strengths and use them to have impact.