Category: Blog

Grafixoft Named as a Leading B2B Company in Bulgaria

At Grafixoft, we help businesses build unique digital solutions, leading them towards growth and excellence. We’ve been a partner to multiple organizations since 1998, supporting them as they bring their innovative ideas to life. Grafixoft’s culture revolves around the satisfaction of our clients and how we achieve success together.

Today, we’re delighted to announce that we’ve been recognized as a 2022 Clutch leader in Bulgaria. The B2B platform’s latest research unveiled that we’re among the top software developers in the region this year!

Clutch is a market research platform that aims to connect businesses of all sizes with service vendors that can help them improve their efficiency and productivity. Clutch’s annual Leader Awards highlight the best-performing service providers by industry and location, recognizing their efforts to deliver client satisfaction.

Take a look at the most recent reviews on our B2B profile:

“The relationship has been an ongoing success and has dramatically improved our overall application reliability and our development practices.

Their attention to detail, responsiveness, and willingness to support our business are all greatly appreciated.”

— Roger Noble, CEO, Zegami

“We have an excellent relationship with Grafixoft, which now runs over several years. The reason that this relationship is strong is due to their integrity and honesty, which are ethics we also pride ourselves on.”

— David Paul Lightfoot, Global Director for Services, FusionGBS

Thank you so much to our partners for sharing their honest feedback about our work. We strive to provide an outstanding quality of modern technology services to our clients, and it’s heartwarming to see the positive impact that our solutions bring.

For more information about what we do, be sure to check out our Clutch profile. If you’re interested in a partnership with us, get in touch to get started!

From school desk to office desk

A university, academy, or programming courses? Whichever you choose, eventually the moment of truth comes – the first working day in the chosen company, in which you encounter everything you have learned in theory and practice.

For many people, soon after the first working day, comes the moment when they realize how far they are from the comfort and routine of the theory they learned and it can be a little bit scary. This is the time when we most need someone to guide us and help us move forward. What are the difficulties that young professionals most often face, how do they overcome them, and what motivates them?

Grafixoft, sometimes, is the first official employer of interns and students because for us is valuable to help in the transfer of theoretical knowledge to practical professional skills. This is something that we feel like a mission and where we can be helpful.

So, we asked some of our colleagues for whom Grafixoft was the first job after graduating from university or software academy and we will be happy to share with you the answers.

„What did you study in high school? “

Over 80% of the asked colleagues studied mathematics, informatics, and computer science.

The foreign language that most of them studied in high school, contrary to expectations, is German, not English.

“How did you choose the IT field?”

The most common answer is – because it was something like a hobby – gaming, or just a deeper interest. The high schools with mathematical profiles also give direction – usually, the next step after graduation is something in the IT field, most often software development.

Software Academy or University?

There is no clear opinion here – both options work, but depends on the person. Probably the best choice is “both” because universities offer more comprehensive and in-depth theory, and academies provide the so necessary practice. One of the most complete and reasonable answers of one of our colleagues to this question is – “University is the right solution from a theoretical point of view. It answers the question “Why?” Academies, on the other hand, are the right choice from a practical point of view. They answer the question “How?” At the beginning of professional development, only practical knowledge is enough, but the more responsibilities a person receives, the more he needs theory.”

What do you like the most about your profession?

If you like routine, calmness, and monotonous work – programming is not for you. The work is creative and challenging, you need to constantly develop at its pace and upgrade your knowledge and skills. Strange, but some people like it 🙂

How did you choose the first company you started working for?

The reasons are different, but no one mentions salary or social benefits as the most important factors and top priority. Usually, a recommendation is received from a friend who is a current employee. Important factors are the atmosphere in the company, the team, the technologies used, or the product being worked on.

