News from SPARK


How to become System Administrator

You want to work in the IT industry but you are not actually into programming. We might just find something for you. Would you like to be a system administrator (sysadmin)? For start, you should know that this job is very specific. You will be an invisible genie who is making life a little easier for the rest of us. Your job will be to ensure that the networks, servers, and all other IT operations of the company run smoothly. The job is not mon-fri 09-17 and very often sysadmins work around-the-clock. It is crucial to be able to swiftly react to incidents – sometimes at four o’clock in the morning – in order to solve the problems that might cost the company a fortune or generate negative user experience.  

So, what does a sysadmin do? How does his/her average day look like? What set of skills is necessary for the position? 

Responsibilities of sysadmin

Sysadmin is facing different challenges on a daily basis and the main daily tasks and responsibilities are:  

#1 Administration of users’ accounts 

This is sysadmin’s primary task. In a nutshell: sysadmin ensures that complex IT systems are secured and safe for end users no matter if they are internal or external users. 

#2 System maintenance 

Sysadmins are dealing with all the problems that might jeopardize daily working activities or access to the IT systems. They regularly upgrade the systems according to business and end-users’ requests. 

#3 Paperwork

Yes, sysadmins do paperwork – they keep logs on the IT property and plan investments and upgrades. 

#4 System health checks and backups 

Sysadmin will react to problems and alerts. But that is not all they do when it comes to security and accessibility of the system. They monitor systems and anomalies (unauthorized access to a network for example) all the time. If some protocol is breached, disabling end users to access their data, sysadmin will fix the issue and enable the access. It is sysadmin’s constant task to perform system health checks, do backups and implement security protocol for disaster recovery. 

#5 Apps compatibility 

In order to ensure that all teams within the company use applications that are compatible with the IT infrastructure, sysadmin performs regular performance tests, upgrades hardware and performs all other activities to ensure continuity of daily business activities.

#6 Database administration 

Activities related to data management include migration, configuration, installation and security of the data. Beside database administration, sysadmins are solving problems  end users have. This includes backups and data loss recovery.

#7 Network administration 

In order to ensure integrity of the network, sysadmins take care that network interactions are in compliance with the organisational policies and protocols. Network security is yet another sysadmin’s task and it includes network monitoring and analytics, ID and access management, security issues related to hardware and software licencing. 

We asked Marko Džidić, Senior System Administrator and head of SPARK School’s workshop Operational Systems, how he became a sysadmin. You might find his answer interesting and inspiring: ”First, you start to format PCs, and then you discover that there are OSs other than Microsoft Windows. So you get familiar with Unix, Linux, MacOS and start to install them. Of course, you come across  the configuration problems, start to dig for the solutions. Then you start to count how many days your home server remained stable and up without crashing, and before you know it, system administration is in you. Welcome to the new world, next step is to set up a home IT lab for the playground where you will continue to learn about operating systems and networks.” Marko added that the main driver is curiosity – an urge to understand why something crashed and how to fix it. Every new problem is an opportunity to learn and become better sysadmin.  

How to become sysadmin?

In order to work as sysadmin, you have to have very specific skills and get familiar with an impressive set of technologies. Sysadmin’s job is not just server rebooting and equipment maintenance logs. They are responsible for software and hardware reliability, and the basics sysadmin should know are:   

  • Process automation and system management
  • Cloud infrastructure
  • Git and version control
  • Servers and networks maintenance 
  • Scripting and programming

As here in B&H there is no dedicated formal education for this vocation, you must be wondering where to even start in order to gain the necessary skill set.  

#1 Bachelor degree

If you were thinking that the university  degree is so last century for today’s IT professionals, you are wrong. A great portion of system administration professionals  hold university diplomas ( IT, computing or computer engineering). Formal education will give you solid grounds: you’ll get to know the basics of different programming languages, OSs, databases etc. You should also consider an intern position, as this will make you a more desirable candidate for future employers. 

