Because we want to know more about our dear speakers from DevExperience and we want to share with you their opinions on IT, career and life, we begin today the interviews with them. Each speaker will answer 10 questions and, as far as we can tell, you will love their answers as much as we do!
Today we present you Vladimir Novick, Software Architect, Consultant, Worldwide Speaker and Published Author of React Native - Building Mobile Apps with JavaScript, who will bring you not only an extremely nice talk during the Frontend track, but also a highly quality workshop a day before the big conference!
So, here it is our interview with Vladimir Novick!
DevExperience: What did you want to become when you were a child?
When I was a little kid I wanted to be an inventor. I wanted to change the world with my inventions. I was not sure back then what it will be electronics, computer science or something else. But it was in that domain.
DevExperience: What is the story of your begining in this field? How did you start working in this industry?
Well, my farther is a software and engineer & architect for last 45 years, so when I was a little kid, I visited his workplace and watched how he works. When I was five years old, my dad assembled a PC himself from scrape electronics for me to play basic black and white games. Since then I am in love with computers. Since 9th grade (we have 12 grades in Israel) I was taking some computer science college courses and in addition to finishing high school with Computer Science Major, I got a technical degree on analysis and development of management information systems (MIS). Then I served 3 years in the army as senior system administrator & developer in Israeli Air Force intelligence infrastructure corps. After I finished my reserve duty I started working in RSA company as professional services engineer and started freelancing on my spare time.
It was couple of years later, when I got hired by Aol, where I started doing web development as part of my work. On my spare time, I kept freelancing for more complex projects and always learning. Actually, I don't remember when I was not learning new things every month in computer science. One of the main reasons why I didn't do CS degree is because the pace was too slow. And I actually felt that I will miss so much about new emerging technologies. I had knowledge of CS basics like algorithms, data structures and math from MIS tech degree and from my experience in the army and self-studies, so I just focused on learning more and more every day.
I went to hundreds of meetups, read books, watched video courses and eventually that brought me to the point where I am today. I consult companies, develop complex systems in Web / Mobile / VR / AR and IoT fields (Yes, I am still in love with electronics since my childhood).
DevExperience: You are a worldwide speaker. What did you learn from different cultures across the world?
The most important thing that I've learned that even though there are lots of stereotypes about each culture, in the end we all humans and in the end, we all are like minded. I met wonderful people, seen amazing places, got blown away from a dedication of people responsible of organizing international conferences. Learnt so much from people i meet at conferences. Lots of people say, - "Conferences are recorded so what's the point to go to one if I can watch on YouTube". These people are so wrong. I was actually one of them once. Interaction between like-minded developers, sharing experience and knowledge, all that is far more important that prices of such conferences which by the way is considerably low comparing to knowledge and experience you get.
DevExperience: What are the top 5 countries in your opinion where IT is very highly developed?
Top 5 countries, hmm... Switzerland, UK, USA, Netherlands, Israel (It is very small, but relative to its size it is leading IT in various fields). Not in that exact order. Also, there are bunch of other countries that are among the top like Sweden, France, Australia, Germany, Japan, Singapore.
DevExperience: What do you know about Iași and Romania? Dont Google it! :)
My wife originally is from Moldova and her relatives live in Ungheni, an hour drive from Iasi, so each time she goes to Moldova she always stops at Iasi. That's basically the only thing I know about Iasi. Regarding Romania in general I know that it's a beautiful country with amazing countryside, friendly people and lately lots of great developers. I know several companies that have dev teams in Romania and they are very pleased by the quality they get as well as with dedication.
DevExperience: What is your advice for a junior who wants to grow as a Software Architect?
Invest your time in studies. Build a list of things you want to learn and each day learn from this list. Start your own home project to practice with technologies. I know people that at some point turned their home project into successful business. Attend meetups and conferences as frequently as you can, follow tech leaders on twitter. There are lots of things going on twitter. Find time to read blogs, read about best practices in industry you are interested in. Take coursera.org university courses. Study all the time. You should treat your life like a video game. You want to increase your level? You must act to do so. I wrote about that here.
DevExperience: What do you do for your both personal and professional development?
All the above I suggested in previous answer. I learn all the time. I watch courses, read blogs, try out new technologies when they get out, follow people on twitter and so on. I talk with people about technologies, setup challenges for myself to overcome and struggle to overcome then. It starts with "How cool will be to create something" then I struggle to create it and in the process i learn things. I think "breaking out of comfort zone" is what I do all the time. I try to challenge myself with more and more things.
DevExperience: What is the greatest part of your job? What is the not so great part of it?
The greatest part of my job is that it's also one of my hobbies. My dad said once - "the best job is a hobby you are getting paid for". I love everything i do in my job. I am Software Architect & Independent Consultant and being such, I love being able to help companies with sharing my knowledge or helping out with their projects, talking to lots of interesting people around the globe, working with broad spectrum of technologies I never could have worked with if I would have been an employee. Not so great part of it probably the fact that sometimes I have to face with bad practices people use in their projects in addition to time constraints so there is not always the time to make things perfect.
DevExperience: How would you explain to an old lady who knows nothing about technology what is it exactly that you do?
It's always a problem, but I will try :) You know all that computers your grandchildren use, right? and mobile phones they stare at all the time? There are people that create programs for these computers and phones. They are called applications. I create these applications and consult people how to do that in a best way.
DevExperience: Tell us more about the main ideas of your talk and your workshop at DevExperience! Why should people register and attend the event?
React Native is a new way of building mobile apps with JavaScript. You may say, so-called hybrid apps written in JavaScript is not a new way. We do that already with frameworks like Cordova. The problem with hybrid apps, you heard of or used, is that they render an app in a WebView and hence you get applications that are not performant to the same level as native apps. React Native takes a different approach, because of the way how React was created, with React Native you write apps in JavaScript, style them with "css-like" properties and in the end, you get Objective C or Android Java native apps. In addition to being able to write cross platform truly native apps, you are able to use amazing development experience that is used for web development but this time for mobile. I am talking about Hot module reloading, instant visual feedback in your application, debugging and much more.
In the workshop, I will teach you how to create WhatsApp clone from scratch using React Native. My talk "Building data driven mobile applications with React Native and GraphQL" will be about combination of React Native and GraphQL. React Native i explained above, GraphQL is a query language and a new way for developing your APIs that will replace REST in nearest future. The main idea is instead of multiple api endpoints with fixed data structure we create one endpoint with flexible data structure. This allows us to query wherever we like from the client without any need for additional endpoints. So, if you want to get "the whole package" of modern React Native development, register to both workshop and conference and after the conference you will start creating your own native apps with React Native and who knows, maybe you will be the one who will create next best-selling app ;)
If you want to meet Vladimir in person and ask him more interesting questions for you, please register here and make sure that you will attend the absolutely normal international IT conference!
See you on 23rd of April 2018 at the third edition of DevExperience!