The Soft Skills You Need To Work in DevOps

IBA Group
Mark Hillary

I have written about DevOps recently on this blog. You can look at my DevOps introduction here, but to summarise the concept, DevOps refers to Development Operations. It is a combined set of software development practices that bring together the development of software with IT operations. The aim is to improve the systems development environment so the software lifecycle can be shorter – it’s bringing software development closer to the business that it serves.

So far it sounds like DevOps is just focused on software development and the environment used to build software systems – it’s all about coding and process. So what are the skills needed to work in DevOps? Logically you might assume that ‘hard’ subjects such as science, technology, engineering, and mathematics (STEM) might dominate, but I read an article recently that turns this expectation upside down.

Tech Beacon magazine listed four key ‘soft’ skills that everyone working in DevOps requires and none of them are focused on STEM skills. They are:

  1. Collaboration and Communication
  2. Empathy
  3. Customer Experience
  4. Problem Solving

Why would these be the essential skills and not coding or process design? Well think for a moment about what I said in the introduction – we are bringing the software development process closer to the business that needs this technology system. So some of the key skills will be focused on that process of getting closer to the sponsoring business people.

Collaboration with people outside the IT team will be essential and the ability to communicate technical problems to non-IT professionals. Empathy implies more listening – especially listening to the people who want the system built for their business. Trying to put yourself in the shoes of the customer so you can improve the customer experience is also an important skill that many people ignore, and the ability to solve problems as they are thrown at you is extremely valuable in any team.

I would argue that these four skills are essential for any DevOps team. If you can find people to join the team with all these skills then it is almost certain they can learn the technical skills you need them to use. If you hire for technical ability only then it will be much harder to create great communicators or problem-solvers through training.

It may seem like the opposite to conventional wisdom, but sometimes the best team members in a technical DevOps team are the least technical.

The Soft Skills You Need To Work in DevOps

Find Business Everywhere

IBA Gomel
Iryna Zhurava

Keeping log of business relationships is not only the concern of a salesperson but also of everyone who has to work with clients, vendors or suppliers. It is not a newsflash that with the evolved technology there is no more need for long paper forms, notebooks, and business card holders and everything can be stored in a mobile device.

People from different divisions within IBA Group were looking for a mobile application that is easy to use, can store safely business information of a contact person and a summary of the conversation, can get more information about the interlocutor’s company form social media, can be useful in one-on-one meetings and trade fairs, and has other advantages. There are mobile applications that do that stuff, but not all of them together.

Our developers took the challenge and came up with a mobile application for iPhone and iPad called Marketing Application for Leads at Events (IBA.MALE). This application provides a solution for the following requirements:

• Use at events: upload a list of possible persons who will be at that event
• Capture and store interlocutor’s business information:

o by scanning of a business card and recognition of the text on it
o by scanning and recognition of a barcode or QR code and matching these with the person’s data in the pre-uploaded list
o by manual entry of information

• Receive online information on interlocutor’s company. The application allows for retrieving information on the contact person from LinkedIn online. It takes less than a minute
• Log the conversation summary
• Easy search of contacts by name, title, location or interests
• Export of contacts via email or Bluetooth.

With an existing free version of the application IBA.MALE Light you can check most capabilities of the application and decide whether to buy a full version of the application.

The Internet of Things Takes Off at CES 2015

IBA Group
Mark Hillary

The Internet of Things (IoT) is taking off at the Consumer Electronics show (CES) in Las Vegas. The CES is the biggest annual consumer electronics show in the world and often manages to set the agenda for the technologies that will be important in the coming year.

The IoT has been talked of for several years as ‘the next big thing’ in technology. It refers to when everything electronic is connected to the Internet and able to share information in a much more open way than is possible now.

The example often used is a digital fridge that can advise when milk is running low or what you can cook for dinner with the food you currently have, but this is not a good example at all and fails to see how fundamental the IoT could be.

If everything we touch is connected then we will live in a different world. Your phone, car, watch, heart monitor, shoes, just about everything you interact with will be generating information. Your insurance company will know when and where you drive your car. Your employer will know when you are at the office and when you are at home. Your doctor will be able to monitor your health without requiring a visit to the hospital. Your car will alert the dealer directly when there is a problem that cannot be resolved at home.

Many of these actions can be taken now. The ethos of the IoT is just that we will see much more communication from the objects we interact with and that there will be communication between objects. For example, your electricity meter may actually check with electrical items in your house and send a report on which appliances use the most power.

In theory the IoT is a revolution in communication in the same way that the Internet itself created an open communication platform. However, the big danger is that different companies use different protocols and methods of communication.

The CEO of Samsung used his own speech at CES this week to suggest that every Samsung product will be using entirely open IoT data platforms within 5 years. With this kind of leadership, hopefully smaller companies will follow and ensure that all their products are open.

