Babken D. of CodeRiders Shares His Story as SQL Developer

CR_final_logo_dark
CodeRiders
  • Date Published
  • Categories Blog
  • Reading Time 9-Minute Read

Babken knows the advantages and disadvantages of SQL and NoSQL. Has successfully completed 250+ projects. Now he’s sharing his phenomenon of success.

We continue the series of interviews with CodeRiders’ software developers. This time we interviewed one of our Senior Software Developers Babken Darbinyan. He will speak about:

  • SQL domain-specific language
  • The advantages and disadvantages of SQL
  • Difference between SQL and NoSQL
  • Share his personal story

Babken has passed a long journey with CodeRiders. As many of our followers know, our software outsourcing company was initially established as a software development school in 2013. In just a year the school gave more than 800 alumni and Babken was among the 15 alumni that formed CodeRiders Software Development House back in 2014. Ever since Babken has become an important team player for CodeRiders and has been with us predisposing for new challenges and the outstanding growth of our company.

– Hi Babken. Nice to have the opportunity to speak with you. To start, please tell our readers what is the primary usage of SQL, its importance, and your main tasks as an SQL developer at CodeRiders Software Development House?

– Thanks for the interview invite. SQL (Structured Query Language) is a domain-specific programming language and works with databases. Despite the type of software you use – whether it is e-commerce, multimedia, financial, real estate, HR, e-learning, or HealthTech – you need to use, store and manage data, and that is where SQL comes to help. It is like the communicator of databases and the standard language for relational database management systems. We use SQL statements to update data on a database or retrieve data from a database. It is of critical importance as SQL is everywhere. Almost all of the huge enterprises use SQL, such as Netflix, Uber, Instagram, Airbnb, Quora, Twitter.  Due to its huge impact on database systems, it is here to stay for sure and is constantly included in the charts of top programming languages for now and for the future.

As an addition to Babken’s answer, let’s state that according to the StackOverflow survey, SQL is the 3rd most popular language in the IT world. 

– Thanks for the in-detail information. Now, will you please speak about the advantages and disadvantages of SQL?

– SQL is a user-friendly and domain-specific language. You use SQL to access, manipulate, and communicate with databases. The most important SQL functions include:

  • Retrieve of data from the database
  • Creation of new databases
  • Manipulation of data and databases (insertion, deletion, update)
  • Data testing

SQL has a number of advantages that make my everyday work with this language fast, convenient, and more practical, such as:

  • Faster and more efficient data retrieval process. Functions like insertion, deletion, and data manipulation are done in almost no time
  • A large number of table rows
  • Large numbers of transactions in a single query
  • SQL is portable, which means it can be used in programs in PCs, servers, laptops, various operating systems, and can be embedded with other applications as per need or requirement
  • SQL is an interactive language, which means it is easy to learn and understand
  • Like any other technology, SQL has some drawbacks as well. The positive thing here is that they do not bother my work efficiency.

Just to be fair with the ratio of the advantages and disadvantages let me introduce you to the disadvantages of SQL as well

  • The data structure is predefined and it is less flexible for further changes
  • It is vertically scalable which means there is no chance of adding more machines to the pool of resources
  • Sometimes we have partial control over the database due to hidden business rules

– Are there any alternatives to SQL? If yes, which are they?

– I would say the most well-known and widely used alternative to SQL is NoSQL. Sometimes developers prefer NoSQL over SQL simply as these two replenish each other. I mean you can use NoSQL to eliminate the above-mentioned disadvantages of SQL and vice versa. To be more precise we can show the main differences, the advantages and disadvantages of SQL and NoSQL via a table.

– Enumerate some things that you like the most in SQL and that motivate you to work with this language. 

– My favorite thing about SQL is that there are no boring, mechanical solutions to problems while working on the SQL development process. Every time, I should come up with new solutions that require constant thinking and analyzing. I like challenges. Not only do they enhance my skills, but they also give me more understanding of applications I work with on daily basis. Developing SQL is not simply dealing with the company data in relational databases; it is rather everything from cloud storage to e-learning, e-commerce applications, and social media accounts.