What was the hardest thing for you when you started your first job in an IT company? For what wasn`t well prepared?

For learning new technologies in a very short time, for the acquaintance with a large amount of code and new information, for the intensity of the work.

Who and what helped you in the very beginning?

The mentor is a key figure in introducing a new person to the team, especially when the new team member has little experience. The mentor is the person who gives you the best guidance on how to navigate, what and where to read, how not to drown in the sea of ​​information. The mentor is the person who can help you in the moments when you really don’t know what to do, and this is terribly important in the beginning. The second thing is the whole team, which introduces you also to the company culture and values.

If you could give a piece of advice to people who are just starting to learn now, what would it be?

To not stop learning, to find interesting and useful things in everything they learn. To not choose the job just because of the mythically high salaries. To use the opportunity given by the academies – to try for a month, or two and to find out if this is something for them. Because programming is not for everyone, it`s specific. But if it’s for you – the satisfaction from a job well done will be a sufficient motivator for everything you have to deal with. At Grafixoft we have a program in which a mentor is appointed for each new employee to help them in the beginning. Thanks to this program, both very successful professionals and long-term friendships have been created.

From Industry 1.0 to Society 5.0

The essence of all industrial revolutions is the invention of super-innovative and significant discoveries and technologies. This pushes the economy and helps for the improvement of many other aspects of people’s lives. So far, humanity has gone through four industrial revolutions, but Industry 5.0 is appearing on the horizon.

The first industrial revolution was the process of industrialization that began in Britain in the second half of the 18th century and then spread to the rest of Europe and the United States. As a result, the country’s economy stopped relying on agriculture and animal husbandry and began to focus on industrial activities.

The second industrial revolution covers the period from the second half of the 19th and the beginning of the 20th century and is the time of the transformation of world industry. It is believed that it began with the commissioning of the first technological process for the mass production of cheap steel. The highlight of this period was the widespread use of conveyor lines and the entry of mass production.

Other significant achievements of this period are the radio, the telephone, the television, the telegraph.

The second technological revolution was based on serious scientific achievements and rapidly spread to Western Europe, the United States, Russia, and Japan.

Since the beginning of the 50s of the 20th century, humanity has entered a new stage of its development. The third (digital) revolution is underway. The engine of all ongoing changes in the new information technologies.

Mechanical and analog technology has been replaced by digital electronics. The ongoing transformations are characterized by special dynamics and complexity. Achievements of the new era are computers, the global Internet, HD TV, smartphones, tablets, industrial robots, thus eliminating many spatial and temporal constraints. Without the information revolution, globalization and outsourcing would not be possible.

Today we are living with the fourth industrial revolution. Key to it are the achievements in the field of robotics and artificial intelligence. A typical trend is an introduction of cloud-based technologies (Cloud Computing), cyber-physical systems, computer networks with electronic devices for interaction with each other and with the external environment (The Internet of Things). Modularly structured cyber-physical systems monitor processes, create virtual copies of the physical world, communicate and collaborate and with people in real-time.

The era of Industry 4.0 was and still is revolutionary, but on the horizon is the return of the human element in the production process, the collaboration between robot and man that outlines Industry 5.0.

Although Industry 4.0 still in its development stage the new paradigm Industry 5.0 can already be seen. It includes the penetration of Artificial Intelligence into human daily life, cooperation to strengthen human capacity, and the return of man to the “Center of the Universe”. In this sense, probably the more accurate term instead of “Industry5.0” is “Society5.0” (Super Intelligent Society). Unlike the concept of Industry 4.0, Society 5.0 is not limited to the manufacturing sector but solves social problems through the integration of physical and virtual spaces. Society 5.0 is a society where modern ICT, the Internet of Things, robots, artificial intelligence, and 3D printing are actively used in everyday life, in industry, in healthcare, and all public spheres for the benefit and convenience of society.

Although automated processes and robots are increasingly used in human life, the need for human contribution is again at the forefront as an essential element of the process, especially in its creative part. Because history proves that one cannot continue its evolution and revolution without the other.

Grafixoft received a green energy certificate

Grafixoft received a green energy certificate from ENERGO-PRO. The certificate attests that 100% of the electricity supplied to our company has been generated from renewable energy sources.

This is one more step that our company is taking in the direction of reducing the harmful emissions and carbon footprint that companies leave on the planet.