The possibilities for the IT industry are endless. IoT will generate vast amounts of data, therefore the principles and expertise needed to manage Big Data will be important, but when this relates to customers then linking in the Customer Relationship Management (CRM) aspect will also be essential.

IT projects are going to multiply in the coming years. Products that were never previously connected or never required software – a kettle for example – may require new software and systems so that you can send a message from your phone on the way home, so a boiled kettle is ready and waiting for you.

If the CES predictions are correct, 2015 is going to be the year that IoT finally goes mainstream.

Top Secret of Successful Project: Just do your job

IBA Gomel
Lavy Itzhaky, PMP®

In one of my last projects, where I was asked to step in as a project manager, there was almost everything to make the project a failure from the very beginning. The customer and management were unhappy, the project team was blamed for everything, and other small things topped the list of shortcomings. But eventually this project was submitted to the client on time and to the client’s satisfaction.

The secret in putting the failing project back on track is not in magic or sleepless nights or a magnificent project manager. In this particular project, the secret was in making people do their job and not to expect them to do something they were not hired for. You cannot expect a junior developer to have calls with the customer for clarifying the requirements or providing the project status. It’s not that I don’t trust the guys. They are great developers but they do not speak the same language the customer does.

As a friend of mine told me, a project team is an orchestra, where everyone in it has an individual role to play and there are people behind the scene who also contribute to the success of the orchestra performance, the and project manager is the conductor, who has to make sure that everyone is doing an assigned role. The Business Analyst gets the requirements from the customer and “translates” them to the developers, the Architect defines the architecture of the software solution, the developers develop it, and the testers test it.

In the above example, the main problem was with too many communication channels, when a developer talks directly with the customer and provides him or her with the project status, wrongly assuming the developer knows everything and not only the assigned part. This may serve as a recipe for misunderstanding and trouble in the project. Everyone in the project has to be responsible enough to do his/her own job and not let personal (possible) ambitions ruin project.

Everyone needs to do their own part in the “orchestra” of the project. They can and should evolve and learn new stuff but in cooperation with the “conductor”. Otherwise, it will negatively impact the project.

Evolve yourself, become a better specialist, become a manager, but DON’T STOP!

Frontend versus backend. Where to begin?

IBA Group
Alexei Zagorsky

This article opens a series of discussions devoted to frontend development. Until recently, this part of the development job was not treated properly. By this series, I intend to present my view of the modern trends in the development of user interface, as well as technologies that are used in web development.

It common knowledge that the internet is built on a client-server architecture. A server is a powerful remote computer or a group of computers called ‘cluster’ or ‘cloud’. Server software installed on a server serves customers. This software is also called ‘server’. With regard to WWW, it is a web server (Apache, IIS, nginx and other), i.e. a software complex that receives HTTP requests from customers and returns HTTP responses, typically with the requested data.

Operations related to processing of server data are called backend development. The following server programming languages are designed for backend development: PHP, Perl, Python, Ruby, ASP.NET, and Java. An important part of the operation of server programming languages is interaction with the database management server (BDMS). DBMS keeps well-organized information that is accessible at any time. The most popular DBMSs for WWW are MySQL, IBM DB2, Microsoft SQL Server, Oracle, PostgreSQL, FireBird, and MongoDB.

A client is generally speaking any device that enables the user to access the internet, including desktop, laptop, tablet, and smartphone. From a technical perspective, a client is a web browser that transmits to a web server HTTP requests for the resources specified in URL, as well as displays server responses in the form of HTML pages, files, media streams or other data.
Any user application needs a convenient and functional interface.

It is especially relevant for a web application because it is used by people who have different qualification and knowledge levels, as well as work in different professions. It is also essential that web interface work well from all modern browsers, including those on mobile devices. Thus we come to the frontend concept.

Frontend development is creation of the client part of a web application. Until recently, this application part was treated without due respect. Most efforts were focused on the server part of a project, such as business logic, data, and security. A frontend developer was perceived as ‘the guy who makes the project look more attractive’. It is quite clear that it is a misperception.
A modern frontend developer is ‘a Jack of all trades’, an expert in his or her domain and in many adjacent domains. A frontend developer writes code for a website, creates user interface, deals with usability, web design, and has an idea of the theory of colors. A frontend developer must have an excellent knowledge of HTML5, CSS3, JavaScript, and Ajax. Experience in such popular JavaScript frameworks as jQuery, Google Web Toolkit, Prototype, TwitterBootstrap, and many others are also of use.
Frontend developers deal not only with specific concepts and tasks, but also with abstract thinking. They belong to those few who are able to make a bridge between mathematics and art. As they are able to unify these two disciplines and apply user experience to logic processes, they are very valuable employees for any IT business.

Therefore, the current trend is to pay more attention to frontend development. In the following article, I would like to discuss the technologies that give a website a modern look and feel, and contribute to its powerful functionality.