#2 Courses

Make time to take online or offline courses. It doesn’t matter if you are a student, fresh from college or you are showing interest in this area without a formal education background. Here in our SPARK school you are able to attend the OS workshop twice a year. After you finish the basic workshop successfully, you’ll have a chance to polish your knowledge by attending advanced courses. Not to mention that constant learning and knowledge polishing is crucial in all sectors.

#3 Interpersonal skills 

Good sysadmin knows technologies but he or she also knows people. Interpersonal skills are as important as the technical.  When a problem occurs, they are at the front lines and very often under pressure from various stakeholders: end users, team lead, top-level management, vendors…They all demand some course of action and have their own priorities. In situations like this, people skills are often more important than technical. Empathy, communication and evaluating skills and problem solving are crucial.  

Now you know how to become sysadmin. You should also know that the last Friday of July is System Administrator Appreciation Day. So, thank your sysadmin for all the hard work and commitment he or she is showing year-around. Surprise them with a new ergonomic mouse-pad, new sticker for the laptop or bring them to coffee. 

And don’t forget to use a strong password for your accounts – it could potentially save a lot of time to your sysadmin.

Becoming a Developer

We believe that you have already come across many articles about how programming is a profession of today, well paid, and opens many doors. It truly is one of the most sought after occupations in the world, because wherever you look, you will see job advertisements for developers. But how to become a programmer? Is programming reserved only for “geniuses”, top mathematicians, logicians, or is the real picture a little different after all? Of course, not everyone can be a programmer, but many people would love to try programming but don’t know how to do it. Stereotypes about programming are slowly disappearing, and with a rich offer of tutorials, forums, webinars, codes, and tips, learning to program is easier than ever. Of course, with a lot of effort and work.

Six tips for learning programming

  1. You must first decide on your field, technology, and programming languages as it is not recommended and you cannot be a good web, app, game, and system developer at the same time. Also, each of these areas requires constant investment and upgrading of knowledge. There is no best programming language, there are only languages that are good for creating a web/frontend, for creating a backend, for writing scripts, data processing, and the like. It is best to choose languages that are open-source, user-friendly, and with which you can do what you want. If you want to experiment with creating a website, then start with the presentation languages HTML, CSS, and Javascript, and later you can switch to a framework like Vue.js.
  2. You may not practice self-directed learning and prefer supervision and mentoring, then this is the right opportunity to get involved in workshops and courses. Dare to spend a few hours on education, because the time invested in knowledge always pays off in the long run. We recommend SPARK school workshops. 😉
  3. Studying is a great start to a career in the world of programming, and after graduating from college you have to constantly upgrade your knowledge. Mostar has three options in this field – informatics for FPMOZ, computing at FSRE, or software development at FIT.
  4. You can also use online educational platforms, where you learn theory, but also work on practical tasks. Some of them are Codecademy, Coursera, Udemy, Udacity, edX.
  5. Learn from other developers. You look at solutions written by someone else and then draw your conclusion. Programming resources do not limit you, but allow you to use other people’s codes and refine them. For example, you will find a lot of quality code on Stack Overflow.
  6. Find all the tips and tricks articles about the tools, technologies, and programming languages you use and learn them fully. Learn the most important libraries that come with the language. The more libraries/classes you know, the easier it will be to solve the problem when you encounter it.

Programming knows no age

Do you think you are too young or too old to start programming? We don’t think so because we believe in lifelong learning and that you can become a good programmer whenever you dedicate yourself to it. Children are a real example of how they can develop interesting apps through play. In addition to visual programming languages Scratch and mBlock adapted to them, children can also participate in state competitions such as the SPARKreators League. We recommend Python, C, and C ++ programming languages to high school students, while students and adults can enroll in beginner, frontend or backend web programming workshops at SPARK school.

