Adrian is a seasoned full-stack web developer with over 5 years of professional experience. He has worked with several European and US startups, as well as on innovative projects for established companies, including a WebVR project for TeamWork 2015, Google for Work’s Annual Partner Summit in San Diego.
Firebase is a Google service that offers real time database, authentication, cloud messaging and storage. You can build cross-platform apps using its APIs packed as SDKs for iOS, Android or Web. If you need to connect a mobile and a web application and the data is constantly changing by multiple users, then Firebase is the solution. Everything is stored in the cloud and it’s magically handled by Google and its servers network. You don’t have to worry about the hardware.
Because of the huge amount of data to be handled, the whole chat and news feed database architecture had to go through a great amount of changes. When we started dealing with aspects such as unread messages for every user, deleted messages/conversations and large files (videos, images) uploaded to the news feed things became even more challenging.
I started working with Java and Java Enterprise Edition, afterwards I worked with PHP and frameworks like Laravel and Codeigniter. I also programed in Python (Django framework) and in .NET for a few startup-related projects.
I started writing code when I was 14 years old. At that time mIRC was a popular chat application for which I started writing scripts. After writing many scripts and useful add-ons, I created my own mIRC theme which changed the application’s GUI almost entirely. I started by downloading and inspecting themes, plugins, addons and modifications created by others. I followed some tutorials and I started by building small add-ons that finally created a whole new functionality for mIRC. What I wish I knew back then is that building applications involves a lot of bug fixing. The more complicated an application is, the more likely it is that there will be hidden bugs, and more difficult would be to find and fix them.
I use WebStorm as a code editor, SourceTree as a Git client, Studio 3T as a GUI for MongoDB, Skype and TeamViewer to keep in touch with my clients. WebStorm IDE requires quite some experience to become efficient, but once you are good at using it becomes a very powerful tool.
I have a few goals in life and I try to stick to them. I find it important to be an expert in one's own field. I like to code and I like to solve difficult technical problems such as creating, from scratch, a chat that works in real-time for more than 5000 people on multiple platforms (iOS, Android, Web). Steve Jobs said that "people with passion can change the world". You have to overcome a lot of obstacles, work hard, and be committed to your goals in order to become successful in any field. As a software developer you have to keep up with the latest technologies and frameworks, and know their strengths and weaknesses. My inspiration comes from my aspiration to be successful in what I do.
I like to live a healthy life and do a lot of sports. Apart from that, I'd probably try and work more actively towards solving one of the challenges that humanity faces, such as energy, poverty, unemployment, clean water, health issues or education. I already try to be involved in related projects to have an impact and I am also part of an environmental organisation.
My mother always told me to have a plan for everything that I set out to achieve. Creating a plan forces you to focus on what is important. Setting milestones allows you to organize your work and evaluate outcomes. Even though you might not stick to the original plan, you can still review your steps to make adjustments in order to succeed.