Mr. Dimitre Dimitrov Novatchev
Vienna, Austria, tel. (+431) 946 - 7176
mailto:
dimitren@usa.net
SUMMARY
More than 10 years' experience in quality software development. Microsoft Certified Professional, Systems Engineer (MCSE), and Solution Developer (MCSD). Project leader, Systems Architect, Programmer and Trainer. Currently supervising tens of developers in a large international organization. Author of one of the most popular XSLT/XPath authoring and learning tools - the XPath Visualiser. Led projects, developed (designed, heavily programmed, debugged and tested) five very complex systems. Expert in XML, XSLT, Client/Server and Object Oriented GUI Windows programming, C++, C, Windows NT, Server and Client side XML, ASP, HTML programming, Visual Basic, GUPTA SQL Unix, MS Dos. Proven track record of efficiently solving algorithmic problems of extreme complexity. Taught students in Computer Science. Read tutorials in Visual C++ and Visual Basic.
COMPUTING SKILLS:
Certifications:
- MCSE, MCSD, MCP.
- Brainbench.com Certificates:
- "Master in XML" (second best score in the world).
- "Master in C".
- "Master in Written English"
- "C++ Programmer"
- "Object-Oriented Programmer"
- "RDBMS Programmer"
- "Project Manager"
Computers and Operating Systems:
- IBM PC (Pentium, 80486,) under Windows NT 4.0, Windows 95, MS DOS
- IBM mainframes (System 370) under OS SVS, MVS, TSO, VM/370 CMS, UNIX
- UNIX (SCO ver. 2.0, 3.0)
- Micro VAX under UNIX BSD 4.2
Programming Languages and Environments:
- XML, XSLT (MSXML3, SAXON) -- see the Appendix
- DHTML
- JAVA (Javasoft 1.1.8, MS SDK for Java 4.0)
- JavaScript, Jscript, VBScript.
- C /C++ (MS Visual C++ 6, 5, 4.2, ANSI C, MS C ver. 5.1 - 7.0,)
- Microsoft Foundation Classes
- MS Windows SDK
- GUPTA SQL Windows (SAL, CDK)
- YACC, LEX
- MS Visual BASIC ver. 3.0, 4.0, 5.0, 6.0
- MS Source Safe ver. 5, 6
- MKS RCS, Source Integrity
- PL/I (IBM Optimising & Checkout Compiler)
- Pascal
- FORTRAN-4/FORTRAN-77
- IBM 370 Assembler
Database Design, DBMS:
- MS SQL Server 7, MS Certified (exam 70-029)
- Computer Associates Jasmine (developer of client side and server side functionality)
- Fujitsu’s ODB-II
- MS ACCESS
- GUPTA SQL Windows
- ORACLE 6.0
- BTRIEVE
Network Experience:
- Windows NT, MS Certified (exams 070-058, 070-067, 070-068, 070-073)
- Novell Netware
- TCP/IP (Internet), MS Certified (exam 070-059)
Other Software:
- MS Office - 2000 (Word, Excel, Access, Outlook)
- MS Project 98.
- Other MS Office products (MS Powerpoint etc.)
PROFESSIONAL PROFILE:
International Atomic Energy Agency Vienna (April 1999 - present)
Post: Software Development Manager.
Tasks:
1. Lead and supervise the software development process in the unit and ensure its quality, standardization, efficiency, discipline and progress.
2. Study the business requirements of the organization and translate them into strategic vision and new project initiatives.
3. Take over the leadership of critical projects, when necessary.
4. Keep abreast of latest technological developments in IT, software development, software engineering.
5. Train and educate developers, brief highest management on the state of the art and strategic breakthroughs in IT, software development, software engineering.
6. Assure the unit is making continuous improvement by achieving higher levels of the Capability-Maturity Model (CMM).
Fujitsu Advanced Software Technology Sydney (September 1995 - April 1999)
Post: Senior Software Development Engineer.
Tasks:
1. Conducting research and producing recommendations for the implementation of XML as the standard Data Format in Jasmine. Development of a DTD specifying a concrete XML set of tags for Jasmine metadata and instance data, as well as for RPC over XML for methods of Jasmine objects and the client-side Jasmine ActiveX control. Development of "prove of concept" prototype XML / XSL Demo applications.
2. Development of C++ class libraries for use by the ActiveX Scripting client applications and end users of Fujitsu’s ODB-II Object Oriented DBMS
3. Development of C++ class libraries for use by the OCX/client applications and end users of Computer Associates/Fujitsu’s Jasmine Object Oriented DBMS
4. Development of an advanced HTML Demo application of the Jasmine OCX for CA World (July 1997. This demo won great recognition for its dynamic design style.
5. Program Development of the GUPTA SQL/Windows Client (Quick Objects) for Fujitsu’s ODB-II object oriented DBMS.
6. Research of new directions for ODB-II such as ways of implementing distributed transaction processing standards (X\Open XA standard) including two phase commit, WEB-enabling ODB-II, data warehousing (data mining / knowledge discovery in databases) etc.
Programming Language: MS Visual C++, MFC, VB, JAVASCRIPT, VBSCRIPT, XML Object Model, XSL, IE 4.0 HTML Object Model, IIS ASP, GUPTA SAL, ODB-II ODQL, MS Windows SDK.
Database Systems: Fujitsu’s ODB-II, Jasmine, GUPTA SQL/Windows
Operating Systems: Windows NT, Windows 95, Windows 3.1, MS DOS, UNIX
Duties/Activities:
- Investigate state-of-the-art directions in Web and general applications development -- prepare recommendations for the design and implementation of XML as the Standard Data Format in Jasmine.
- Design/Architect and implementation of the class libraries for use by the ActiveX Scripting client applications and end users of Fujitsu’s ODB-II Object Oriented DBMS.
- Working with developers of Computer Associates Jasmine. Educating CA Developers about Object Oriented Data Bases. Helping them discover and correct key bugs in their HLI class library.
(since June 1996, Worked in USA - Mt.Laurel NJ in October 1996, Islandia NY in June 1997).- Complete development (design, coding and testing) of the C++ class libraries used by the OCX and client applications for Computer Associates/Fujitsu’s Jasmine Object Oriented DBMS
- Web application development using XML, XSL, IIS ASP, JAVASCRIPT, VBSCRIPT, IE 4.0 DHTML
- GUPTA Client of ODBII: Design and implementation of the Design-time Interface (property editors for the ODB data source, property editor for visualisers of the basic data types, sets, relationships, master-detail relationships and pictures) using SQL/Windows CDK.
- GUPTA Client of ODBII: Design and implementation of the run-time system (ODB data source, ODB visualisers, dynamic set and relationship visualisers, transaction control) based on SQL/Windows Quick Objects.
- GUPTA Client of ODBII: User Interface Design
- GUPTA Client of ODBII: Writing and updating program documentation.
- Preparing proposals for the development of new functions of ODB-II.
- Research of the current state of the art in WEB-enabling existing RDBMS and ODBMS and taking part in the development of a proposal for such enhancements or new projects.
Reasons for Leaving: Was selected to work in the International Atomic Energy Agency. This would allow my full knowledge, rich experience and expertise to be used on a much larger scale in the leadership of the software development process of a large international organization.
MicrOpay Sydney(March 1995 - September 1995)
Post: Analyst / Programmer.
Tasks: Support -- Program Maintenance, Error Correction and New Development of the MicrOpay products.
Programming Environment: MS Windows for Workgroups 3.11, Windows NT, Visual C++, MK RCS, Track Record.
Software Quality Standard: AS-3563.
Reasons for Leaving: Was invited to join Fujitsu Australia Ltd. at the post of Snr Software Development Engineer
Pegasus Technology Sydney(1994 - 1995)
Post: Senior Software Engineer.
Tasks: 1. Development of an in-house Time-Sheet / Invoicing System.
2. Modifications and maintenance of a Pegasus developed CAD system.
Programming Language: MS Visual C++ , MFC 2.0, MS Windows SDK.
Database Systems: MS ACCESS 2.0, BTRIEVE
Operating Systems: MS Windows, MS DOS, Novel Netware
Duties/Activities:
- Development of the entire system design.
- System Specification
- Program Specification
- Schema Specification
- User Interface Design
- Development of the Entry/Update Forms for the Time Sheet tables.
- Programming the Billing Lines and Invoice Generation.
- Modifying and maintaining the Culvert Design System.
- Interacting with Pegasus managers.
Reasons for Leaving: Found better work in a more prestigious company.
Sofia University -- Computer Centre Sofia(1990 - 1994)
Post: Head, Department of Electronic Data Processing.
Duties/Activities:
- Supervision and control of all aspects of programming, maintenance, exploitation and organisation of several University Administrative Information Systems.
- Controlling every aspect of computing as applied to the process of education at the University.
- Ensuring the efficient utilisation of largely heterogeneous computer and communications hardware, operating systems, programming languages and environments, DBMS, etc.
- Reading lectures to graduating Computer Science students.
- Organising a Tutorial Program on modern data processing and software development products and environments including: MS Windows, MS Word for Windows, Ms Excel, MS Access, MS Visual Basic, MS Visual C++.
- Reading tutorials: Windows Programming with Visual Basic; Windows Programming using MS Visual C++ and MFC.
- Interacting with users and partners from the industrial and academic community.
Reasons for Leaving: Immigration to Australia.
Great Bear Technology Sofia(July - November 1993)
Post: Project leader
Task: Development of a complete commercial software system for Electronic Publishing
Programming Language: MS Visual C++ & MFC 2.0
Duties/Activities:
- Development of the entire system design.
- System Specification
- Program Specification
- Database Structure Specification
- Programming the Compression, Table of Contents, Index and Glossary subsystems
- Writing program logic documentation.
- Controlling the progress of the project team;
- Interacting with Great Bear managers.
Reasons for Leaving: Succesful end of the project (contract).
Synthesis Soft Sofia(November 1990 - April 1991)
Task: Development of the ALPHASPELL program product for spelling checking of Russian in a MS Windows environment.
Programming Language: - MS C 6.0
Reasons for Leaving: Succesful end of the project (contract).
Interprogramma Software Research and Development Institute Sofia(1979 - 1990)
Posts: System Programmer, Systems Analyst, Project Leader.
Tasks:
- Leading software development projects.
- Writing system and design specifications.
- Writing modules of code.
- Writing system and user documentation.
- Supervising the project team.
- Generating proposals for new product development.
- Writing analytic reports about the state of the art in different areas of modern information technologies.
- Reading lectures to graduating computer science students.
- Installation and fine-tuning of timesharing operating systems and simple networks on IBM/370 mainframes.
- Consulting colleagues on the use of TSO.
Program Products Developed:
- The ABV Spelling Checking and Morphological Analysis Systems for Bulgarian and Russian, 1987 - 1989. Written in MS C by a project team of three programmers. Each system comprises 15000 lines of code and a 30000 word-stems' lexicon. Pioneering work in Bulgarian and Russian morphology. One of the most successful products of Interprogramma - sold by the hundreds.
- INTERPRO - a programming environment for IBM OS TSO, similar to SPF, 1983 - 1984. Written in IBM/370 Assembler by a project team of four programmers. Consists of 64000 lines of code. In short time became a profitable commercial product.
- A Full screen text editor for IBM TSO, 1981. Written in IBM/370 Assembler for 3270 terminals. Used heavily by Interprogramma for several years.
Reasons for Leaving: Accepted work at Sofia University in an academic and more creative research environment aiming at conducting Post-Doctoral studies/development more efficiently.
Winning Professional Specialisations Grants:
- A DAAD (German Academic Exchange Agency) grant for a two - months specialisation, Saarbruecken, 1993
- Fullbright Scholarship Grant by USIA -- for a 9 months specialisation, International Center for machine translation, Carnegie Mellon University, Pittsburgh USA, 1991 - 1992.
EDUCATION:
BULGARIAN ACADEMY OF SCIENCES Sofia
Institute of Mathematics and Computer Science, Computer Science Department
Degree: PhD in Computer Science (1982 - 1986)
Thesis: Design and Implementation of a General Purpose Textual User Interface Management System.
Official Defending Procedure: 1988
SOFIA UNIVERSITY "ST. KLIMENT OHRIDSKI" Sofia
Faculty of Mathematics, Computer Science Department
MSc in Computer Science (1974-1979)
Thesis: A User Query Language for the SIOK Multi-user Database System
Coursework Includes: Discrete Mathematics, Mathematical Foundations of Computing, Data Structures, Computing Architectures, Operating Systems, Fundamentals of Software Development, Algorithmic Languages and Compilers, Database Management Systems, Software Engineering
English Language High School Sofia(1967 - 1972)
LANGUAGES:
Fluent in English and Russian, basic understanding of French, Bulgarian is my native language
CITIZENSHIP: Australian citizen
REFERENCES:
References are available upon request
LIST OF PUBLICATIONS:
Available upon request
VBXML.COM: (April 2000 - present)
Products Developed:
- The XPath Visualiser (http://www.vbxml.com/xpathvisualizer) -- developed in my free time.
This is one of the most popular XSLT/XPath authoring and learning tools. Only in December, 2000 it was downloaded 2200 times. Links to the homepage of this product have been established by such prestigious and well-known XML organisations as: W3C.ORG, XSLT.COM, XMLSOFTWARE.COM, XMLDIR.COM, XMLPITSTOP.COM, Jeremie.com, D.Pawson’s XSL FAQ (http://dpawson.co.uk/).
This is a full-blown Visual XPath Interpreter for the evaluation of any XPath expression and visual presentation of the resulting node-set or scalar value.
The XPath Visualiser's value as an XSLT and XPath learning and authoring tool results from its ability to present the results of any XPath expression in an immediate, appealing and straightforward visualization. It allows the user to define their own dynamic xsl:variable and xsl:key elements and to use variable references and the key() functions in their XPath expression.This tool can be used for:
- Composing and visually verifying the exact XPath expression when designing an XSLT stylesheet.
- Obtaining the quantitative characteristics of a xml document -- counts, sums, arithmetical and relational results, strings, substrings etc.
- As a "nodeset view" in a watch window of an XSLT debugger.
- Conveniently obtaining subsets of elements by defining and referencing xsl:variables and xsl:keys.
- Learning and playing with XPath expressions.
- Learning and playing with xsl:variables and xsl:keys.
- As a good example how to process completely un-anticipated XML documents using "push processing".
- The Remote XML Workbench ( http://www.vbxml.com/remotexml)-- developed in my free time.
This is designed to support remote access to a collection of the most popular XML processing tools, guaranteed to be correctly installed and available from any Internet – connected client. The client supplies both the text of their xml source document and the text of their stylesheet. The transformation as specified in the client’s stylesheet, is performed on the server and the result is returned.
At present, the following XML/XSLT processors are supported:- MSXML3- SAXONImplemented remote access to SAXON (and passing strings (not filenames) to it) has been achieved by writing a Java-COM wrapper around certain SAXON classes.Fujitsu Advanced Software Technology Sydney (1998 - 1999)
Results:
- Experimental implementation of XML as the standard Data Format in the Jasmine OODBMS.
This included two major features:
- Parsing an XML document and saving its DOM as a set of Jasmine objects.
- Representing any Jasmine object and query result as XML text.
The implementation of the first feature required to write a Java + JNI wrapper of the MS (Java) XML Compiler, which accessed the internal DOM representation of a parsed XML document and transformed every object of this representation into an appropriate Jasmine object.
- Experimental XML/XSL query front-end to the Jasmine OODBMS (1997-1998).
This extracted as XML all Jasmine metadata and an XSL transformation presented it to the user in a convenient outline-style format. The user was able to select class families, classes and properties - this was assembled into a query and sent to the server. The results of the executed query were represented as XML and an XSL transformation presented them to the user in a convenient table format.
visits since 19/11/97