Adrian BerilaAdrian 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.

Adrian Berila

Well versed in a variety of technologies, Adrian specializes in development with JavaScript. Adrian is part of CodementorX, our network of top software engineers available for hire.

What are the most exciting projects that you’ve worked on?

I’ve been working on a web and mobile social application for a company with offices in Europe and in the United States. It is a Facebook-like newsfeed and messaging application for all the 5000 employees of the company. Making the chat and newsfeed interaction seamless and as smooth as possible was a chalenge. In the context of live interactions, it is very important to deliver and display messages as fast as possible. Because of the huge amount of data generated, a considerable amount of time was spent on finding the right technology stack. Eventually, I chose MeteorJS as a full JavaScript framework, and Firebase to store the files and the database. I chose MeteorJS because the application is real-time by default. Another great thing is that you can save a lot of time with packages. You can easily integrate the accounts-system, auth0, Twilio, Firebase, and other 3rd party services.

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.

What are your favourite technologies, and why?

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.

JavaScript
In recent years, I have shifted my entire focus to Javascript. JavaScript is a computer programming language for scripting interactive effects inside web browsers and building crazy fast servers. Its implementation is great because you can use both frontend and backend, but it takes efforts to really master it. Another advantage is the fact that you don’t need any special compilers or editors. You only need a text editor and a browser to run JavaScript code. I think it is the most valuable programming language because it will live and evolve as long as the people will browse the Internet.

Meteor
I specifically focus on MeteorJS because it is a good fit for startups. Advantages of MeteorJS include the fact that you develop products using just one language (that is, JavaScript), applications are real-time by default, and also you can save a lot of time with packages that offer functionality.

What was your first encounter with technology?

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.

What tools help you be productive?

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.

What inspires you?

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.

What were your best collaborative experiences?

The best collaborative experience was with a software development company for which I worked as a JavaScript consultant. This collaboration started two years ago. We managed to establish robust processes and use projects management tools successfully, which made the collaboration very fruitful and allowed us to execute projects flawlessly. Positive and negative information were always communicated right away by both parties. This ensured that everyone was in the loop and could do whatever was necessary at any given point. Nothing undermines collaboration much than resentment. This is why communication is key.

If you didn’t have to work for money, what would you 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.

What is the best advice you’ve ever received?

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.


Adrian Berila

Want to hire Adrian for a project?

Get in touch

or Learn more about how CodementorX works!

Last updated on Apr 26, 2017