|
Tom Nurkkala, Ph.D. |
|
NOTE: This vitae (resume if you prefer) is a little unusual in that it includes all the usual stuff about experience and education that everyone expects to be in a vitae. But I don't see a compelling reason to make a vitae completely stuffy, as if I was trying to hide behind an edifice of obscurity and formality. Instead, blocks formatted in this style contain comments about parts of the vitae. Thus, it's a sort of an annotated vitae. Hopefully, these editorial remarks will give you some insight into the geek behind the rhetoric. If that doesn't work for you or makes you feel like this isn't a real vitae, just skip over these parts. Thanks!
Summary
Dr. Nurkkala has a deep and diverse academic background in high-performance parallel computing, parallel algorithms, natural language processing, and electrical engineering. His research work is heavily experimental, focused on the construction and characterization of large, complex, real-world implementations of non-trivial algorithms on large-scale parallel supercomputers.
His academic achievements are coupled with significant industrial experience, ranging from software engineering and software consulting to senior management of software research and development. His industrial work has emphasized applied computer science and mathematics, high-performance cluster computing, object-oriented design and development, on-the-metal system software, and reusable software components.
Education
|
Software and Hardware Experience
|
Academic Experience
|
Publications
|
Industrial Experience
|
Professional Memberships and Awards
|
Consulting Experience
|
Education
My educational trajectory is a little unusual, in that I have a graduate degree in Christian theology wedged into the middle of the geek stuff. It really does make sense—lots of what I've done in school has to do with the intersection between human languages and computers. That theme carried forward into the Theology degree. And, as it turns out, handling natural language computationally is a Hard Problem, and the theme turned into a major portion of my doctoral research. Funny how things work out like that.
![]() |
Ph.D., Computer Science | University of Minnesota | Minneapolis, MN | 1992–1996 |
![]() |
M.S., Computer Science | University of Minnesota | Minneapolis, MN | 1990–1992 |
![]() |
M.A., Theological Studies | Bethel Theological Seminary | St. Paul, MN | 1988–1990 |
![]() |
B.S., Electrical Engineering | Michigan Technological University | Houghton, MI | 1983–1985 |
![]() |
Computer Science Major | University of Minnesota | Minneapolis, MN | 1979–1982 |
Academic Experience
Although I can excel at solid heads-down research in computing, I also fancy myself a competent teacher. The interaction with students can be invigorating (and frustrating), but on balance, I deeply enjoy mentoring others, both inside and outside the classroom. This penchant has extended into my experience in industry as well, where I have regularly taught, spoken, and organized study groups, whether or not doing so was part of my "official" job responsibilities.
![]() |
Adjunct Lecturer | University of Minnesota | Minneapolis, MN | Jan–May 2007 |
![]() |
Research Assistant | University of Minnesota | Minneapolis, MN | 1992–1993 |
![]() |
Adjunct Instructor of Computer Science | Bethel College | St. Paul, MN | Jan–May 1991 |
![]() |
Instructor, Dept. of Computer Science | University of Minnesota | Minneapolis, MN | Sep–Dec 1990 |
Industrial Experience
"This guy never stays put!" Yes, I have some angst about the laundry list of industry jobs that I have held. When making job decisions, I have preferred smaller, start-up companies with disturbing regularity. This (or my penchant for collecting college degrees) explains my sometimes brief tenure at many of these firms. At least eight of the companies that appear here and in the Consulting section failed (in a dot-com bubble sense of the word). Now I often refer to them simply by number, as in "Failed Startup Number Four." Doing so calms my soul, even though the failures didn't fill my bank account.
![]() |
Senior Lead Engineer, Software | General Dynamics Advanced Information Systems | Bloomington, MN | Apr 2004–Present |
![]() |
System Software Architect | Lawson Software | St. Paul, MN | Oct 2001–Mar 2004 |
![]() |
Member Technical Staff | Bravara Corporation | St. Paul, MN | May 2001–Oct 2001 |
![]() |
Senior Software Engineer | Zhone Technologies | Minneapolis, MN | Sep 2000–May 2001 |
![]() |
Director, R&D | Net Perceptions | Minneapolis, MN | Jun 1999–Aug 2000 |
![]() |
Principal Software Engineer | NEO Networks | Minneapolis, MN | 1998–Jun 1999 |
PowerCerv holds the distinction of being the place I've worked the longest. Sadly, they are Failed Startup Number Four. However, they were instrumental in giving me the latitude to finish Ph.D. school, so that failure was well worth it—for me,at least.
![]() |
Vice President, Research | PowerCerv Corporation | Minneapolis, MN | 1996–1998 |
![]() |
Director, Tools R&D | PowerCerv Corporation | Minneapolis, MN | 1993–1995 |
ETA Systems (a.k.a. Failed Startup Number Two) was one of the spectacular failures that marked the beginning of the end of the big iron supercomputer. Only weeks after the release party for the machine ETA was started in order to build, they locked the doors—literally. We had to wait days and days until security could "escort" us to our desks to clean out our personal effects.
![]() |
System Software Engineer | ETA Systems | St. Paul, MN | 1987–1989 |
![]() |
Software Engineer | SPEED>S Corporation | Minneapolis, MN, Reston, VA | 1983–1987 |
![]() |
Software Engineer | Collins Communications Systems Co. | St. Paul, MN | 1980–1983 |
Consulting Experience
As is probably obvious, most of these consulting gigs were temporary work while I was in school or in a transition between failed startups.
![]() |
Software Engineer | Euler Solutions | Minneapolis, MN | Feb–Jun 1998 |
![]() |
Instructor | Euler Solutions | Minneapolis, MN | 1988–1990 (various) |
![]() |
Software Engineer | Artist Graphics | Roseville, MN | Jun–Aug 1991 |
![]() |
Software Engineer | Itasca Systems | Bloomington, MN | 1989–1992 (various) |
![]() |
Software Engineer | Anderson O'Brien, Inc. | Roseville, MN | May–Aug 1989 |
![]() |
Software Engineer | Perkin-Elmer Corp. | Eden Prairie, MN | May–Aug 1986 |
![]() |
Software Engineer | Source Telecomputing Corp. | McClean, VA | 1981–1982 |
Software and Hardware Experience
I've worked on a lot of different systems and platforms. I've tried to be reasonable here, listing only those things for which I can claim actual productivity (even if it's been a while). In addition, items listed earlier in each list are those over which I think I possess ongoing mastery. My favorite platform? Linux. Favorite languages? Perl, C++, Java, and Lisp.
![]() |
Operating Systems | Linux (RedHat 5.x–9.x, Slackware), Unix (BSD, System V, SunOS, Solaris, HPUX, IBM AIX), VxWorks RTOS, Windows |
![]() |
Programming Languages | Perl, C, C++, Ruby, Java, Lisp, Unified Parallel C, Scheme, Fortran, Pascal, Prolog, Visual Basic, PowerBuilder |
![]() |
Software Systems | Ruby on Rails, Java2 Enterprise Edition, BEA WebLogic, IBM WebSphere, ANTLR parser generator, Message Passing Interface (LAM, MPICH), Parallel Virtual Machine (PVM), X Window System, OSF/Motif |
![]() |
Parallel and Distributed Computers | Cray XT3, Cray X1E, Linux/Beowulf Clusters, SGI Challenge Cluster, nCUBE 2, KSR 1, Connection Machine CM-5, Connection Machine CM-2, ETA10 |
![]() |
Web Technologies | HTTP, HTML, XML, XHTML, XSLT, CSS, DOM, Apache Web Server, Jakarta Ant, Jakarta Tomcat, Jakarta Struts, Template Toolkit |
![]() |
Database Systems | MySQL, Oracle, Sybase, IBM DB2, Informix, Postgres, Unify, MS SQL Server, Itasca OODBMS |
![]() |
Networking | TCP/IP suite, SNMP, RIP, OSPF, MPLS |
Publications
Professor Donald Knuth has been quoted as saying something to the effect of, "It's easy to find people who can write code well, and it's easy to find people who can write English well, but it's hard to find people who can write both well." In my publications (as well as more mundane writing for internal audiences), I strive to "write both well."
|
Tom Nurkkala, Parallel Algorithms for a Highly Unstructured Problem: Natural Language Parsing Using Tree Adjoining Grammar, Ph.D. Thesis, University of Minnesota, 1997. |
|
Tom Nurkkala, Application Adaptation for Rapid Change, Invited column, Software Development magazine, November, 1996. |
|
Tom Nurkkala and Vipin Kumar, A Parallel Parsing Algorithm for Natural Language Using Tree-Adjoining Grammar, Proceedings of the International Parallel Processing Symposium (IPPS), 1994. |
|
Tom Nurkkala and Vipin Kumar, The Performance of a Highly Unstructured Parallel Algorithm on the KSR1, Proceedings of the Scalable High Performance Computing Conference (SHPCC), 1994. |
|
Editor of Kumar, et al, Introduction to Parallel Computing: Design and Analysis of Algorithms (First edition), Benjamin Cummings, 1993. |
|
Tom Nurkkala, Rich Bergmann, and Vince McGowan, Extending the PowerBuilder Development Environment with Dependency Maintenance and Preprocessing, Proceedings of the Powersoft International User Conference, 1995. |
|
Tom Nurkkala, Effective Documentation for PowerBuilder Objects, Proceedings of the Powersoft International User Conference, 1994. |
Professional Memberships and Awards
When I left Minnesota as an undergraduate in 1982, I was failing classes and on academic probation. When I returned to Minnesota for graduate school, it was as a Graduate School Fellow. What a joy!
![]() |
University of Minnesota Graduate School Fellowship, 1990–1991 |
|
Member, Association for Computing Machinery |
|
Member, IEEE Computer Society |
Thanks for having a look at my vitae. I hope the comments were helpful and not perceived as annoying or "unprofessional." If you'd like, let me know what you think. My email and other contact information is at the top of the page.
© Copyright 2007 by Tom Nurkkala.
All rights reserved.
Last modified: Thu Feb 8 11:18:48 CST 2007
On-line version at http://www.cs.umn.edu/~nurkkala/vitae.html
The views and opinions expressed in this page are strictly those of the page author.
The contents of this page have not been reviewed or approved by the University of Minnesota.