The responsibility we all have is huge. That`s why, two years ago, we proudly announced that Grafixoft is the first 100% green IT company in Bulgaria, after acquiring a small water power plant – “Sokol”.

The energy it produces is more than Grafixoft spends in a year.

Being responsible to colleagues, customers, and business is one part of being a sustainable partner. The other is what we do to improve the environment and support local communities and activities.

At Grafixoft we strive to be sustainable in our development and to support all areas where we can be useful.

Last year, the company donated to the hospital in Gabrovo medical equipment to help doctors and patients in the difficult conditions of COVID-19.

Last but not least, the software engineering project in Gabrovo – SCIENTIA business complex, is a big step towards improving the business environment in Gabrovo and the region.

Grafixoft awarded by Clutch

Clutch Recognizes Grafixoft as a Top Bulgarian Custom Software Development Company for 2021

Established in 1998, Grafixoft has more than 2 decades of experience in developing tailored software and business solutions and providing IT consulting services. We pride ourselves in our ability to consistently deliver reliable software applications for our clients all over the world. Our team of professional software engineers are dedicated to passing along our extensive experiences and values in support of our client’s success.

We measure our success in the number of years of our continuous and fruitful partnerships with our clients and employees, and so we are delighted to share yet another accomplishment with you. Just recently, Grafixoft has been recognized as one of the Top Custom Software Developers in Bulgaria for 2021!

Clutch is the leading B2B resource for companies looking to find the right service providers for their business needs. Every year, they recognize the highest-performing firms across industries and locations in their Leader Awards. Only those who display a track record of high-quality and legitimate client testimonials are qualified for this award. We are beyond grateful for this opportunity, for it truly validates our dedication to forming deep and meaningful partnerships with our clients.

Here at Grafixoft, we believe that business is personal, and it is our relationship with our clients that makes magic happen. This is why we dedicate this award to all of our clients who have supported us in this journey. We truly appreciate you taking the time and initiative to share your experiences working with us. Your insights motivate us to become the best version of ourselves every day.

Frontend – University Myths

Frontend – what is it? Why care?

According to Wikipedia: ‘Front-end web development is the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data.’

Remember those days when HTML, CSS, and jQuery were sufficient for most young and green front-end developers? Only a little bit of JavaScript with good jQuery knowledge, combined with some PHP basics was pretty much enough. Remember when CSS, JS, and HTML were all supposed to be in separate files? It’s all in the same file now.

Remember when HTML was just for the web? Nope, you could easily be asked to develop a desktop app with it as well. The frontend has changed dramatically in the past 6–8 years.

Web standards continuously change, every month brings something new, someone unveils a new tool that resolves all problems, and so on, and so on. Ever heard of Svelte? One year ago, nobody knew about it – today, according to the state of JS 2020 it has the highest interest of all front-end technologies, surpassing even Vue.js and React.JS – the language that was mainly created to support web browsers, now can be used even for solving hardware problems.

JavaScript renaissance – some can say. Not according to universities, at least here in Bulgaria.

University front-end myths!

Myth #1: Front-end developers are not real programmers. Everyone can become a front-end developer.

I’ve heard this a couple of times from fellow students. Most of them think that front-end development is writing only plain HTML and some CSS and a small amount of JS. Names like code monkeys come up. Others see front-end development, as the last option, if nothing else (programming related) goes well.  Things I often hear when it comes to front-end development:

– If I don’t succeed to learn C++ here at the university, I will probably become a front-end developer.

– I can always go to an academy and become a web developer.

– I don’t want to be a UI designer.

Of course, this is not true. The web is moving forward and the web that the university remembers has evolved — for the better. With technologies like React, Vue, Angular, front-end development is quite challenging and interesting.

Myth #2: There’s no computer science in frontend.

Not true. When new features are not part of the sprint developers spend most of their time fixing bugs and optimizing the existing code. Computation and memory resources are precious, given that most applications have to run on a wide range of devices. Developers often have to:

  • Carefully choose the most efficient data structures
  • Write side effect free (pure) functions
  • Think about reducing any IO that might cause the application to slow down
  • Always follow the SOLID principles and write clean code
  • Think about future code extensibility

University computer science is a great bonus, knowing it can only help. And it helps with optimizations if the application is particularly heavy and has to run on mobile phones.

Myth #3: There is s no logic in frontend – it’s only HTML and CSS.

This is coming from fellow colleagues, who study mainly C++.

Couldn’t disagree more. These days the typical frontend has huge amounts of formerly back-end functionality, that is now exported to the frontend. We have persistent storage in the form of LocalStorage, indexDB for a client-side database, service workers for hijacking API requests and servicing them right on the client, webworkers for additional computational needs, websockets for real-time event based bidirectional communication, and the list goes on.

There is more to do on the frontend than ever, and most of these things involve solving complex challenges, both from an infrastructure and programming perspective and needless to say, this is apart from the beautiful application that people will use, structured and styled in HTML and CSS respectively, that is also part of the frontend.

Myth #4: CSS is too difficult. JavaScript is a broken mess.

People usually don’t like CSS and find it hard, missing the logic of a standard programming language, error-prone, even not related to programming. None of that is true in modern browsers. We have auto prefixers, polyfills, and things that minimize the need for writing browser specific CSS. We spend less time wrestling with tools and more time solving the actual problem of designing the interface.

Then there are CSS preprocessors that add loops, variables, and control statements to vanilla CSS to make it more programming-like and easy to write and maintain. There is also this new shift in the way we write CSS in JavaScript itself and there are libraries like styled-components that assist with that.

And no, JavaScript is not broken. It’s easy to mess things up as it is a very ‘forgiving’ language. One can easily shoot himself in the foot if not careful. This is valid for all programming languages. The good thing is there are tons of libraries that assist with immutable data structures, code linting, following functional programming paradigms to enforce side-effect, free code, and so on. In my opinion, the only thing needed to master every programming language, (besides its perks) is having good code writing practices.

Final words

The problem is that front-end development is not something one can get a degree in. People can get a degree in computer science where they are taught to program in C++ or Java, with HTML, CSS, and JS being treated as second-class citizens. This can lead to some funny misunderstandings. But In the end, it will always come down to the person’s motivation.


Tanya Zheleva is a student at Sofia University. After a successful internship at Grafixoft, she was invited to accept the position of a software engineer. She loves physics and sports and is interested in React/Redux technologies.

New realities – VR, AR, MR

New realities – VR, AR, MR are often subject of technology articles or part of various innovative solutions. We decided to look at them in detail because frankly, they confuse us a little.

The first appearance of the term “virtual reality” is a fruit of science fiction, it comes from the short story “Pygmalion’s Spectacles” written by Stanley Weinbaum in 1935. The story describes the idea of ​​how a pair of glasses transfer a person into a fictional world by sense, smell, and taste.

85 years later, global sales of VR helmets are millions per year (about 14 million for 2019), but they are still a niche market because of their high prices and the specifics of the experience they bring.

Virtual reality (VR) is a simulated experience that can be the same or completely different from the real world. Virtual reality is often used in various entertainment applications such as video games, but it also finds a place in quite serious aspects of life such as education, medicine, military exercises, and training, as well as in transforming archaeological and cultural finds into 3D environments.

Currently, virtual reality simulation systems use helmets (multi-projection media) to recreate realistic images and sounds, and thus realistic sensations, simulating the user’s physical presence in the virtual environment. But that’s not all, a person placed in virtual reality can look around, move and interact in the virtual world.

An unpleasant effect of using simulation systems is nausea and dizziness. The body tells the brain that it is not moving, but in virtual reality the eyes see that it is moving, and the body is confused, leading to a seasickness-like reaction.

This may come to show that our body is not fully ready for this type of experience yet, but it certainly does not place a limit on science and technology, because the next level of reality is even more impressive.

AR – Augmented reality is a combination between our real environment and computer-generated objects (sound, video, graphics, etc.), which is achieved through certain software used on a phone/tablet or special glasses.

According to Azuma, it is an environment that includes virtual reality and elements of the real world. For example, a user may wear transparent glasses to see both the real world and computer-generated images projected onto a picture of the world around them. However, it is important to mention that this superimposition of content (layers) on the real world does not become part of it and they cannot interact with each other.

There are already interesting examples close to our daily lives of using AR, for example, IKEA is developing a table as part of its concept kitchen, which offers recipes based on ingredients on the table, which is a great example of the potential of AR in the real, everyday life. A combination of virtual and augmented reality is also used in the construction of space satellites, in the assembly of the satellite to show the exact place of each component and detail of the device.

And to make it even more confusing, it’s time for the next kind of reality. Mixed reality (MR) – sometimes called hybrid reality – is the merging of the real and virtual worlds to create new environments and visualizations where physical and digital objects coexist and interact in real-time.

It’s amazing, but MR connects people, objects, and places taken from the physical and digital world on one platform at the same time. Allows interaction with the help of holograms, to visualize scenes and processes with digital content as part of the real world, as the holograms respond to the movements and gestures of both the participant and signals from the outside world through gestures and voice commands for navigation. Mixed reality (MR) is the unification of the real and virtual worlds to create new environments and visualizations where physical and digital objects coexist and interact in real-time. Mixed reality does not take place exclusively in either the physical or the virtual world, but is a hybrid that allows us to touch the best of both worlds.

The market for these technologies is constantly growing, and with it, the models themselves are evolving, upgrading their functionality in all aspects.

It is exciting to live in times when we can touch this type of experience, although we may not yet be fully ready to understand and accept them.

QA army and why is important to be well prepared

QA – Where and when it all began?

The history of QA concepts probably starts with the computer invention. Some say that The Babbage machines (automatic mechanical calculators designed to tabulate polynomial functions) invented by Charles Babbage, were considered first among the mechanical computers.

More than a century later, World War II (1939 – 1945) led to greater advancements in computer technology. Electronic computers were prominently used to break the secret codes and crack secrets of war communication.

Again in 1945 engineers found a moth in Panel F, Relay #70 of the Harvard Mark II system. The computer was running a test of its multiplier and adder when the engineers noticed something was wrong. The moth was trapped, removed, and taped into the computer’s logbook with the words: “first actual case of a bug being found.”

Why is this important?

In 1996 the Ariane 5 flight 501 rocket – a project worth $8 billion dollar failed due to a software defect. Unfortunately, it was not the last time when something like this happened.

In 2003, the Northeastern and Midwestern United States and Ontario in Canada had the second most widespread blackout due to a software defect in an alarm system.

There are many examples of huge financial losses caused by software bugs in history, and they continue nowadays. In 2002, according to NIST (National Institute of Standards & Technology), the cost of software bugs to the US economy is $59.5 billion annually. But the problem is not only in the money.

In 2000 in the National Cancer Institute, Panama City a series of accidents occur when a therapy planning software miscalculates the proper dosage of radiation for patients undergoing radiation therapy. The software allows a radiation therapist to draw on a computer screen the placement of metal shields to protect healthy tissue from the radiation. But the software will only allow technicians to use four shielding blocks, and the Panamanian doctors wish to use five. Unfortunately, they discovered that they could trick the software by drawing all five blocks as a single large block with a hole in the middle. What the doctors did not realize is that the software gave different answers in this configuration depending on how the hole was drawn: draw it in one direction and the correct dose is calculated, draw in another direction and the software recommends twice the necessary exposure.

And here comes the place of the Quality assurance engineers and their responsibilities.

Software quality assurance engineer is responsible for the detection and resolution of problems, and the delivery of satisfactory outcomes. A software quality assurance person’s main responsibility is to create and enforce standards and methods to ensure the quality of the code which prevents bugs from ever occurring. Part of the job is to monitor every phase of the software development process in order to ensure that the software adheres to the standards set. Software quality assurance engineers make sure that the products work before they are released to the public. Sometimes the day is saved thanks to the quality assurance engineers.

What is QA`s personality? 

