Resume for Daniel Noll
I'm a software engineer in Sydney, Australia.
I have been writing software professionally since 1999, though I was writing it as a hobby since I was about 10 years old. My current placement is with Nuix, developing primarily in Java with some Ruby and C++ on the side. I would much rather be working in Ruby full time, but I have a fear that if I do that, I might start to dislike it.
Broadly, my objective is to find opportunities which best fit my interests, skills and experience, yet which still offer new challenges. At present I'm in employment at a good company so I will probably be looking to move only if the company somehow ties into my primary interest, being instant messaging.
My other interests lie in Japanese popular culture and "chatbot" software.
Professional Experience
Nuix Pty Ltd
Senior Software Engineer, 2004-07-01 ~ present
Performed as a senior member of the software engineering team. At the time I joined the team was two people. At the time of writing (2010-10-16) the team is seven people.
During my previous time at Nuix, I had been responsible for building much of the initial version of "FBI" (Fact-Based Investigation), the company's forensic investigation software. During this second phase, there was some maintenance done on version 1 on this software, but shortly after we began work on version 2 which ultimately became known as Nuix Desktop.
Primary responsibilities:
- Support for various file formats, including contributions of fixes, improvements and new features to the Apache POI, JNode and other projects. This also involved reverse engineering various binary file formats to implement closed source support.
- Scripting integration, using the javax.script (JSR223) API to interface primarily with JRuby.
- Licencing and other functionality restriction.
- Coordination of localisations of the software.
- Development and maintenance of an internal licencing web application written in Ruby on Rails, interfacing with a Java backend running the licencing code.
- (2006-2009) Helping to build "fbi 2" from the ground up, which was eventually to become "Nuix 2".
Elkera Pty Limited
Software Engineer, 2003-10-06 ~ 2004-06-30
Elkera's main products are document and knowledge management software.
Primary responsibilities:
- Defining requirements for a new enterprise document assembly application.
- Helped refine the requirements for a new XML schema for generic documents.
- Designing and developing the XML schema, which is now called BNML (Business Narrative Markup Language). The schema was developed in RELAX NG, due to its immense flexibility when compared with W3C's XML Schema.
- Acted as a consultant on new XML technologies. XML was a hobby of mine at the time so I was quite well read on the subject.
- Implemented minor enhancements to the automatic numbering application, which was written in C#.
Nuix Pty Ltd
Software Engineer, 2002-09-16 ~ 2003-09-30
In my first time at Nuix, the company was developing would I would describe as a web-based compliance platform. The team was big at the time, although I can't clearly remember how big it was around 10 in the main development area and more in testing.
Most of the work in this time was bug fixes for this application, and a few smaller new features.
Primary responsibilities:
- Named entity extraction, handled by GATE, which mostly involved finding problems with GATE and figuring out how to avoid them.
- General maintenance of the application, which was built on J2EE and Struts.
- Writing a new processing platform based on JMS; more specifically, OpenJMS, mostly involving taking the existing processing steps and rewriting them for message passing.
- Working on the first version of the FBI desktop software.
Badger Software Engineering
Contract for Macquarie Bank Limited, 2003-11-20 ~ 2004-02-10
This was a short contract designing and developing a prototype instant messaging system for a trader support centre, based on the needs of the bank at the time.
They wanted to base a system on open source technologies so I ended up writing a system using jabberd as the chat server, Tomcat as the web server, and some custom code to tie the webapp to the Jabber service. This was really my first commercial experience writing an instant messaging application. In addition to the IM feature itself, I also developed a system for distributing incoming requests between members of a workgroup, long before the XEP for doing such things was written.
Access Systems Research
Software Engineer for Access Gaming Systems, Asia/Pacific, 1999-09 ~ 2001-12
Access Gaming System is a developer of systems for online casinos.
Primary responsibilities:
- Maintained automated test tools for middle-tier services and croupiers (Java, proprietary language)
- Implemented middle-tier services for new system features (Java, Servlets)
- Implemented server side game logic — notably, added free spins and bonus games to the slot machine (Java)
- Implemented server side logic to update classes to new interfaces (Java)
- Implemented client side logic to match the server side changes (Java, AWT, Applets)
- Fixed bugs in various parts of the server and client sides (Java)
- Updated design documentation for all coding (Java, Rose2000, UML)
- Prototyped various parts of the system rewritten as Java2 (Java)
- Implemented system for running games full screen without special HTML (Java, JNI)
- Implemented distributed processing software for spanning tasks across multiple computers (Java, C)
- Implemented parts of the GUI for running the test tools (Java, Swing)
- Prototyped new parts of the animation framework, and bean framework (Java, Swing, XML)
Macquarie Dictionary
Web Site Architect for Macquarie Dictionary Online, 1999-03 ~ 1999-08
Primary responsibilities:
- Reimplemented existing web site for better scalability (HTML, CSS, JScript, Perl, CGI)
- Implemented some server side query services (proprietary language, CGI)
- Helped maintain dictionary and reference databases
Bruce Hall (Australian National University)
Webmaster, 1998-03 ~ 1998-11
Webmaster for the Bruce Hall web site, entailing setup of multiple user web accounts on the web server, administration tasks (Apache) and administration of the web site itself, primarily Perl-generated HTML.
Procode Development
Programmer, 1997-11 ~ 1998-01
Development of commercial web site including basic secure ordering system (HTML, Perl, CGI.) Additionally some fun programming using PC BIOS calls to draw text-based graphics for boot screens.
Education
Bachelor of Information Technology (Software Engineering), Australian National University, 1996-03 ~ 1998-11
South Australian Certificate of Education, Prince Alfred College, 1994 ~ 1995
References
References are available on request.
Last updated: 2010-10-16