Introduction

After giving a talk at iQuest Keyboards & Mice in Brasov, watching World Cup and returning from vacation, is now time to go back blogging, but before returning to technical posts, I’ve decided to write a personal one.
The year 2018 marks a very important moment in my life: 25 years since I’ve written my first line of code, so faced with such an anniversary, I took the time to detail how did I become a software developer.

First contact with a computer

In the summer of 1992, when I was 12 years old, my mother told me I could come play video games on the computer located in her office. If I remember correctly, it was a 286 computer running MS-DOS and since this was my first time in front of a computer, it was pure magic for me seeing someone typing something on the keyboard and launching a game. So, yeah, my first contact with a computer was playing video games and the first that I played was Grand Prix Circuit, while the second I played on the same computer was Prehistorik.
Even though I was hooked to computers since that very moment, the first one that I could afford buying would not come until late 2001.
Playing video games is a thing I’m still doing these days, helping me relax and distracting my attention from things like work and … blogging ;)

Writing my first line of code

During the same year, while entering my 7th grade, my classmates and I were split among different study groups, each one being allocated 2 hours per week for studying a specific class like Romanian, Computer Science, Physics & Chemistry and others, in addition to the daily classes. Of course I wanted to go to the Computer Science class, but since the entry criteria was having at least mark 8 at Mathematics (in Romanian educational system, mark 1 is the lowest, while mark 10 is the highest) and since I was around mark 6, I decided to pick Physics & Chemistry since my best friend was attending that class too.
After several months of studying elements and forces, it just happened that I’ve found out one of my classmates, who also didn’t qualified for Computer Science class due to the same reason as me, managed to get transferred to that class. Based on that precedence, I’ve also asked for a transfer and thus I got to the point where I was standing in front of a computer and writing my first program using Basic.
After finishing the programs requested by our teacher, we were allowed to play video games in the remaining study time and we were loading them into the computer using a cassette player, very much like shown here - we’re talking about an HC 90 computer with a monochrome monitor and the screeching sound from this video does bring back good old memories!
Solving geometry problems using Basic (as my Math and Computer Science teachers were one and the same person) was thus my first step into coding and in the autumn of 1993, when I was 13 years old, I realized I wanted to become a software developer. Choosing a career is not easy, so I feel very fortunate that I knew what my future career is at such a young age.

High school

After graduating secondary school and knowing what my future career is, in the summer of 1994, I enrolled in the exam for a place at Grigore Mosil National College from Brasov, formally known as Computer Science High School; the exam consisted in 2 written exams: one for Romanian and another one for Mathematics. Due to my modest skills in Math, I failed to get a grade good enough to be admitted. At this point, it looked like I would never see my dream of becoming a software developer come true, but, after several days, it just happened that this institution allowed 25 more students to be admitted, so, if I remember correctly, I was the last or the one before the last person to be admitted!
Even though I struggled with Math during the entire high school, I was getting a formal education in Computer Science. It all started with studying algorithms using logical schemas and pseudo-code, then I was introduced to several programming languages, like Pascal and C. Later I studied graph theory, operating systems, like MS-DOS and database management systems, like FoxPro.
During the high school years (1994 - 1998) I discovered I had a real passion for programming and it really helped a lot having a very gifted Computer Science teacher like Mrs. Delia Gârbacea, who knew how to teach, challenge and motivate her students. Sadly, she was my Computer Science teacher for only 2 years, during my 9th and 10th grades, but even so, I consider her influence to be of paramount importance to my career as she shaped my problem analyzing and solving skills, while at the same time nurturing my passion for programming and teaching me not to be afraid of hard-working towards a solution.
While being a 9th grade student, my mother helped a guy and asked him to return the favor by teaching me and my elder brother some Computer Science skills. What he did was opening the MS-DOS manual from the command line and reading us the entry of a particular command and then letting us run it on his computer. It was informal Computer Science education and this lead my brother and I buy the first programming book, an MS-DOS 6 manual, and then several second-hand English computer related magazines from an antique store. Learning several of these MS-DOS commands came in real handy as one year later, while attending an Operating Systems high school class, I was being examined by concocting various MS-DOS commands used for managing files and folders. It was my first time, but definitely not the last one, when I was studying Computer Science outside my day-to-day school and then, much later, my job.

