Knowledge

Information technologies

Below is a list of programming languages, scripting languages​​, operating systems and many other things from IT area, that I have had to deal with professionally and of my personal interest in my free time.

Skill Use (years) Notes
Programming languages, markup languages and scripting languages
Java J2SE 8 Read:
C++ 1.5 Read C++ Primer Plus (6th Edition), Stephen Prata, 2011
XML 1 Read:
XSLT 0.5 Read XSLT: Mastering XML Transformations, Doug Tidwell, 2001
XSD 0.5
HTML 1 Read HTML and CSS: Design and Build Websites, Jon Duckett, 2011

Used it when creating this website

CSS 0.5 Read CSS3: The Missing Manual, David Sawyer McFarland, 2013

Used it when creating this website

JavaScript 0.5
Linux Shell Scripting 4 Read:
A Practical Guide to Linux Commands, Editors, and Shell Programming, Mark G. Sobell, 2005
LaTeX 0.5 Used it when writing my diploma thesis
Operating systems
Linux 5 Read:
Linux. Polnoe rukovodstvo (english: "Linux. A complete manual"), D. N. Kolisnichenko, Peter B. Allen, 2006
Windows 17.5
Databases
SQL 2 Read:
Database Systems: Design, Implementation, and Management (5th Edition), Peter Rob, Carlos Coronel, 2002
JDBC 0.5
PostgreSQL 0.5
PL/SQL 0.5
Integrated development environments
Eclipse 9
IntelliJ IDEA 0.5
Visual Studio 0.5
Version control systems and life cycle control systems
Subversion 2 Read Pragmatic Version Control: Using Subversion, Mike Mason, 2006
IBM Rational Team Concert 2.5
Testing
JUnit 5
EasyMock 0.5
Mockito 0.5
QF-Test 0.5
CppUnit 0.5
User interface
SWT/JFace 5 Read Eclipse Plug-ins (3rd Edition), Eric Clayberg, Dan Rubel, 2008
Swing/AWT 2
JavaFX 0.5 Read JavaFX 8: Introduction by Example (2nd Edition), Carl Dea, Mark Heckler, Gerrit Grunwald, Jose Pereda, Sean Phillips, 2014
Theory
Algorithms 1
Design patterns 2 Read:
Regular expressions 4.5
Build
Maven 0.5
Ant 0.5
Other
Hibernate 0.5 Read Java Persistence with Hibernate, Christian Bauer, Gavin King, 2006
EJB3 0.5
Web services 0.5
Servlets 1
JSP 1
UML 1.5
JAXB 0.5
Open source libraries and frameworks
OpenOffice SDK 0.5
Apache Commons 0.5
jsoup 1
JForex API 0.5
Other skills
Touch typing in Russian, English and German 10.5 At that time I learned it using Solo na klaviature (english: "Solo on the keyboard")

Read books

Below is the list of books that I used while studying some of the technologies.

Thinking in Java (4th Edition), Bruce Eckel, 2006
Effective Java (2nd Edition), Joshua Bloch, 2008
Java Generics and Collections, Maurice Naftalin, Philip Wadler, 2006
Java Concurrency in Practice, Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea, 2006
Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, 1999
Java SE 8 for the Really Impatient, Cay S. Horstmann, 2014
C++ Primer Plus (6th Edition), Stephen Prata, 2011
Learning XML (1st Edition), Erik T. Ray, 2001
XSLT: Mastering XML Transformations, Doug Tidwell, 2001
Sams Teach Yourself XML in 21 Days (3rd Edition), Steven Holzner, 2003
HTML and CSS: Design and Build Websites, Jon Duckett, 2011
CSS3: The Missing Manual, David Sawyer McFarland, 2013
A Practical Guide to Linux Commands, Editors, and Shell Programming, Mark G. Sobell, 2005
Just for Fun: The Story of an Accidental Revolutionary, Linus Torvalds, David Diamond, 2002
Linux+ 2005 In Depth, Jason W. Eckert, M. John Schitka, 2005
Linux. Polnoe rukovodstvo (english: Linux. A complete manual), D. N. Kolisnichenko, Peter B. Allen, 2006
Classic Shell Scripting, Arnold Robbins, 2005
An Introduction to Database Systems (8th Edition), C.J. Date, 2003
Database Systems: Design, Implementation, and Management (5th Edition), Peter Rob, Carlos Coronel, 2002
Understanding SQL, Martin Gruber, 1990
Sams Teach Yourself SQL in 10 Minutes, Ben Forta, 2004
Pragmatic Version Control: Using Subversion, Mike Mason, 2006
Eclipse Plug-ins (3rd Edition), Eric Clayberg, Dan Rubel, 2008
JavaFX 8: Introduction by Example (2nd Edition), Carl Dea, Mark Heckler, Gerrit Grunwald, Jose Pereda, Sean Phillips, 2014
Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1994
Applied Java Patterns, Stephen Stelting, Olav Maassen, 2002
Thinking in Patterns: Problem-Solving Techniques using Java, Bruce Eckel
Design Patterns For Dummies, Steve Holzner, 2006
Java Persistence with Hibernate, Christian Bauer, Gavin King, 2006
Spring in Action (2nd Edition), Craig Walls, Ryan Breidenbach, 2007
Computer Networks (4th Edition), Andrew S. Tanenbaum, 2002
Modern Operating Systems (2nd Edition), Andrew S. Tanenbaum, 2001
JBoss in Action: Configuring the JBoss Application Server, by Javid Jamae, Peter Johnson, 2009