– Tell us about the biggest challenge, you faced during your experience with SQL? 

– Usually, when it comes to developing reports, you already have calculation logic that you need to implement in your code. In my previous project, I faced the situation where instead of logic description we had previously stored MySQL procedure. We had to investigate and match it with a new database and new code. It was a challenge for me, but as I mentioned I like challenges and am proud to overcome them successfully.

– Each profession and work require specific skills. In your opinion, which features should a perfect SQL developer have? 

– Well, SQL developers are in high demand for sure because companies are interested in implementing their digital transformation strategies and becoming data-driven organizations. I believe a good SQL developer should first be comfortable with doing the following tasks, and secondly enjoy the process of completing them:

  • Design database tables and structures
  • Create views, functions, and stored procedures
  • Create database triggers for automation
  • Maintain data quality and security
  • Write optimized quarries for integrations with other applications

SQL developers should certainly have some more skills in another programming languages. For example, if you work on applications that are written with C# or C++, it would be better if you know these languages as well. On the other hand, if you work with MySQL, you should certainly have experience and knowledge in PHP, or at least some familiarity with the .NET framework will be useful.

I think this information will be especially helpful for those who are in search of experienced remote SQL developers. Some other soft skills, that usually clients love to see in their employees include:

  • Good communication skills and an easy-going person, as this role requires heavy co-operation with other team members in the IT department – starting from application developers to network engineers and cloud service providers.
  • SQL developers also work with employees from other departments such as digital marketing, operations, business development as their work is also connected with digital transformation and the advent of data analytics. So the ability to understand and patiently co-operate with employees from other departments to reach the goals is also crucial.

To continue Babken’s point, today SQL developers’ salaries are quite high. For example, the current midpoint salary for these professionals drops in between $118.000-$150.000 in the USA. The demand for SQL developers is growing year by year. Thus it is not a surprise that many companies prefer to hire offshore software development companies. We have an interesting article about the top reasons to outsource your software development needs to Armenia. Contact our business development team for more in-detail discussions about your needs. 

– As a CodeRiders developer, you have worked with a number of international clients. Do you have an ideal co-operation model for you between clients and software outsourcing companies? 

– It is very important for me to understand the clients’ expectations from the project. So, before starting the actual development process, I make sure I clarify this with my client. An ideal co-operation model depends on the type of client I work with. For example, if a client is a non-technical person and wants to have control over the whole development process, I make sure I explain what I am doing and why. I will do this with constant reports and calls if necessary.

Sometimes non-technical clients give complex tasks and put tight deadlines. If you don’t explain why this task needs more time and the other one less, there will be a misunderstanding for sure. I also had clients that didn’t require much control over the development process, moreover, they preferred to see the final solution with minimum bugs. Here, I concentrate only on the code and don’t hold constant communication and represent reports during important stages of the software development lifecycle.

We have a nice article about tips on effective software vendor management. If you are seeking the most convenient software vendor management model for you, you can check these useful tips.

– If you were to introduce team CodeRiders and our software outsourcing company, which would be the first thing that would come to your mind?

– Team atmosphere for sure. Although our team consists of smaller teams or individuals working on separate projects when one of our developers faces an issue it becomes a challenge for the whole team. Everyone is ready to leave his or her project to help a colleague find a solution for the challenge. So, teamwork is on another level at CodeRiders. This is a fantastic advantage both for the team members of our software outsourcing company and for our clients.

In the first case, software developers feel supported which ultimately brings faster and high-quality results. On the other hand, clients get superb code with minimum bugs. So, if I were to introduce our company to a potential client, I would say that our software outsourcing firm has excellent team spirit, which highly impacts our job quality and communication skills.

Continue Reading the Article on CodeRiders’ Blog