First attempt to Computer Science

By my senior high school year, it was crystal clear to me that after graduation, I would try and be admitted to a Computer Science Faculty. The year 1998 was also the first one when Transilvania University from Brasov allowed a person to enroll to as much specializations as possible, as long as the exam of each one was in a different day, so I enrolled to both Mathematics and Computer Science and Technological Engineering Faculties. Once again, due to my modest Math skills, I failed to be admitted to Computer Science specialization; on the other hand, my exam grades were good enough for both Mathematics-Physics and Aerospace Engineering. Between becoming a Math or Physics teacher and building planes, I have chosen the latter. Aerospace Engineering is a very tough specialization, full of Math and Physics based classes, but nevertheless I did manage to reach the 3rd year of study. Even though this Faculty was about engineering, it just happened that I was still in touch with Computer Science as my first 2 years of study contained several classes related to this study field.

Second attempt to Computer Science

In April 2000 my father died and my brother and I were left with an apartment.
It just happened that during the Christmas vacation from my 3rd year of study I had this very, very wild idea: how about I quit Aerospace Engineering, sell the apartment, split the money with my brother and thus have the means of paying for a place at Computer Science? Transilvania University had introduced paid studies in addition to the free ones since 1998 or so, but you still had to pass the exam like everyone else and get a good enough grade, as even these paid places were limited. I knew I was not going to get a very good grade at the Math exam, but now I would have the money to apply for a paid place. Without letting anybody know, not even my mother, I quit Aerospace Engineering just before my 3rd year winter session, when I was almost half-way to becoming an engineer, and in the summer of 2001 I enrolled in the exam for a place at Computer Science Faculty for the second time … and again for the second time, I did not get a good enough grade. Several days after the exam grades were displayed, it just happened that some of the admittees have chosen to study elsewhere, thus freeing enough places for me to be finally admitted - to a paid place, but hey, I was about to live my dream!

Living the dream

So I finally got my way into Computer Science Faculty and started studying algorithms and their complexities, Pascal (again?), Java, Delphi, C++, C# and sadly lots and lots of Math.
I remember that the Java exam from the summer of 2002 was difficult and I barely managed to take a grade of 5. Due to my passion for programming, I could not bare getting such a low grade to a Computer Science class (though I was definitely not so picky when dealing with a low grade at any of my Math related exams), so I came back in autumn, before the start of my 2nd year of study, for a re-examination. I got a 9, which qualified me for a scholarship, but since I was on a paid study place, I was denied it.

The shift

In December 2001, one of my classmates invited several people, including myself, to a Christmas carol concert which took place at Home Army from Brasov; the following year, I was invited to a similar concert, but this time the location was different: Hope Baptist Church. Thus, on the Christmas Day of 2002, I have entered a Protestant church for the first time in my life.
Before the concert started, it just happened that the principal pastor made an announcement about Sunday school. This piqued my curiosity, so in one of the first two Sundays of 2003 I went to this church, looking to better understand who they are and what they teach. At the end of the Sunday school, I pulled the sleeve of the youth pastor as he was about to exit the church main hall to get his attention and told him I would like to know more about God. He invited me to his office and told me to reflect upon this wish and come back to him after a couple of weeks, as he was about to be out-of-town for some time. We met again after two weeks and agreed to meet every Thursday at 17:00 for an hour to discuss about God.
During our first meeting he opened the Bible and showed me a verse found in the New Testament: “That if thou shalt confess with thy mouth the Lord Jesus, and shalt believe in thine heart that God hath raised him from the dead, thou shalt be saved.” (Romans 10:9). I remember asking him whether being saved (forgiven of all sins) is that simple and he clearly responded: yes. We met several times more and during these meetings the youth pastor showed me different Bible verses so that I may understand that in God’s eyes I’m a sinner, deserving an eternity in Hell for all my transgressions, while the only way of escaping such fate being Jesus Christ.
During our 6th meeting, he directly asked me why don’t I do what Romans 10:9 says. In that moment I truly realized my sinful nature and its eternal repercussions. Our one hour meeting was at its end, so I took my leave to the church main hall to reflect upon these things. I was the only person there and I remember taking the Bible, opening it to Romans 10:9 and did exactly what the verse said: I confessed Jesus as Lord with my mouth and believed in my heart that God had raised Him from the dead. Thus, on February 27th, 2003, I received Jesus Christ as Lord and Saviour, being born again as Christian, not because of my good deeds, but because of the faith I have put in God. Four weeks later, on March 30th, 2003, I was baptised too at the same Hope Baptist Church.

