Google Developer Expert for Web Technologies
Tell us a little bit about your background
In 3rd grade I had an XT computer, and one day it stopped booting. I went to the neighbors and tried to get MS-DOS diskettes to fix it, and when that didn't work, I dismantled it and put it back together. The computer did not return to function, but it was a trigger for the family to buy me a technical book explaining the structure of the computer and the operating system. The last two chapters were dedicated to QBasic, and since I discovered it - I fell in love!
On my next birthday I received a book from my aunt on Turbo Pascal including a compiler disk, and I wrote several hundred programs during elementary school (most were not very useful). In the sixth grade I first hooked up to the internet and discovered the wonderful world of mIRC, then the "bots" that were run by an engine called Eggdrop. I started to write my own bots, and that's how I learned the TCL language. In high school I used it to open a forums system for our class, and a lens system simulator. During high school I also learned the PHP programming language, with which I had already written full web applications such as a photo gallery for the school website.
Through the meetups and lectures I met many new friends, for example Gil Fink who told me about a cool development conference in London and encouraged me to submit lectures. At Gil's advice, I submitted three applications and a workshop, in order to increase my chances. It worked too well - they were all accepted. It was a pretty intense experience, and so I began to travel around the world among conferences and lecture on new technologies.
Was there a turning point in your career? A moment when you reached the understanding that you need to change direction or look at things from another perspective?
There is no specific point I can put my finger on, but rather a process that took many years. I realized that technology itself was not as important as the goal it served. In many cases when you look at the overall picture it is better to do something that is not optimal technologically, for example continue to maintain an old code that works instead of rewriting it in a more precise or correct way.
Technologies come and go. Every few months a new trend comes up. It's important to know the trends and follow the developments, but that doesn't mean that you have to run and constantly adopt what is new. Ultimately, the purpose of the technology is to serve the end-users, and they don't really care which framework you used, whether you have Unit Tests, or if your objects are Immutable or not - as long as the app brings them the value they need.
What technological issue will you talk about at the conference? And why is it important today?
The subject I'm talking about is developing Virtual Reality experiences for the Web. We will see how WebXR, an emerging Web standard that enables developers to create Virtual and Augmented Reality experiences using the tools they already know and love. Today, Unity is the most popular development platform for Virtual Reality , but now the Web is becoming another viable option.The Web developers community is open minded, and likes to adopt new technologies. In addition, it also has a lot of very creative people, so I'm curious to see where they will take this technology.
Are there any influencers in the field you are following?
There are some interesting factors. Since this is an emerging technology that relies on a variety of software developed by Google, Apple, Facebook, Microsoft and many other companies, the information is not concentrated in one place, but rather scattered and difficult to reach. The standard draft is updated on an almost daily basis, and the ChromeStatus site tracks the implementation in Chrome. My favorite framework for working with VR is A-Frame, so I follow them on Twitter and Github. There is also a community-driven Slack channel for WebXR.
In your opinion, what is the most important thing when you look at the world of Full Stack and development in general?
When I started working at WatchDox as a frontend developer, there was still no real separation. At the time, most of my work was on the server in Java, and the front-end code was only something I occasionally needed to change. Over time, the world of frontend grew, and then came the term Full Stack, which originally referred to developers who write both the frontend and the backend.
Today, the borders between frontend and backend aren't as clear. In many products, the "Stack" is no longer just a web client and a server glued together with a REST API. In many IoT products, for example, there is a code that runs on the product itself and many times speaks directly to web or mobile app.
In today's world of development (and Full Stack in particular) it is important to know the basic terms and tools that are used different languages and environments, such as JSON, Regular Expressions, Unicode / UTF-8, Git version control, and have a basic command of a wide range of technologies, understanding which kind problems each technology applies to.