Tom Nurkkala, Ph.D.

9557 W 176th Court
Lakeville, Minnesota 55044
952/412-7619 (Cell)
952/898-9689 (Home)
tom@nurknet.com

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

Back to top

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

Back to top

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

Back to top

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

Back to top

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

Back to top

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.

Back to top

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

Back to top

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.