It just happened

By now, I believe you are aware of all the above “it just happened” occurrences. After I received Jesus Christ as Lord and Saviour, I also became aware of them and finally understood why I was so passionate about Computer Science and why it took so many trials for me to finally attend and then graduate this specialization: God Himself put this passion into my heart so that I may be attracted to Computer Science class during secondary school, to be further attracted to Computer Science high school and faculty, so that I may meet this classmate, so that she may invite me to Hope Baptist Church, so that I may meet this youth pastor, so that he may tell me about the crucifixion, death, burial and resurrection of Jesus Christ, so that I may believe in Him, so that I may be saved, so that I may have the opportunity of sharing with others what God did to me and is ready to do to anybody: grant forgiveness of sins and eternal life.
I was denied entry to Computer Science for years so that I may realize that me getting there was due to God alone and had nothing to do with my own abilities.
I could never have become part of the IT industry without the help of God, so let me give you another example: when my mother retired in 2003, I had to spend my study money to provide for my family until she got her first pension, a thing which happened after several months. So I was faced with the possibility of not being able to finish my studies due to lack of finances, but God had other plans for me. He wanted me to get a Computer Science diploma, so it just happened that my father’s sister, when hearing about my situation, decided to help me and paid for a semester, enough for me to buy more time and get the money to pay for the second. Once again God showed me Computer Science was His choice for me, as I was not able to finish it on my own.
When entering my 4th year of study, the Faculty decided to increase the annual study fee, so I was back in a tight spot, but again, God had other plans for me: due to the good marks from the past study years (remember the 9 I got for Java?) and due to several free places becoming available, I was allowed to transfer from my current paid place to a free one and on top of that, I also got a scholarship, as in: do not pay to go to school, but get paid for coming to school!. God is truly good!
So, you see, all these events cannot be mere coincidences, as they are way too many and way too deeply connected to each other to not act as the links of the same chain used for pulling me from the abyss of sin: the God’s plan for my life.

My first job as a software developer

My first software developer job was working on an ERP written in Delphi 5 and using MySQL as its storage. This happened in August 2004 and back then I was happy to get 80 EUR for working half-time; I was about to enter my 4th and last year as a Computer Science student and wanted to finish university the following one, so working 4 hours a day was the maximum I could afford at that time.
I still remember the satisfaction I had when I found a way of cramming 4 pay slip fields onto the same A4 page and being able to print it using Delphi! I quit that job after several months for a .NET developer role and the rest is history.

Conclusion

As I write this post, looking back to all persons and events which have lead me to this very moment, I know for sure that God Himself has chosen software development as the means for me to know Him personally as Lord and Saviour. He cares a lot about me, that’s why He didn’t stop at granting me forgiveness of sins and eternal life: while studying Computer Science I met my future wife, as we were students attending several common classes; she is the love of my life and the mother of a most beautiful, smart and bright daughter. Furthermore, software development showed itself as the best career choice I could’ve hoped for, letting me create things from scratch, fixing broken ones, visiting far away places and meeting people from far away.

Thank you, Jesus, for software development!