Computer Science And Artificial Intelligence Researcher For The Government
Job Title: Computer Science Researcher
Type of Company: Contracting to the U.S. Government for advanced research and development in computer science and artificial intelligence.
Education: BA, Dartmouth College Ph.D., Northeastern University
Previous Experience: I worked for nearly a decade at software start-ups after graduating from college, then spent six years as a computer science graduate student.
Job Tasks: I write proposals for contracting jobs that involve a mix of academic (university) research groups and professional (industry) people. The research I propose and execute applies the most recent advances in computer science and artificial intelligence research to pressing problems in complex software intensive systems that face many areas of the U.S. Government. My speciality is in "software engineering", which focuses on making the labor-intensive, error-prone process of producing computer software more robust, more correct, and less costly in both time and dollars.
I manage software engineers who are implementing some of the research mentioned above.
One project that I work on has to do with "domain specific model-based software engineering tools." "Domain specific" tools enable experts in specialized fields, such as aeronautics, signal processing, air campaign planning, radios, etc. to specify the systems they need in terms that they are familiar with. For example, we want an avionics engineer to be able to specify requirements in terms of signals, throttle, pitch, elevators, etc. rather than having to have advanced training in software development.
Another project on which I am working has to do with software security. On that project, we try to learn the "normal" behavior of applications such as Microsoft Word or Firefox. Then we use these learned models to detect when the software is under attack, and finally we modify the applications to recover from attack by returning to normal behavior.
Best and Worst Parts of the Job: The best parts of my job are "inventing the future" by first proposing novel solutions to long-standing problems and then working on implementing those proposals. I also enjoy meeting and working with lots of very intelligent people who are trying to make the world a better place through computer science and artificial intelligence research.
The worst parts of my job are spending too much time in meetings, as well as spending time tracking funding and doing administrative work.
Job Tips: If you like research and find yourself abstracting and theorizing a lot, pursue a Ph.D.
Figure out what you need help with and try to find others to help you with it. For example, I need help organizing my time.
Take the long view and always be respectful and inquisitive. Even though the field may seem enormous and crowded, you will inevitably run into people repeatedly, and it is really important not to burn bridges.