I started programming when I was in school. I wrote my first programs for a programmable calculator Elektronika MK-61 (non-BASIC, RPN programmable calculator which was manufactured in the Soviet Union during the years 1983 to 1994). The MK-61 has 105 steps of volatile program memory and 15 memory registers and some programmers managed to implement the simulator of the aircraft under these constraints. In comparison with Elektronika MK-52 it has no permanent data storage. Every time I had to enter the whole program manually. 🙂
At school in computer science lessons I wrote programs for the Electronika BK-0010 (it’s a series of 16-bit PDP-11-compatible Soviet home computers developed under the Electronika brand by NPO Scientific Center, the leading Soviet microcomputer design team at the time) and later for ES-1840 (it was a Soviet clone of the IBM PC in 1980, unlike IBM PC using the Intel 8088 processor, the early ES models used K1810VM86 processor with a 16-bit bus and a clock frequency of 5 MHz). I wrote all my programs and debugged them on a sheet of paper at home because at school I had time only to enter and run them. But it was a very useful experience.
I saw how much time my mother needed to prepare a work schedule and then I realized that people shouldn’t do this, these kinds of jobs should disappear, they should be eventually replaced by computers and software. That’s why I graduated Faculty of Mathematics and Informatics at Vilnius University in 2000.
At my first job I developed software (in C/C++) for virtual measurement systems: high-frequency digital oscilloscopes, arbitrary waveform generators, multimeters. I’ve created and implemented many algorithms to calculate the parameters of digital signals, to correct the signals in time and frequency domains in real time. I’ve also got an experience in system level and embedded firmware programming. I like to build something worthwhile and I’m very proud of the fact that these devices are used in the educational and research activities of military institutes.
Later I switched to .NET stack and participated in developing the railway transport information system where I gained a lot of experience creating high performance and robust 24×7 server-type applications.
I have spent the last 7 years working on a real-time bidding application and audience targeting. I worked on improving click through rate of ads. My mathematical skills, attentiveness to detail allowed me to easily communicate with data scientists and successfully implement various complex bidding strategies. I think that many colleagues I have worked with will agree that I’m good at highly concurrent multithreaded programming, especially at finding bugs in such programs and performance optimization.
Software development is very creative since you constantly create new functionality that didn’t exist before. Someone may say that many components are already created and they just need to be re-used. But the challenge is that you, like the painter, have a lot of colors, palettes, some nice patterns that need to be combined into one picture. And the final picture can be expressed in many ways, both structurally and in the details.
I often notice that many programmers tend to write the perfect/ideal code and I’m not an exception here. However, I understand perfectly well that it takes a very long time to write the perfect code. It can be so long that no one needs this ideal program by the time it is completed. In an attempt to find a “golden middle” between the ideal program and the program people need right now I remembered what Einstein said, “Everything should be made as simple as possible, but not simpler”. 🙂
The problem of trust in our world has existed for a very long time. Today I learned from a friend on Facebook that 8 of 10 ads on renting an apartment in Germany were scams. The problem of mistrust and fraud is a fundamental problem and I like to solve fundamental problems. 🙂 I know that it is very difficult to eradicate the root of it but I believe that we can make this world at least a little better.
Here at Monetha we have a very friendly atmosphere and sometimes we like to play friendly tricks on someone in our team. Recently, we went to a cafe to have lunch, and one of us forgot a backpack. We decided not to tell him about it but simply took the backpack with us. Once we moved far from the cafe we asked him if he was with a backpack. At that moment, we realized that there was something very valuable in it because for a while the colleague froze with horror in his eyes. Naturally, we immediately stopped this joke but laughed to tears thereafter. 🙂