About me
I'm a software architect and developer, programming since 1997. I especially like building multithreaded and distributed systems, application frameworks and open source projects.
I was born in 1983, lived 20 years in Adana and have been living in Istanbul since 2004. I started Sakarya University Computer Engineering in 2003 and graduated in 2007 as the highest ranking student of the department.
After working 8 years as a professional software developer, architect and team leader, I left my job on 31st July 2015 and established my own company: Volosoft.
I have been programming since I was 14. I started with Turbo Pascal 7.0 and worked on many languages, platforms and technologies so far.
Besides computers, I like reading books, especially science, science fiction, psychology and detective books. I like to play chess and Turkish checkers.
My computer life
I met computers at 13 and started programming at 14 (in 1997) with Turbo Pascal 7.0. My first motivation was to code my own games, because my computer couldn't run good ones. It was an old computer with an Intel 286 CPU and MS-DOS 6.22. Norton Commander 5.0 was my best friend. I built many small games and DOS applications with Pascal. I learned Pascal from a Turkish book and the built-in help of the Turbo Pascal editor, going through all the standard library functions in the help reference and trying them…
I got interested in web technologies (FrontPage 98 and a little HTML) through a handbook that came with PC World, but I didn't have a PC to build web sites on. In 2000 I finally got a Pentium 133 PC (also old for its time) with Windows 95. I built my first static HTML web site and published it to a free web host from an internet cafe.
One day a PC World issue came with a handbook about Perl. I read it and learned that the web is not only static HTML pages. Then I got an ASP (Active Server Pages) handbook from PC World and I saw the light, it changed my world! It was too hard to make ASP run on Windows 95. I found PWS (Personal Web Server, an old variant of IIS) for Windows 98, downloaded it with difficulty and installed it. After a week of effort it worked! During that week, I finished reading the ASP handbook without coding (or coding in my mind), so I was ready. I sat in my chair and started coding ASP. At the same time I learned that an ASP web site isn't very useful without a database… I started learning MS Access even though it wasn't installed on my PC. I didn't give up: I designed the database on paper, found an office PC with MS Access, created the database and copied it to my computer with a 3.5 inch floppy disk. Eventually I built my ASP based web site using only ASP, HTML, JavaScript, CSS and Windows Notepad, and uploaded it to a free ASP host.
In 2001, I started Textile Engineering at Çukurova University and continued programming as a hobby. In the second year I decided to give up textile, took the university exams again and got into Computer Engineering at Sakarya University. Since I love computers and programming, my grades were pretty good and I graduated as the highest ranking student of the department (3.55 of 4.00).
In the first year of university, I learned C, Visual Basic .NET and ASP.NET. In the second year I joined the university's IT department to build a completely new Student Relations Automation System. I worked there for a year, finished the project and learned Visual Basic .NET (with Visual Studio 2003) and SQL Server 2000 deeply.
In my third year (2005) I learned C++ from Robert Lafore's ultimate book, Object Oriented Programming in C++. It was my first introduction to object oriented programming, and I was impressed! After C++, learning C# was easy, since I was already familiar with .NET through VB.NET.
In the second half of the third year, I joined the Erasmus program and studied at the University of Thessaly in Greece. It was my first experience abroad and was very valuable for me.
In my final year, my graduation project was a "TCP/IP stack implementation in Java". I didn't have good knowledge of Java or TCP/IP. In the first term, I learned Java deeply (from Herbert Schildt's Java: The Complete Reference) and researched the TCP/IP protocol suite. In the last term I implemented ARP, IP and TCP (TCP wasn't completely finished because of time constraints). I managed to build an application that communicates over the internet using my own TCP/IP stack instead of the default Windows sockets. I also wrote an article and developed an application on ARP spoofing, and improved my skills in multithreaded and asynchronous programming.
After graduating in 2007, I worked for two different companies and finally for my own company. I developed many Windows and web based applications and services, primarily with C# and .NET, and learned many other technologies and methods along the way.
I especially like developing well designed, object oriented, multithreaded and distributed software systems. Just as a computer without the internet isn't very useful, I think an application isn't powerful without communicating with other applications and systems.