No matter which language or technology you choose, you have to start from the beginning, and patiently approach the development of techniques. Start reading forums, books, tutorials, blog posts, webinars, and most importantly – get started as soon as possible. If you run into a problem, google it, read it again, ask friends or acquaintances who are already in programming. Don’t focus on learning 10 programming languages but on learning programming techniques, problem-solving, data analysis, and storing your projects on GitHub, creating your portfolio. The portfolio will be the most important thing in your new programming career! 🙂

What are the next steps in eLearning?

Distance learning is one of the sectors currently most heavily invested in digital technology. The emphasis is on enhancing the experience of one taught through interaction, enjoyment of the learning process, immediate delivery of information, and learning content, as well as efficiency.

We live in a time when the statement “job for the whole life” is not valid. People are changing jobs and careers more and more frequently, and a great deal of focus is placed on formal and non-formal education programs as quickly and efficiently as possible. Also, the focus is on the so-called Work-life skills such as leadership, management, problem-solving, collaboration, and communication skills.

Five eLearning trends that will define the eLearning industry in 2020 and the years ahead:

  1. Learning Experience Platform – LXP

Unlike classic Learning Management Systems, LXP provides a personalized learning experience by integrating and consolidating formal and non-formal learning. Some companies have already created brand new LX platforms that combine peer-generated content, interactive media, and learning management. These platforms are fun, engaging, and relevant to the trainees.

  1. Analytics and attendance reporting

Learning analytics is used to analyze student behavior and enhance training. There are many tools available for analytics, some of which are integrated into the learning management systems themselves, down to separate programs that specialize in that purpose.

  1. Big Data Analysis

When viewed from the eLearning perspective, “Big Data” is all the data collected during a student interaction with the system that includes their activity and achievements. These are datasets whose volume is beyond the capabilities of traditional databases for collection, management, and processing. Analysis of large datasets helps in structuring and presenting data in a convenient format. By monitoring the activities of each student, we can personalize the learning process and adapt to its current level of knowledge. Also, by analyzing data we can constantly solve problems that occur in the learning process and improve it.

  1. Artificial Intelligence (AI) in eLearning

There are multiple applications of artificial intelligence in learning and opportunities to enhance the eLearning experience. In the simplest terms, we can think of it as a virtual teaching assistant. The advantage of virtual mentors is that they are available to students at any time and through any device to provide assistance and information. There is the ability to merge cloud-based LMSs with AI robot assistants that can even teach in homes, move on their own, track their environment and movements. Students can interact with them aloud to resolve doubts instead of typing questions over the computer. Accessibility, speed, efficiency, and personalization are only a small part of the benefits that are expected from the introduction of AI into the learning process. By analyzing the vast amount of data, artificial intelligence will not only make learning platforms more attractive but will also provide companies and educational institutions with information to make training more effective.

  1. AR, VR, and MR for more interactive eLearning

Virtual and augmented reality have traditionally been used more for gaming and film experiences, but their application to learning is growing. Virtual reality is used to teach the complex skills of high-risk tasks and perform complex procedures. Augmented reality is used to stimulate just-in-time learning. For example, the ideal scenario would be for a student who wants to learn more about a tool, technology, or site, using a QR code, scans an object, and automatically gets more information about it. As prices for portable glasses and headsets fall, it is anticipated that various organizations will start investing more in researching this technology. Mixed reality (MR) is often referred to as hybrid reality, and it connects the merging of the real and the virtual world to create new environments and visualizations in which physical and digital objects coexist and communicate in real-time. Mixed reality is the overlay of synthetic content in the real world, so we have an example of surgeons covering virtual ultrasound images on their patients while performing surgery. A key feature of MR is that synthetic and real content can react to each other in real-time.

Technologies like AR / VR / MR and AI are very exciting, but still far from full potential. Learning is a lifelong process, and we need to adapt that process to the time we are in, which involves applying the technologies available that can help us advance the learning process. The computer will never replace the actual teacher, but it can help the teacher make the learning process more fun, interactive, and personalized experience for each student.