German

I have lived in Germany for 12 years, which allowed me to master the language of this country at a high level. I have also completed two language courses there. For some time I read fiction and philosophic literature using the German glossary Wahrig to enrich my vocabulary. Among the read books are all the works of Nietzsche, some of the works of Schopenhauer, Voltaire, Seneca, "History of the Peloponnesian War" of Thucydides and others. From fiction: Heinrich von Kleist, Goethe, Stendhal, Anatole France, Gogol and others. Later I mastered touch typing (10-fingered typing) I regularly watch TV in German on the Internet.

Books on German grammar

After my return to Russia I asked myself what book in Russian is the most complete reference book on German grammar. It turned out that there are not so many such books. Below is a list of books that I found noteworthy and that I began to use.

Grammatika nemetskogo yasyka (englisch: "A grammar of the German language"), Tagil I. P., 2008

Of all the books on German grammar written in Russian this one became my reference book. It is this book where I've found answers for most grammar questions.

Prakticheskaya grammatika nemetskogo yasyka (englisch: "A practical grammar of the German language"), Narustrang E. V., 1999

This book leaves other books known to me far behind regarding the number of covered topics and examples of use. But I personally miss a more detailed explanation of different grammatical phenomena in it. In my opinion there is also an excessive number of examples in some places that do not differ from each other in meaning.

Deutsche Grammatik - Ein Handbuch für den Ausländerunterricht (17. Auflage) (english: "German grammar - A handbook for foreign language lessons (17th Edition)"), Gerhard Heibig, Joachim Buscha, 1996

This book is written in German. Although its preface doesn't say anything about its target audience you can guess from its name that it is aimed primarily at teachers of German. Therefore, it contains a lot more theory and less examples than in "Prakticheskaya grammatika nemetskogo yasyka". As this book is intended for foreigners who learn German grammar, it gives a very detailed explanation of different grammar topics. Because of scientific writing style it is suitable for those who already have some knowledge of German grammar and want to deepen it.

English

Like any computer scientist, who chose this profession of one's own interest in the first place, I regularly read IT books, which are mostly in English. Therefore, I have been able to reach a level sufficient for reading of IT books and doing of correspondence. I evaluate the level of my verbal English as intermediate. I strive to improve the level of my English up to the level of my German. Have touch typing skill (ten-fingered typing)

Books on English grammar

Praktitscheskaya grammatika angliyskogo yasyka s uprashneniyami i kluchami (8-e isdanie) (englisch: "A practical grammar of the English language with exercises and solutions (8th Edition)"), K. N. Kachalova, E. E. Israilevich, 2003

After looking through a lot of textbooks on English I chose this book. It covers a lot of grammar topics and gives a very detailed explanation of some use cases of various forms. All this is supported by a sufficient number of examples. A distinctive feature of this textbook is an indication of the typical mistakes of Russian-speaking students. The book contains a large number of exercises and solutions, which helped me to memorize learning material very well. The only thing I do not like in the book are the exercises which require you to translate fairly long sentences dealing with trade and economy. I think that more abstract texts would be more appropriate, so that you can better concentrate on the grammar. After working with this book, I decided to create a program, which helps to review its material.

A Grammar of the English Language (5th Edition), Kaushanskaya V. L., 2008

This book is written in English, although there are examples translated into Russian in some places. It seemed to me that this book covered even more topics and fine points of the grammar despite a smaller size than "Praktitscheskaya grammatika angliyskogo yasyka s uprashneniyami i kluchami". But the lack of exercises and a short presentation of the material make it a good reference book rather than a textbook.