Detail-oriented, critical thinker with a creative mindset, facing the problems from a different perspective, a team player with a great analytical mind, and good communication skills. These are only part of the skills that a QA should possess and constantly improve.

QAs are the people who give the green or respectively the red light for product delivery.

A good sleep after a job well done is worthless.

The most exciting part of the job is the satisfaction you get when delivering a high quality product to the client even after facing challenges not only from a technical but from a time constraints perspective as well.

Knowing that you already discovered the issues the customers would face and furthermore these issues are already fixed gives you these positive feelings that would allow you to continue with even greater passion in the next iteration.

A good sleep after a job well done is worthless.

Nowadays when more and more businesses are digitalizing their processes in order to survive, the expertise of quality assurance engineers is more than recommended.

If you are interested in our QA services you can contact us through our contact form.

In Grafixoft we have a QA army.

Working from home and motivation

For a long period of time working from home was something not so common, some would say privilege even. Some employers were using it as a part of the company’s social benefits. A couple of days home office a month sounded very tempting in job ads but it wasn`t a common practice. This came to an end with the Covid 19 pandemic – working from home became something that we had to adjust quickly so we can adapt and continue working. For some IT companies home office was something familiar with clear existing processes and expectations, but for others was something new with quite many unknowns.

So, how we can work when 50 to 70% of the company’s employees are not in the office?

Let’s be honest – after the happy feeling that you don’t have to waste time in the traffic on your way to the office is gone, it is clear that working from home can affect quality and efficiency and can have a demotivating effect on some people. The comfort of the home atmosphere can make you less productive compared to working in the office.

That is why we have put together some tips on how to keep your productivity level high during the home office.

Make a working space.

A big part of working from home effectively involves making a space where you can feel like being in the office. It is one thing to work from the kitchen table and completely different if you have a desk with a monitor, keyboard, and all other office staff. It is important to recreate a working environment. More and more researches prove that the way you are dressed has its impact as well – if you dress office-like and don’t spend your day in your pajamas (I know, it is very comfortable) it will affect your productivity and your motivation. Try to make yourself feel like you are in the office, even though it kills the charm of the home office, it is important for the course of your working day and you’ll be able even to turn your camera on during online meetings.

Start and finish work at the usual time.

We know that sometimes there are unexpected tasks that take longer and you need to start work earlier or finish later. Sometimes we cannot control it. Maybe you have noticed that when working remote you turn on your laptop with the first sip of coffee and you turn it off after the 7 o’clock news. Lunch breaks are also very floating, usually lasting about 15-20 minutes, enough to eat, and still take the usual working position. Since you are not traveling to the office, you may decide to start earlier or continue later, but it is better to stick to your usual work schedule.

Lunch breaks.

Don’t forget that even though you are working from home it is your right to use a lunch break. Rule number one – don’t eat at your desk. If it possible use your break to go eat outside or have some time with your friends or colleagues. If you prefer not to do all the above, just a nice and relaxing lunch at home is enough. Why not even a short, invigorating siesta? You can use your lunch break to sign up for an online course or listen to a lecture. Don’t feel guilty for spending time for something different than work. This will make you more creative and more focused when you continue with your task later.

Keep in touch with your colleagues online.

One of the most difficult things working remotely is communicating with colleagues. Now it is not possible just to go to their desk to ask them something or to check the progress of today’s tasks. Just a few months ago you were coffee buddies every morning, talking about different stuff, playing football together. You were recharging each other’s batteries.  One of the best things about working in the office is now one of the worst things about working remotely. The lack of social contact in such circumstances is by no means beneficial. Luckily today’s technology world allows us to communicate with whoever we want, whenever we want, wherever we want.

When you work in an office, corporate culture and interpersonal relationships occur spontaneously in the physical space. However, when you work remotely you have to find new ways to maintain some informal office practices. The jokes, the greetings, the harmless gossips, sharing personal interests, the attention to your colleague – all these things are now happening in the digital world through communication sources that allow spontaneous and free information sharing. One such source is The Donut app for Slack. It randomly selects a colleague you haven’t heard from in a while and arranges a meeting for both of you. A big plus is that it allows you to choose the people you don’t want to be connected with (your team colleague for example with whom you talk every day, sometimes twice or three times a day to talk about work tasks).

Keep a low social network profile (Reduce social networks).

They are easy to access and are constantly tempting you to open them. But that is not the way work will be done on time. To be productive we advise you to log out from all your social network accounts and remove the shortcuts on your internet browser. If you use Chrome you can go to the “Incognito” mode. This will keep you away from your account for a while and signing in will be slightly more difficult. Your virtual socialization can wait until the end of your working day.

After reading all these super valuable tips on how to be productive when working from home, the most important thing remains – to apply them. Or at least some of them.