Symphony Solutions is attending ICE London this February 7-9, 2023 at ExCel London. Your premier provider of Cloud and Agile solutions for iGaming is bringing its expertise to the largest industry event in Europe.
ICE London once again gathers an international community of gaming operators and industry leaders, hosting over 600 solution providers for three days of intense networking with key industry players, sharing the latest tech innovations, regulatory updates, and expert insights. Join Symphony Solutions in the community of over 35.000 gaming professionals from around the world to discover innovative ideas, build valuable business connections with top professionals, and get empowered to find your standing in mature and emerging markets.
Symphony Solutions has garnered years of industry expertise in the iGaming domain. We are working with top-tier Sports and Betting providers on creating unique product lineups that deliver immersive and engaging online experiences for customers worldwide. Symphony Solutions offers an extensive service portfolio to cover all your needs, from Experience Design and Application Development to Digital Marketing Orchestration, providing unmatched service quality in custom iGaming and Agile transformation solutions.
ICE London 2023 is the most exciting event in the global iGaming industry with its unrivaled opportunity for leading industry experts to discover new products and make valuable connections.
Meet our experts
Eduardo dos Remedios
VP of iGaming at Symphony Solutions
A true leader and veteran in the iGaming industry, he has contributed to the success of numerous brands and operators throughout Europe, Latin America and Asia.
Ewelina Antonakos
Business Development Lead at Symphony Solutions
An experienced sales and business development manager working in multiple industries, from solar panels to marketing automation, Ewelina has focused 5+ out of 8 years on the iGaming and gambling industry.
Sofia Savka
Service Delivery Manager at Symphony Solutions
Experienced Service Delivery Manager and trusted Client Partner, Sofia is working with distributed remote teams on delivering the best experience for our iGaming clients.
Marian Melnychuk
Service Delivery Manager at Symphony Solutions
Marian garnered over 10 years of experience in the industry working with enterprise-level clients in the gambling, entertainment, mass media, eCommerce, and security software domains.
Graphyte is a leading SaaS provider of personalization tools for betting operators, having introduced unique AI solutions to the iGaming industry. The London-based startup was founded in 2018 and, after starting its partnership with Symphony Solutions, went on to introduce a lineup of AI-powered products that positively transform the experience of a bettor and drive betting operators to enhance user experience through personalization.
Graphyte and Symphony Solutions: Start of a Partnership
Graphyte startup came to Symphony Solutions as a startup in October 2018, having developed the MVP of their product and catching the interest of their first client. Seeking to bring it forth and take up its place in the iGaming market, Graphyte required expert technical support in order to bring the idea to the point where it could go into production and start generating revenue.
How did Graphyte come to know that Symphony Solutions was just what they needed to get started on their journey? In a way, this was a ‘rite of passage’. Rob Davis, CTO of Graphyte, previously worked as Ladbrokes Coral CTO with Symphony Solutions, having established a strong professional relationship during that time. When selecting their vendor, Graphyte reached out to Theo Schnitfink, Founder and CEO of Symphony Solutions, seeking startup consultancy for something that was about to become an industry disruptor. Starting in November 2018, the partnership was set to sail toward the great achievements to come.
AI Approach to iGaming: Unique Product Proposition
Symphony Solutions team provided Graphyte with end-to-end development of a SaaS product that operates as an AI-powered personalization engine to be used by betting operators.
Graphyte products utilize the power of AI to take real-time gameplay and transform it into an interactive experience with smart recommendations and personalization. What makes Graphyte’s product line-up stand out in the market though, is that the flexible solutions can be easily deployed without any heavy-duty coding or changes to the core CMS of the betting operator’s website or mobile app. Just like that, a new client can start benefiting from the products in a matter of a few business days.
Graphyte Recommend
The first in the industry, Graphyte Recommend was the idea that started the client’s partnership with Symphony Solutions and became a viable product by February 2019. Bringing together AI and iGaming, the product was a personalization engine with the purpose to generate real-time recommendations for bettors. The only recommendation platform to exist for the iGaming industry that can be easily integrated into betting platforms, it became a game changer. Symphony Solutions together with Graphyte entered an entirely new realm of iGaming, where AI would lead the way.
Momentum
Momentum brings the social element to the bettor’s experience with trends and popular content. The AI tool tracks in real time what games, events, or markets are on the rise in popularity and utilizes social proof to optimize content.
Intelligent Layouts
Intelligent Layouts were introduced in 2019 and are by design an AI-powered smart lobby for online casinos that creates a personalized environment for bettors, all with homepages, dashboards, and navigation. It’s the virtual casino environment that has everything in place to satisfy the needs of the bettor, introduce them to new content, and keep them coming back for more.
Engage
Engage tool alerts the users to engage with content they might find interesting, through sending push notifications, email, and text messages. It’s the ultimate engagement tool, hence the name, that applying precise user targeting algorithms and campaigns, personalized to each user’s needs and interests. Engage triggers the users to interact with relevant content and derive true satisfaction from using the application.
Retarget
Retarget tool is aimed at grasping the interest of potential new users by showing them personalized ads while they may be browsing third-party websites. Created with the goal to qualitatively target the end user and bring them to the bettor operator.
Site search
AI-powered instant search through channels and the product overall with a keen focus on sports betting and casino. The tool helps the bettors to get time-sensitive, accurate, and personalized results, optimized for the bettor’s preferences and previous search history.
Symphony Solutions Team Composition and Contribution
Symphony Solutions is involved in the full-cycle software development of Graphyte products, overtaking the entire SDLC – the end-to-end services follow the product from the idea inception to maintenance.
The Graphyte team started out with a small team of engineers and testers headed up by a Service Delivery Manager, and gradually grew to two engineering teams. Symphony Solutions worked on creating the initial product and continued making integrations once the system successfully went into production and new clients were onboarded. Gradually, the team developed new products that added to Graphyte’s unique proposition of AI-powered solutions for betting operators.
Symphony Solutions expert team took over the process of creating Graphyte products, which included:
Applying the original research to create an MVP that can be used by Graphyte clients.
Continuing the work to develop new unique solutions and expand on Graphyte’s product proposition.
From the very beginning of the project, Symphony Solutions team were in for a handful of exciting projects with the full-scope omnichannel strategy entailing QA services, DevOps, website development, and marketing.
In 2020, an entirely separate project took off with the aim of optimizing the cost of infrastructure to help Graphyte’s further growth. What at the time was still a small team, managed to deliver quality solutions, respond to any technical challenges, and fully satisfy the business needs of the client. Infrastructure optimization helped take the accomplishments of the team to a new level – the team implemented process automation and introduced solutions for easy scaling and new client integration, mitigating any scaling issues, and allowing Graphyte to grow rapidly. The created environment provided the tools and resources that laid out the foundation for a successful launch of the product to new markets in a matter of weeks.
Over the course of cooperation, six independent projects were developed with dozens of new clients integrated. Gradually, this required growing to two engineering teams, which supported the full lifecycle of the project. Essentially, what Symphony Solutions did was an omnichannel solution provided with a full scope of services, from development to marketing.
2022 New Perspectives: Optimove Acquires Graphyte
At the start of 2022, Optimove being a leading CRM marketing platform leveraging AI-powered solutions, expressed an interest in acquiring Graphyte. The company saw the benefit of leveraging Graphyte’s offer of an innovative AI-powered recommendation engine with no similar alternatives in the market. Leveraging their own work in AI solutions, Optimove saw the potential of integrating Graphyte’s product line-up with their own capabilities and extensive database, aiming at a solution that would deliver a holistic user journey for iGaming clients as well as enable Graphyte to explore new non-gaming verticals.
Preparing for Growth: Graphyte Agile Transformation
Starting in September 2022, Symphony Solutions set out on a new adventure in our partnership with Graphyte, now determined to see them through their Agile Transformation as an important part of preparing for future growth. With the foundation laid out for achieving technical excellence, we needed to make sure that Graphyte team was ready to fully embrace the Agile way of working and empower its teams to strive for excellence in both product quality and process efficiency.
Agile at heart and in work practices, Symphony Solutions has helped many clients achieve Business Agility, so we were excited to now move in that direction with our trusted client Graphyte. Starting out with a team of six or seven and growing to two development teams over the course of our collaboration, and now going through Optimove acquisition, Graphyte expects to see further growth. To assist with that, Symphony Solutions started off helping Graphyte teams apply the principles of Agile in order to clearly understand their team composition, roles and responsibilities, optimize work processes, improve transparency, and take ownership of the project execution from the position of a Scrum team.
Start of Another Great Journey
Working alongside Graphyte from the very beginning, and seeing them grow and transform, we are now excited to help them enter a new phase in their journey as a company. This is the beginning of something new and exciting.
Symphony Solutions took on the project, one brilliant idea, and worked alongside Graphyte to see the company develop into an established player on the market with a unique proposition that carries itself and has the potential to transform iGaming for years to come.
The latest World Economic Forum’s Future of Work Report notes that humans and machines will spend the same time on business tasks by the end of 2025. This means that big data, machine learning, and artificial intelligence technologies will take the center stage in enterprise operations. Among the professionals who will be instrumental in realizing this future are data scientists.
But what are the skills for data science, and how much will they be in demand? Well, the Bureau of Labor Statistics estimates that careers in data science will grow two-fold between now and 2029. Typically, data scientists leverage mathematics, statistics, software, and programming skills to gather, analyze, infer, and draw customer insights from data. That said, here is a complete guide on the 2022 data science skills checklist.
What Are the Skills for Data Science Professionals?
Employers often look into certain skills and capabilities when hiring professionals to uncover information and insights from big data. Data science skills sets are segmented into technical and soft capabilities, which when combined enable data scientists to bridge the gap with all business stakeholders and achieve desired outcomes. Here is a close look into data scientist required skills.
Technical Data Science Skills
Some of the most important data science skills that employers consider before hiring candidates include:
AI/Machine Learning Organizations are moving away from traditional AI/machine learning algorithms, originally termed “black boxes”, thanks to their ambiguity in deriving predictions, based on respective inputs. Current job seekers in the data science field should be well-versed with explainable machine learning technologies, such as SHAP and LIME. These innovative techniques help data scientists to create explanatory models with better logical communication for predictive options. Other algorithms that you should understand in this file include Naïve Bayes classifiers, decision trees, and random forests.
Statistical Analysis A typical day for a data scientist involves applying multiple statistical techniques and concepts to big data environments. With that in mind, it will help if you’re good at statistical analysis and its application to data science, such as probability, variance, distribution curves, as well as standard deviation. Having a technical background in these concepts will help you to gather, aggregate, analyze, and interpret data, to present findings to business stakeholders. In other words, you need statistical analysis skills to help your potential employer draw insights from raw data.
Understanding of SAS and Other Analytical Tools Employers require data scientists to have a strong, technical background in Statistical Analysis System (SAS) for business intelligence, and other associated tools for exploring and drawing business insights from large data sets. The adoption of SAS analytics is also increasingly becoming popular in machine learning and data science. Besides using SAS to create easy and insightful analytics, professionals in data science should also be able to integrate the solution with other basic business tools, such as Excel and Outlook.
Software Engineering Aspiring data scientists should have software engineering skills, especially if they are going to build and deliver multiple machine learning modules in the backend. All this typically happens in full-stack development, which requires in-depth proficiency in Python, R, Java, JavaScript, and Scala programming languages. Other software engineering skills for data scientists are DevOps and MLOps. DevOps and MLOps are both software development strategies that focus on collaborations between developers, operations, and data science. While DevOps focuses on application development, MLOps focuses on Machine Learning.
Big Data Big data, the backbone of data science, is arguably one of the fastest growing sectors globally, now standing at $274.3 billion. This is one of the most in demand data science skills. Job candidates in data science-related fields should understand the basic concepts of big data, types of data in big data environments, as well their applications. These skills should extend to the 5 Vs of big data, including volume, value, variety, velocity, and veracity. Lastly, a data scientist should understand the 5 A’s of big data, such as agility, accuracy, adoption, automation, and accessibility.
Writing SQL Queries & Building Data Pipelines Although data scientists don’t take fundamental classes on programming and coding, they learn these skills out of necessity, to perform their roles in big data environments, such as writing SQL Queries and building data pipelines. A recent survey by Kaggle, a subsidiary of Google reveals that nearly 80% of data scientists use Python programming language, while another 40% use SQL in their current job positions. All the same, prevalent programming skills for data science that most employers look at include Java, C, C++, and Julia.
Data Analysis Another thing that shouldn’t miss in your data science skills checklist includes data analysis, which will help you extract data from secondary and primary sources, before reorganizing the same in easy-to-read formats. That means having an in-depth understanding of Structured Query Language (SQL) to process or compute voluminous data sets. You’ll also need hands-on skills in spreadsheet presentations, given that your employer might need summarized spreadsheet reports.
Data Visualization Data scientists are involved in the whole process of data analysis, from the top to the bottom, including presentation, which requires strong data visualization skills. This proficiency extends to knowledge in prevalent tools, such as D3.js or Tableau that can help you create various types of data visualizations, such as:
Scatter plots
Pie charts
Bubble charts
Line and bar graphs
Heat maps
Histograms
Hands-on skills in these types of data visualization as well as the respective tools for creating them will help you communicate business-ready insights in a detailed, meticulous storytelling approach for in-depth comprehension.
Data Wrangling / Feature Engineering One of the top technical data science skills in 2022 is feature engineering or data wrangling. Typically, having data wrangling skills means you can transform one data set format to another as you build models, explore feature upgrades, or perform deep dives. At the same time, you should be able to extract features from raw data using your feature engineering skills.
Natural Language Processing Technical proficiency in natural language processing, popularly abbreviated as NLP is a must-have skill if you want to be employed as a data scientist in any industry. As an extension of artificial intelligence (AI), NLP is increasingly becoming popular in the race to business automation. Organizations are already employing their use cases in building chatbots and virtual assistants, as well as monitoring consumer engagement on social media platforms. As a data scientist, you’ll also use NLP to run sentimental analyses of target audiences or extract specific texts from big data.
Deep Learning A majority of data scientists work with AI and Machine Learning technologies. However, there is a rising trend in employment, where these professionals are hired to execute machine learning applications using advanced methods, such as deep learning. Data science skills to learn in Deep Learning include neural network application in creating advanced analytical models. Typically, you’ll need hands-on skills in various algorithms, such as
Convolutional Neural Networks (CNNs)
Long Short Term Memory Networks (LSTMs)
Recurrent Neural Networks (RNNs)
Generative Adversarial Networks (GANs)
Radial Basis Function Networks (RBFNs)
Multilayer Perceptrons (MLPs)
Self Organizing Maps (SOMs)
Deep Belief Networks (DBNs)
Restricted Boltzmann Machines (RBMs)
Auto-encoders
Soft Skills Needed for Data Science
As noted earlier, there are various data science soft skills that can enhance your chances of getting employed, including:
Data Intuition Data intuition is probably the most critical among all soft data scientist skills, especially when it comes to big data environments. A good professional in this field should have innate intuition that enables them to look beyond apparent reports of data analyses to draw valuable business insights from them. However, acquiring this soft skill should worry you that much if you are a junior data scientist as it comes with experience and exposure to different big data projects.
Great Communication It goes without saying that an ideal candidate for any job position should have strong written and oral communication skills, data science positions not being an exception. Your skills should extend beyond gathering and extraction of data to great communication skills which will enable employers to gain from your services. Moreover, mastering good communication skills means a successful career as you can always communicate your thoughts and ideas without shying off, something that can propel you to senior data science positions.
Proficient at Working with Unstructured Data Working with unstructured data can be pretty much challenging, as opposed to structured data. That’s why employers look for skills beyond technical proficiency in unstructured data tools. For instance, a data scientist who exhibits patience can wait for relatively long periods to detect new and changed data. At the same time, patience comes in handy because you have to manage and analyze unstructured data manually, as well as derive valuable insights from it.
Developing Metrics A good data scientist should be able to measure results against the effort put into work. That means having soft skills in metric development, which essentially translates to creating a metric, writing it in code, and automating a pipeline for periodic monitoring. Most importantly, you should be creative in coming up with metrics that other members of the organization can easily follow and relate to. On top of that, a data scientist should know how to calculate and present metric findings to business stakeholders.
How to Improve Your Data Science Skills & Learning Resources
Data science can be a lucrative and fulfilling career in the long term if you know how to make yourself indispensable in your new organization. Among the tips that most professionals employ is improving their skills. With that in mind, here is how to improve data science skills through online courses and self-learning websites.
Online Data Science Courses
One of the best places to learn or improve your data science skills is online, where several courses are available for both beginners and ongoing. For instance, you can improve your skills by registering at:
Harvard University Data Science Certificate: Covers various data science fields and awards credits in at least 4 certificate courses, including data sampling, data analysis, data prediction, data management, and communication.
Code with Google – Applied Computing Series: Offers an advanced Machine Learning Crash Course through video tutorials, hands-on exercises, interactive sessions, and case studies.
California Institute of Technology Learning From Data Course: Caltech’s professor Yaser Abu-Mostafa can give you video course instructions on data science algorithms, as well as features a Q&A.
Master of Information and Data Science (MIDS) at UC Berkeley School of Information: Offers live class courses for ongoing data science professionals to hone their skills when it comes to solving problems using complex data.
Udacity: Offers online lessons that teach in-demand tech skills to help practising data science professionals be ready for future jobs.
Coursera: Offers industry-recognised Azure Data Scientist Associate Certificate, which is ideal for both experienced and entry-level data analytics professionals.
Cloud Academy: Teaches practical data science skills with a special Python course. Users can access the digital training tools remotely.
Udemy Courses: The platform matches data science students with global tutors for tailored courses. Alternatively, learners can purchase tutorial videos that are published every month.
Online Data Science Tutorials
Innovative data scientists should always learn on their own to improve and stay on top of emerging big data trends. Prevalent data science tutorials that can facilitate this include:
Codementor: Offers beginner and professional tutorials on data analysis, an introduction to machine learning, and how to choose the right software package for data analytics.
Topcoder: This source gives you access to industry experts for career insights, as well as video tutorials that teach the basics of data science concepts. It can be a good place for networking too.
KDnuggets: Offers beginner tutorials on the whole concept of data science, from gathering, sorting, analyzing, and interpreting, to visual presentation.
Flowingdata: Dr. Nathan Yau, Ph.D., prepares course tutorials that help data science professionals to improve their presentation, analysis, and understanding of data with regard to current trends and real-life scenarios.
Other Resources for Improving Your Data Science Skills
The Open Source Data Science Masters: You can sign up on this resource to access fats science tutorials, books, or even online study groups to improve your current skills.
Learn Data Science by nborwankar: Offers data science tutorials through IPython Notebooks that cover linear regression, data analyses, and random forests, among other data science fields.
Data Science Weekly: Data science professionals can sign up for weekly newsletters from this resource to get updated on the latest job listings, trends, and industry news.
FiveThirtyEight: Data scientists who want to specialize in politics, economics, health, or sports niches can check this resource for relevant podcasts and insights from industry experts.
Simply Statistics: This resource offers a heap of articles authored by Jeff Leek, Rafa Irizarry, and Roger Peng, to help data scientists improve their skills.
International Conference on Machine Learning: The conference supports budding professionals in machine learning to increase the tech’s awareness and support its application in various fields of data science.
Reddit: This platform offers a well-connected online community of data scientists and related experts who share valuable insights to help each other solve complex problems using data.
Summing Up
Data is arguably the new digital gold, taking over key business operations at a faster rate than you can imagine. A profession that touches on business data, such as data science has a promising future, as far as modern enterprise applications are concerned. Use this guide to know the data scientist required skills in your respective field to get a certification or improve your proficiency. You can also check our blog section for insightful articles on data science and engineering professions.
Here at Symphony Solutions, our motto is “write code like music” and we love how it resonates with so many of our Symphonians. Next on Symphony Personas, Fredrick Oladipupo told us how he came into his career as a Software Developer, shared some tips and tricks on keeping your focus and finding balance in your daily life. Having joined not so long ago, seems like Fredrick has already found his vibe at the company and that’s what this is all about!
1. You joined Symphony Solutions in January 2022. What were your expectations and has the experience so far been everything you hoped for?
My expectations were pretty high considering that I had worked with another international company and was familiar with global working conditions. So far, my expectations have been met; in fact, Symphony Solutions has taken my experience to a new level because feedback is sought and appreciated.
2. What’s the project that you are working on? Tell us about it.
I currently work on two projects related to iGaming technology. Both projects are similar and the tech does the same thing, except one is deployed for casinos and the other for slots. The technology stores and creates a single source of truth for all kinds of data on casinos and slots providers.
3. Do you find the idea of writing code like music interesting? Does it resonate with you?
Yes, I do. I’m a big fan of music; I listen to it while I do some exercise, write code and sometimes, to sleep. What’s amazing about music is how little bits form an amazing sound. It’s the same with code – the model that interacts with the database, the controller that handles logic… the customer uses the app and only has to click a button but many things came together behind the scenes. Just like music.
4. What do you enjoy the most about your job?
Definitely, the idea of facing new challenges and solving new problems every day. The beautiful thing about coding is that it seethes into other areas of life and makes you apply the same level of discipline, focus, and commitment. There’s also the fact that coding changes the way the brain approaches problem-solving.
5. What would you say about our culture here at Symphony Solutions? It’s always interesting to hear a new perspective!
I love the culture at Symphony Solutions for many reasons. The company wants to hear from employees and is committed to bringing people together through digital communities like we have on Yammer. Also, the People Partners are amazing people.
6. What’s your regular day like, working remotely? Do you ever work close to the ocean and watch the waves as you code?
No, I don’t. My day typically starts as early as 6 am with a short prayer or meditation. After that, I exercise a little and make coffee before I sit down to write code. I like to start my day early so that I can do some work before meetings. I block a couple of hours in the afternoon to do more coding, get lunch and write my end-of-day reports. Before bed time, I spare an hour to read a book.
7. How did you decide to become a Software Engineer? Did you always know you wanted to do that?
I didn’t always know I would become a Software Engineer. I studied Industrial Chemistry and did that for about two years before a friend introduced me to software engineering. I thought it was pretty cool to be able to build great products from scratch and realized I was good at it.
8. Would you say that your love for minimalist living reflects in your work? If yes, how? If no, why?
Yes. I can’t concentrate when my environment is disorganized, so I try to keep my living and working spaces in order. I also don’t own a lot of stuff so that I have limited things that require my focus and my time.
9. What was the last book that you read? Do you have any cool book recommendations for fellow Symphonians?
I haven’t read many books this year, but I would recommend The Alchemist by Paulo Coelho (I have read it about three times). It’s a lesson on resilience and responsibility to self and others.
10. What do you do outside of your work hours?
Outside of work, I run, read and hang out at the beach with friends.
11. We’ve heard that you also write ‘on the side’. Is it a creative outlet, or more like an extension of your career in tech? Do you mind sharing some of your articles?
My English is not excellent and my punctuations are way off, but I like the idea of being expressive through writing. I write my thoughts on my Notion, mostly unpublished. They are personal thoughts, so I can’t really share any.
12. What is your favourite day of the week and why?
My favourite day of the week is any day that I get to solve problems.
13. If you weren’t a Software Engineer, what would you have been doing?
A writer of some sort or a job that would require me to talk to people and ask them questions. Perhaps a Public Speaker if that’s a job.
14. What are your top 3 motivators at work?
I’m motivated by problems because solving them means providing value for clients. A second motivator is being able to look back and appreciate work I’ve done. Lastly, money. Getting paid for the work I do.
15. Can you share some of your productivity hacks?
Write it down and then break it down. Also, just get to work and do it.
16. If you could talk to your younger self, what advice would you give?
Focus is the currency, guard it. Direct your energy into something productive every time whether you are working or having fun.
Today, 80% of businesses plan to automate work processes within five years and consequently now more than ever, there is a huge demand for software developers. In fact, the surge has already started. A huge leap in active software developers occurred worldwide from 18.2 million to 24.3 million between 2013 and 2021 —and the number is predicted to reach 45 million by 2030!
However, while programming is an essential skill for anyone looking to start a career in tech, choosing the right language to learn is not easy. There are hundreds of options out there, and more are being created every day. So, how do you know the best programming languages to learn in 2023?
The answer, of course, depends on what you want to use the programming language for. Different languages are better suited for different tasks. Some languages are more popular than others, and some languages are more in-demand by employers.
In this article, we will take a look at the top 10 programming languages for 2023. These languages are selected based on their popularity, usefulness, and ease of learning.
What Is a Programming Language?
A programming language is a system of notation for writing computer programs. It is used to create a set of instructions that a computer can understand while performing tasks.
There are dozens of popular programming languages, and each one has different syntax, or rules, that dictate how the instructions are written. Which means some languages are easier to learn than others, and some are great for particular tasks compared to others. For example, some languages are better suited for building websites, while others are better for creating apps or working with data.
Programming languages come in two variants – statically typing and dynamically typing.
Static typing is a style of typing in which variables are given a specific type when they are declared and are known at compile time. Dynamic typing, on the other hand, is a style of typing in which variables are not given a specific type, but instead are checked during run time.
Both static and dynamic typing have their advantages and disadvantages. Static typing can help to avoid errors by catching type errors at compile time, while dynamic typing can be more flexible and easier to use.
In subsequent sections, we’ll take a closer look at a few of the common choices – grouping them by typing – and help you decide the best programming language to learn in 2023.
So, without further ado, let’s jump right in!
Statically Typed Languages
Go
Go, also known as Golang is an open-source programming language that was created by Google in 2007. It has been used for many different purposes and is now used by multiple big companies including Google, Dropbox, Twitch, and Uber. With between 1.2 to 2.7 million Golang developers, it’s easy to see why it’s one of the most popular languages out there.
Learning Level: Beginner to Intermediate
Skills Needed: Golang can be learned by someone who already knows one or several programming languages, particularly Python, PHP, and C++.
Pros:
Easy to use and simple to understand
Rich in features and functionalities
Built-in web server & a standard library
Adaptable to C programming
The programme can be modified and executed instantly
Backed by Google
Cons:
Its generic features frustrate many developers
Library support is very limited
Is not versatile
Lack of GUI library
Platform: Cross-platform (desktop)
Popularity: Increasingly becoming popular, especially among data scientists.
You can check out this Getting Started with Go specialization course to see if this language fits you.
Kotlin
Kotlin is another best programming language to learn in 2023. It’s easy to learn and can be used for Android development as well as backend services. It was designed by JetBrains in 2011 and has been well received by Java developers who want an alternative but still want the familiarity of Java syntax/style.
Companies using Kotlin include Pinterest and Coursera.
Learning Level: Beginner to Intermediate
Skills Needed: Knowledge of programming languages, especially Java
Pros:
User-friendly
Great Java interoperability
Clean and intuitive syntax
Supported by both Google and JetBrains
Cons:
Compilation speed varies
A low developer talent pool
Learning resources and tutorials are limited compared to Java
Platform: Desktop, Mobile, Web, Server.
Popularity: Increasingly popular among Android application developers.
C# is a general-purpose, object-oriented programming language developed by Microsoft and first released in 2000. C# combines the syntax of C++ with object-oriented features that allow you to write code that runs faster than other languages with similar functionality. This makes C# ideal for games, web apps and mobile apps.
Learning Level: Intermediate
Skills Needed: Basic background in coding.
Pros:
Object-oriented programming
A high-level language that can access memory
A broad range of .NET capabilities
An integrated development environment (IDE)
Inbuilt garbage collector
Cons:
There are some limitations to C#’s performance
Learning C# isn’t easy
.NET platform dependency
X-Platform GUI is poor
Platform: Cross-platform, including mobile and enterprise applications.
Swift is a programming language developed by Apple that runs on macOS and Linux. It was originally released in 2014.
Swift is a general-purpose programming language that runs on the LLVM compiler infrastructure. It has a reputation for being fast and efficient. It has a small but dedicated community, and it has become a powerful tool for writing apps for iOS, macOS, Windows and Linux.
Learning Level: Beginner to Intermediate.
Skills Needed: Zero coding skills are necessary.
Pros:
Easy to learn
An organized syntax
There is less code
Faster than similar programming languages
Source code is open
Cons:
The language is still young
Third-party tool interoperability is poor
Does not support iOS older versions
Platform: Mobile (Especially iOS)
Popularity: Swift is the 15th most popular programming language on TIOBE, and it is widely used to develop iOS apps for the iPhone, iPad, and Apple Watch.
Typescript (or TS) is an open-source typed functional programming language developed by Microsoft in 2012. It was originally proposed as a superset of JavaScript but has since evolved into a fully-fledged modern language with static typing, class inheritance, generics and more.
Typescript offers better support for functional programming and static typing (like Java) along with many other features like type checking and error-prone syntax removal.
According to the 2021 State of JavaScript Survey, TypeScript is the “most adopted technology for that year.”
Learning Level: Intermediate to Advanced
Skills Needed: Requires some familiarity with JavaScript.
If you think that Typescript is the right programming language to learn in 2022, get started with this Introduction to TypeScript course on Udemy.
Scala
Scala combines the finest features of functional and OOP programming languages into a single, unique high language.
Scala has fully supported object-oriented programming since its inception and has been used for developing high-performance software. This makes Scala one of the most preferred languages for the development of large-scale applications and it is also integrated with Java, which makes it easy for developers to develop complex applications using both languages.
Netflix, Twitter, and the New York Times are among the businesses that use Scala.
Learning Level: Experienced.
Skills Needed: Java, Python, C, and C++ skills needed.
Pros:
Faster than Python
The best for data analytics
Excellent performance
Cons:
It has a small community presence.
There isn’t much backward compatibility available in Scala.
The complexity of Scala’s features and concepts makes learning more difficult.
Platform: Cross-platform.
Popularity: Scala’s popularity has suffered as a result of its complexity. It is presently ranked 26th on the TIOBE 2022 index.
To see if Scala is the right fit for your career goals, check out this Effective Programming in Scala course to learn more about the language.
Java
Java is a very popular programming language that has been around for decades so it’s no surprise it’s one of the most popular languages on this list.
Java is used for many different types of applications, including web applications and mobile apps. It’s also very easy to pick up if you’ve never programmed before.
Learning Level: Beginner Level (Java is considered to be quite easy for beginners to learn).
Skills Needed: Servlets and JavaServer pages, Scripting languages like HTML, CSS, and JQuery, Markup languages like XML and JSON, Web frameworks.
Pros:
Automatic Garbage Collection
Object-Oriented Programming Language
Java is Simple to learn
Maintenance is inexpensive and economical
Portability feature
Security is a key feature of Java
Supports multithreading
Platform-independent
Cons:
Poor performance and slow response time
GUI needs improvement
Backups are not available
Requires a significant amount of memory
Extensive and complex code
Not free
Platform: Cross-platform (Windows, macOS, Linux, and Unix operating systems)
Popularity: Java remains one of the most popular and widely used programming languages in the world. According to the TIOBE index for November 2022, it is the third top programming language for developers.
If you are looking to learn Java in 2023, a good place to start is this Introduction to Java course offered by Learn Quest on Coursera.
Rust
Rust is a systems programming language that offers speed. It’s designed to be fast, safe, reliable, and long-lived. It also has a strong focus on safety and concurrency thanks to its “zero cost abstractions,” which means that It can help you write programs with excellent performance profiles fairly quickly.
Rust targets systems programming where other languages like C or C++ raise problems with memory errors and concurrent programming.
Learning Level: Intermediate/ advanced level.
Skills Needed: Basic experience in system programming.
Pros:
Ensures memory safety while delivering high performance.
Concurrent programming is supported.
Has a vibrant development community
Ensures backward compatibility and stability.
Cons:
It does not have an efficient garbage collection system.
A bit slower than Ruby and Python.
It has a steep learning curve.
Platform: Cross-platform (Windows, macOS, Linux, and Unix operating systems)
Popularity: Rust is a very popular language. On Stack Overflow, it has remained the number most loved language followed by Python.
If you are interested in a career as a rust developer, then you may want to check out this Rust Programming For Beginners course on Udemy.
Dynamically Typed Languages
PHP
PHP is a server-side scripting language designed for web development with a strong focus on object-oriented programming (OOP).
PHP was originally created by Rasmus Lerdorf in 1994, who released it in June 1995. It has evolved over time but still remains popular today due to its popularity in web applications and other web services (like WordPress). It also offers great performance because it was designed from the ground up with speed in mind.
If you are thinking of the top 10 programming languages in 2023, PHP must be top on the list.
Learning Level: Beginner to Intermediate
Skills Needed: Basic background in programming.
Pros:
Free and open source
Independent of platforms
An excellent library support system
Easy-to-use
There is no need to write lengthy code
Cons:
It is not suitable for building large web applications
Does not allow for modification or change
Not much in terms of security
Error handling is poor
Platform: Desktop, Mobile, Web.
Popularity: Very popular. Powers 77%+ of websites.
If you are looking for a career as a programmer, then you should learn Ruby. It is one of the top 10 programming languages in 2023.
Ruby is a server-side scripting language that was designed and developed in the mid-1990s by Yukihiro “Matz” Matsumoto. Ruby allows developers to build software in an easy way and uses a simple syntax. It is used in many web applications including Rails, Sinatra and Merb.
Ruby on Rails is a web application framework written in Ruby that helps you build better web applications faster. Some of the popular companies using Ruby include Airbnb, Groupon, GitHub, and Shopify.
Learning Level: Beginner Level
Skills Needed: Basic coding proficiency in languages like CSS, HTML, and JavaScript and some experience in web development.
Pros:
A robust community of ruby developers
There is less code to write
Robust library
Enhanced readability of code.
This is an easier language to learn.
Cons:
Performance issues
Flexibility issues
Inadequate documentation
Platform: Web
Popularity: Ruby has been ranked by W3Techs as 5.6% of websites whose server-side programming languages are known.
R is an open-source programming language that was created by Ross Ihaka and Robert Gentleman at the University of Auckland, New Zealand in 1993 as a means to make statistical computing easier.
R has grown into one of the most popular languages for statistical analysis, data science and machine learning today. R makes it easy for developers to create complex statistical models using just a few lines of code.
Learning Level: Intermediate Level.
Skills Needed: Javascript, Python, and Math skills.
Pros:
Open Source
Adaptable to any platform
Machine Learning Operations
Exceptional data manipulation support
Constantly growing
Cons:
It is difficult to learn
R lacks basic security measures
In comparison to Python or MATLAB, R is slower
It consumes a lot of memory
Poor documentation
Platform: Cross-platform (Windows, macOS, Linux, and Unix operating systems)
Popularity: R is the 12th most popular programming language as of October 2022, according to the TIOBE index.
The Javascript programming language is another one that’s growing more and more popular every year because it’s an extremely flexible tool that can be used in many different contexts. It’s also easy to learn because of its simple syntax structure. If you know any HTML or CSS then you’ll be able to figure out some basic JavaScript code right away!
Learning Level: Beginner to Intermediate Level.
Skills Needed: Knowledge of HTML and CSS.
Pros:
Innately fast
Versatile
Easy to understand and learn
Good compatibility with various programming languages Reduced server workload
Cons:
Client-side security
Poor Support for older browsers
Lack of debugging facility
Only supports single inheritance
Platform: Cross-platform.
Popularity: Javascript is definitely the most popular programming language in the world. In fact, javascript powers about 97.4% of all the websites in the world.
Python is the best programming language to learn in 2023 if you’re interested in web and software development. It is a general-purpose language and can be used to create different programs for different problems. It has a huge community of programmers and can be used by developers and non-developers.
Learning Level: Beginner to Intermediate Level
Skills Needed: The basic understanding of programming.
Pros:
Python is simple to learn and understand.
It increases efficiency.
There are several libraries and resources available for Python.
It is adaptable.
Python has an active community.
It is free and open-source.
Cons:
Python has a speed limitation.
Runtime mistakes are possible with Python.
Python uses a lot of memory.
It is not very suitable for mobile computing.
Platform: Cross-platform.
Popularity: Python programming language is the most popular and most commonly used programming language in the world. According to the TIOBE index for November 2022, it is the number one top programming language for developers.
If you are interested in learning Python, check out this Python for Beginners course on Udemy.
Wrapping Up
It’s never too late to learn a new programming language. In fact, there are many reasons why learning a new language can be beneficial, including the potential to give your career a boost. This article provided a list of some of the best programming languages to learn in 2023.
So whether you’re looking to boost your career or simply want to try something new, these choices are a great place to start.
The pandemic brought us a new reality of remote work. It’s 2022, and the number of people working remotely is increasing daily.
It’s no wonder that remote work is so popular: less time spent commuting, the ability to work from anywhere and hire globally, and “working from home without pants.”
However, it comes with its own set of challenges. With more employees working remotely, managers are left wondering how they’re supposed to manage people they rarely see in person.
And with this shift toward remote work came the rise of virtual management, a field dedicated to the skillful practice of managing and leading remote teams.
Let’s dive into the topic with Symphony Solutions and our guests!
Our experts: 1. Gordana Andonovska, Service Delivery Manager at Symphony Solutions. 2. Amanda Beloy, Chief Executive Officer at Avantage Entertainment. 3. Rodrigo Vega M., Corporate HR Manager at PeyPerHead.
Agenda:
Challenges of remote work.
Rules for the remote teams.
Challenges of managing remote teams.
Tips for managing remote teams.
Remote work – evolution in using best practices and technologies.
Creativity and fun for the remote teams.
Who will benefit from the event: Project Managers, Delivery Managers, People Partners (HRs), Team Leaders, Scrum Masters, and Managers of all levels. And definitely for all curious 🙂
See you online!
EVENT DETAILS
When: November 22, 7 pm CEST Where: Zoom event Price: Free Language: English
On February 24, 2022, the line was crossed and life changed for millions of Ukrainians as they were forced into a brutal conflict, having to fight for their lives, dignity, and future. Ukraine is fighting off the aggressor, as the world watches in horror. To get the much-needed help and recognition for the Ukrainian fight for peace, it’s crucial to provide relevant and verified information and proof of how the war is ravaging over Ukraine. That’s where Dattalion enters front and center stage.
How Dattalion Came into Existence
Dattalion, or “data battalion”, has been created in the first days of the war by Ukrainian women as an immediate response to the unprecedented attack on Ukraine. The initiative was first established on February 27, 2022, and since then has welcomed volunteers from around the world and launched a mass database of photo and video footage that documents the war atrocities of Russia on the frontlines and temporarily occupied territories of Ukraine.
DATTALION: The Mission
Dattalion’s mission is to help Ukraine win this terrible war by revealing the brutal truth about Russian atrocities and genocide of Ukrainians, and by making clear to the world what Ukraine needs to win and rebuild.
Dattalion Goals are Defined as such:
Empower media around the world to tell their audiences the truth about Russia’s war in Ukraine, by providing free and easy access to videos, photos, and eyewitness testimony from the frontlines.
Collect and store evidence of war crimes, environmental crimes, crimes against humanity, and acts of genocide against Ukrainians committed by Russia in Ukraine.
Amplify to the world the vital need to stand with Ukraine to win this war, by sending an explicit warning and sharing unambiguous factual evidence about the threat Russia poses to the democratic international democracy system.
Symphony Solutions Team Supports Dattalion: Our Contribution
Dattalion project exists due to the effort and passion of 100+ professionals, including 7 members from Symphony Solutions, who contribute to the project with their skill and expertise. The team provides its full ongoing development and marketing support to the Dattalion project.
Symphony Solutions team has created the “face” of Dattalion and presented it to the world. Designing brand identity, building the website from the ground up, establishing a stronghold on social media – all this helped bring the message of Dattalion to the global public in the US and Europe. The team turned the spotlight on the project and launched the Dattalion database into the global information space. We continue our support for the project, bringing awareness to the evidence of Russia’s war crimes in Ukraine, promoting fundraisers, and maintaining all digital activities. This is our personal fight!
Symphony Solutions as a leading cloud transformation company, provides its services to Dattalion pro bono. This is one of the company’s many charity initiatives in support of Ukraine’s fight for peace since the early days of the war.
Global Media about Dattalion
Dattalion has been covered in multiple international media outlets, which helps direct the public to the project’s extensive database of verified proof. Information is our weapon to emphasize the importance of documenting and exposing the sheer damage and devastation that the Russian invasion leaves behind.
Learn more about Dattalion, as presented in global media here.
Dattalion has responded to media requests from СNN, BBC, CNBC, and others, providing verified data on impactful and harrowing incidents, such as Bucha massacre, Kherson offensive, Mariupol and Azovstal defense, etc. This way we help the global media present a relevant and informed report on the war in Ukraine, with an exact precision on the time and place, verified and proven by photo and video evidence.
Dattalion in the Public Eye: Events
Dattalion team have revealed their identities in a press briefing earlier this year and since then have participated in a number of events to bring the public attention to the project and its noble mission.
War is real. War is ugly. Dattalion is exposing the true face of Russia in every step of its vicious attack on Ukraine. We bring truth to the surface. We override ignorance with facts and proof. We will not stop till the very end.
Help Ukraine win and rebuild! Help Ukraine BE! Make your contribution to the Dattalion project and help continue showing the world truth about the war in Ukraine. Find out how you can help today or donate.
Symphony Solutions has been welcoming so many new Symphonians in the last few years, that were perhaps not the easiest for the world in its entirety. This came with its own interesting experiences and observations, as we were learning to work and live in remote/hybrid mode. And now we love learning more about how our fellow Symphonians came to be part of the company and what drives them in their life and career. This time we talked to Agnieszka Kot, the People Partner in Symphony Solutions Poland, and she had some great tips on reaching that elusive work-life balance, taking ownership of your career, and finding inspiration.
1. Looking back at the last 2 years of your career at Symphony Solutions, what would you say are the highlights?
I started in Symphony Solutions in May 2020, so it was just in the middle of Covid pandemic – total rollercoaster, both in my private and professional life. The kindergarten was closed, it was also my first experience with remote work and IT business. I think there is no person in my team who doesn’t know my daughter and my cat…;) The second experience was being PP during the war time and giving support to others when you are also not in perfect shape.
2. What values are important to you in Symphony Solutions? How do you experience those values here?
I am a people-oriented person, so Intimacy – I try to be close to people, communicate on a more personal level with them and build strong relationships. And the second one is inspirational – I am passionate about my work and observe it with my colleagues here. We love what we are doing!
3. What are the things you enjoy about working at Symphony Solutions?
1) I am never bored here;) Every day brings new challenges. 2) People and the team we create. I really enjoy our interactions. 3) Flexibility. I like the options whether I work from the office, home, or when I start my working day. In general – freedom of choice.
4. After so many years in the industry, what did you find different about working here than anywhere else?
So many differences! The major one – the direct contact with people. In my previous companies I was working directly with people, I would spend many hours on the shop floor with them, it was easy to build relations, to know what their work is about, and at the same time – being helpful and supportive. When I started in Symphony Solutions, all the people were working from home, the offices were closed. Some of them were not using the camera, and what is more, I noticed I may have a different sense of humor than my colleagues, so I had the impression I was talking to myself. But step by step, we found a common language and now we are laughing together at my jokes.
The greatest asset for me are always people. In Symphony Solutions, thanks to the cultural part of the recruitment process, we are able to select the candidates that fit our values perfectly. I’ve never met a company with a similar process, it really works.
5. What was your lightbulb moment? When did it click in your head that you wanted to work in HR?
It was during the internship in my first company where I spent almost 8 years. It was the time when we were building the HR processes from scratch, I was able to learn and actively participate in it at the same time. Great experience.
6. Tell us more about your HR role. What inspires you in your day-to-day work?
I will answer in one word: people. I’ve always been fascinated and inspired by people, the differences between us, etc. I cannot imagine myself working with Excel sheets with no contact with human beings. Who would laugh at my jokes then?;)
7. What is the most complicated aspect of working with people?
For me it is to set boundaries. Sometimes I feel responsible for too much, I carry too much on my shoulders, I wanna help no matter what. Work in progress.
8. You had 10 years of HR experience before joining the IT branch. What is the difference between IT and non-IT people?
Building the relations takes more time in IT, especially when working remotely. And the competition on the job market is higher in IT than in other domains, so we need to put more effort into keeping people in the company, and have them satisfied with the project and the cooperation.
9. We love hearing Symphonians share their larger-than-life goals and plans that go beyond the daily to-do list. What about you? Do you pursue a mission in your HR career?
I am joking that my life is like one big mission. Both, in my private and professional life, I am trying to remind people that if you have too much on your plate – ask for help, it is not a shame, together we will manage. Be good to yourself – keep the balance between work and rest. Take from life as much as you can – you only live once! And don’t forget that every cloud has a silver lining – always! Sometimes, you just need more time.
10. As we know, you study a lot: Philology, Administration, Coaching, and Training. Why are you so passionate about learning?
I think it is about meeting people and learning from them. And learning new things comes easily to me. These are the main reasons.
11. It is always interesting to know what it’s like to be a working mom, that is to say that parenting is a whole job on its own. Can you share some of your hacks on how to combine personal and work life?
A lot of lemon balm (melissa), ha-ha. Let’s be honest – it is not easy. And it is not only for working moms but also for dads – yes, some of them feel also responsible for their children. It is always about finding some compromise between what you want and what your child wants. I remember the feeling when I came back from the maternity leave to work, I was so happy and so miserable at the same time. But this is life, I always say: “Happy mom, happy child”. I would not be happy as a typical housewife.
We have our family planner in the kitchen – it helps to organize the week. We are sharing our responsibilities with my husband and it is working so far.
12. What are your hobbies? Do they help you in your work somehow?
I love travelling – it is again connected with meeting people, knowing their culture, eating (this is also my hobby). Before my daughter was born, we managed to visit Asia, Cuba, and many countries in Europe. Hope we will come back to it when Klara is older.
13. What are your professional and career plans? What would you like to achieve?
There is still a lot to learn in the IT field for me so this is my main goal for the near future.
14. How do you follow trends in your profession and industry?
Webinars, HR blogs. We are also exchanging information with my team, we even have regular knowledge sharing sessions scheduled every week!
15. What is most important when growing as an expert?
Update your knowledge and keep up with the trends, be open to feedback, take responsibility and feel responsibility – take ownership!
16. Let’s talk inspiration! What are some podcasts, books, or movies you swear by?
Maja Günther, You Are Enough (How to stop comparing yourself to others and be yourself). I like the phrase: “You develop when you take the first step, not when you reach your goal”.
17. Looking back at your career path, what advice would you give to a young generation now?
Don’t be afraid of making mistakes. Don’t be embarrassed by your failures, learn from them and start again.
18. Would you mind sharing with us your life motto or principles?
You have everything you need within yourself to turn your situation around. It’s up to you if you decide to live your life in black and white or rather in glorious color.
Sports betting operators worldwide are exploring the potential of mobile applications, considering the rapid growth of both the gambling industry and the use of mobile devices. According to market research conducted by Technavio, the sports betting industry is expected to grow by USD 134.06 billion in 2020-2025, with significant growth of 39% in the APAC region with China and Australia as the key players in the markets. This makes for tough competition, so naturally betting operators will be focused on differentiating themselves from their competitors.
A significant influencer on success are the sports betting app features that directly impact the overall user experience of the gaming app. This starts with the most basic functionality such as the ability to create your personal account in order to place bets and ti withdraw your winnings, to far more advanced features such as integration with VR and wearable devices or the creation of a social betting app.
In this post, we shall look over what all these apps have got to offer, from your regular sports fan or to a seasoned bettor.
Top Features to Нave in a Sports Betting App
Modern advances in technology make it possible to “equip” your sports betting application with a wide range of features to cater to a bettor’s needs and enhance their user experience. There what we might term a main, or core set of features that are a must-have for any kind of application, some will be specific for the gambling industry, and then there are best in class, highly innovative technologies that are just making their way into the industry. Depending on what tech solutions the and integrations the business stakeholders developers choose to implement in the application, they can create a sports betting app that will attract players, engage them in betting, and deliver an excellent user experiences. Innovations present an exciting opportunity for them to create something unprecedented and revolutionary.
One should also keep in mind that certain app features are dictated by the specifics of the gambling industry. Betting operators have to adhere to strict regulations in regulated jurisdictions and take into account local legislation if they want to bring their app to the global market. Building sports betting apps is not an easy task but do it well and the rewards are significant. Thus, you want to deliver an app that is not only excellent for the user, but remains compliant.
Let’s take a look at some of the must-have sports betting platform features to consider introducing into your application:
Login and registration can be available with email and password, or with a social media account. Different options apply to regular users and admins. For instance, creating user accounts may be age restricted and depend on location, if the user is trying to access your app from a country that you are not licensed to operate in or prohibits gambling altogether.
User Onboarding / Betting Guide for the user is a great way to introduce a new player to the app, show them around and explain how to place bets, what functionalities are available, etc. A starter guide can be implemented as interactive pop-up instructions that the user encounters when first opening the app, setting up the account specifications, or placing the first bet. Furthermore, a betting guide page would be helpful for players that are new to betting and gambling to get them familiar with how it works.
Personalized dashboard for the user is what your user sees every time they open up the app. Players want to have the features that they use most often right at hand. Also, the dashboard is where you place personalized recommendations to cater to the user’s likes or encourage them to explore something new that will be to their taste. This was the case with Graphyte when they introduced a smart lobby with personalized product recommendations. All this is made possible with AI/ML integration that allows to collect data on user behaviour in the app and analyse patterns which can be later used to generate personalized recommendations. At today’s level of technology, AI content personalization can be done seamlessly and help create a genuine experience for the user.
Admin Panel or a separate dashboards should be set up for the admins, as they need to use functionalities that differ from that of a user dashboard. Admins need access to user management – access to user accounts, option to add or ban users from the game, view transaction history; sending notifications, content management for adding new events, user and game statistics.
Creating a wager should be simple and intuitive enough to let the user do it without hesitation. Allow the user to set their own picks and bet amounts.
Search with a filter option for wagers allows your users to easily filter out wagers by date, status, sports, players and their average betting rates, etc. What’s more, app developers can leverage AI technologies to create a powerful search engine with strong personalisation that is self-learning, basically putting it one step ahead of any other search option you can possibly offer to your user. AI-powered smart search helps your users find exactly what they need with pristine precision. A great example of this is Graphyte’s intelligent search engine. With AI technologies they built a search engine for betting and gaming sites that allows a bettor to look up events or game results in a fraction of a second. Search results are personalised to that particular user so that they get exactly what they need. And it being AI, the smart search engine only keeps getting better and self-calibrating itself to each individual user and their needs.
Payment integration is an important feature to implement in sports betting app development since you want your users to be able to easily place their bets and withdraw winnings. This can be done in a few different ways, the first obvious one being enabling users to link their cards. However, some users may run into issues if they are from a location that places restrictions on online gambling. In 2020, the UK Gambling Commission decided to ban credit card transactions for gambling, and that same year one of Australia’s major banks came to the same decision, even though Australia boasts one of the biggest gambling markets worldwide. It’s good to offer more varied payment options for the user in case they are restricted to use one or the other. Consider such payment gateway integrations as Stripe, Netller, Skrill, Cardinity, and others. Bitcoin payment integration is also on the rise and as relevant as ever in the iGaming industry. Allow the user to add multiple payment options and let them link their accounts to their in-app wallet for easy one-click bets. The main thing is that the payment should be easy, but secure. As in the case with Ladbrokes Coral, they created an optimized and systematized payment solution which allowed them to subsequently cut costs and save revenue, as well as introduce additional features for the users.
Real-time live scores help keep the users interested and encourage them to gamble more frequently. This is particularly relevant for sports betting, especially certain kinds of sports. For instance, this feature is often implemented in football betting apps.
Notifications are a must to keep the user informed about the game outcomes, final ranks and match summaries. These can be in-app or push notifications. A good rule of thumb is to not go overboard with push notifications. Otherwise, instead of being a useful feature it may turn into a nuisance. If a piece of news is important for the bettor to know and is time sensitive, that’s when you know to use push notifications.
Live Streaming of games and competitions is for the user’s convenience as they can place bets while following the game. If you are integrating live streaming in your app, consider utilizing cloud technologies, lest you want to spend a fortune on maintaining servers. Make sure to include match schedules and alerts for when the stream starts so that the player can get good use of this feature.
Multi-language support becomes necessary once you have a growing audience in language-specific locations. This adds on to the personalized experience of the user and encourages the growth of that specific market share even more.
Security is essential for betting platforms as the user discloses to the app personal and banking information in order to place bets or withdraw winnings. Security in iGaming is important to protect the user from harmful data leaks. To be resilient to cyberattacks and fraudulent activities, it’s crucial to build sports betting apps that are secure by design.
Predictive analytics and deep player and team performance data along with player and team stat prediction integrated with sports betting allows the player to plan out their bets, see win probability and expected revenue depending on the collected and analyzed daіta. It’s a good way to generate more interest in using the app and placing bets. The bettor will be likely to enjoy the games and placing bets more as they become familiar with team and player insights, start recognizing trends, and make more informed decisions.
Cross-platform compatibility is something to consider when you want to expand your market reach and also allow your users easy access on just about any platform. If some users have their preferred way to access a betting app, there is an intersection that represents bettors that don’t have a preference and switch between platforms and devices. These will be the most dedicated players that don’t limit themselves to only one outlet and are willing to place bets anywhere and anytime.
Tracking statistics and results when offline would be useful for players who have low connectivity. This way, even if a player loses internet connection, they won’t miss out on checking game results and stats.
Some More Features to Consider
The next features are not necessarily ‘must-haves’, but you may as well top up your app with a few of these. Others may require a bit more effort to implement and take more time to hit the target. Still, it’s good to know your options.
Social features are all kinds of functionality that is closely linked to social media platforms with their focus on providing a place for people to get in touch, share information and opinions. Users may follow one another, send private messages, comment on and share in-app news and posts to their social media accounts. Public chats or forums are an interesting way to start conversations and invite users to be more active in the app, making it a fully-fledged community. Apps that provide this functionality are called social betting apps, which are social media and betting all in one. Social betting gives a platform for engaged bettors to interact with peers, share tips and advice, and start conversations. These are large sports betting communities that exist within an app.
Checking bet slip in app is targeted at bettors who prefer to place their wagers at a betting shop. This innovative feature allows customers to scan their shop bet slip and monitor bets in the app. This way they can enjoy placing bets in the way they are used to, yet still get to experience the convenience of using a betting app and following bets on the go.
Immersive game experience with AR/VR is making rounds in the gaming and betting sector as it allows players to watch their favourite sports in virtual reality with 360-degree videos of games or training. This feature does not come as first on the list of our ‘must-haves’ because it does require the user to have a VR headset in order to get a fully immersed experience. However, with technology becoming more mainstream and available to just about anyone, there’s no saying when it will become an integral part of all apps for betting.
Exclusive Odds is something that a bookmaker can offer as a way to persuade the bettors to opt for using their betting app to get that extra boost rather than going to the more familiar betting shops. This feature is more of use to them because they want to make a shift in the way they offer their services. However, relevant for now, it may quickly become redundant as betting shops are rapidly closing down and we are observing this transition to online gambling even without the need for that extra push. Moreover, new bettors that just discover the world of sports betting may start out as mobile betting app users from the get go.
Bonuses and discounts are something you may consider as an extra feature to spice up the players interest although, as practice shows, this is now becoming obsolete for a couple of reasons – everyone offers bonuses and discounts so it’s not exactly the feature to put you above competition, and there are only so many free spins the player can use before it gets boring. Ultimately, your target audience is not as thirsty for freebies as they would be even five years ago. But if it doesn’t cost you an arm and a leg, you may just throw this one in there as well for good measure.
IoT integration caters to those bettors who are active users of wearable devices, such as Apple Watch, and therefore are quick to jump on the opportunity to place bets no matter where, no matter when. Major bookmakers have already introduced such integrations into their apps. As the technology becomes more widespread and accessible, as long as you provide people the opportunity, placing bets with a simple tap on your smartwatch can be a regular part of a bettor’s experience, similarly to how they just as quickly got used to betting on their smartphones. It’s just another step forward in technological progress.
Sports news is a good addition to your sports betting app. Your users may want to have access to all the relevant news about their favorite sports in the app. Although, some may consider it more of a “nice to have” feature and stick to strictly betting functionality. Sports news is a fun way to keep your player informed, and also it can be used alongside social features, e.g., commenting on news pieces.
Conclusion
Sports betting application development has its challenges and specific requirements that come with the industry. Nonetheless, bookies worldwide are swiftly moving forward with their shift to online applications to be used by bettors on smartphones or other devices, making sports betting as accessible as ever, all things considered. Development of betting and gambling apps requires impeccable technical skills, a real feel for the market, and a lot of dedication. Starting from providing all the must-have features to creating a seamless user experience with UI/UX design.
As was the case with Ladbrokes Coral, they developed a bold new user interface with optimized bet placement and new functionalities leveraging cloud native technologies – all of this allowed them to achieve record high customer satisfaction.
And keep in mind that developing apps for bookies is a multifaceted endeavour. The multitude of features you can offer to the bettor seems to be never-ending as it’s always topping up with new technological advancements. That’s where you need a development team of top experts with relevant experience in sports betting software development and a portfolio of industry-leader clients. When done wisely, you not only deliver excellent betting experiences to your users, but potentially create an engaged and dedicated community around your app.
Symphony Solutions’ talents come from around the world and bring to the company their unique experiences and diverse backgrounds. Not by tech alone, our services and products truly come to life when all the teams work together, leaving a lot of room for creativity. This time we interviewed Yinka Akinbobola, Lead Visual Designer here at Symphony Solutions, who comes from Nigeria and has always been very involved in the life of the local tech community and more. Yinka told us about his entrepreneurial endeavors, his take on human-centered design, and gave some awesome tips on productivity and work-life balance.
1. You joined Symphony Solutions in 2022. How has your experience with the company been so far?
It has been great so far. Working with people from diverse backgrounds has been an enriching experience for me. I also like the flexibility and the company culture because I have been able to grow as a person and impact my community.
2. What do you like most about your current UI/UX Lead role?
I like the challenge that the work I do poses. Working with designers from different parts of the world with different perspectives has contributed to my learning. I am excited to be part of a great vision and challenge.
3. What values are important to you in Symphony Solutions? How do you experience those values here?
All the values actually, Trust, Integrity, Innovation, Initiative, Passion, and Intimacy. I believe these values are important and make up an integral part of our culture here at Symphony Solution.
4. Is Symphony Solutions the first remote company you worked with? What’s it like working remotely?
No, Symphony Solutions is not my first remote company. I have worked remotely with startups in the past. I like the flexibility of working remotely because I spend the time, I would use to commute to do more meaningful work. Especially if you’re living in a city like Lagos where commute time can take hours due to heavy traffic congestion.
5. What is the most exciting project you worked on? Or one that you are proud of, and why?
I was a co-founder and product lead at DropQue. Dropque was Africa’s first interactive and intelligent talent exchange which uses unassisted video interviews and AI to help recruiters find the best talent. Dropque was a first-to-market product with a unique blend of technologies designed specifically to tackle the problems faced in Africa’s unique hiring culture. We won numerous awards and got into the Peace Tech Accelerator in Washington, D.C. But most important for me was the impact we made. After just being around for a little over 2 years, Dropque had helped interview over 7000 candidates across 19 African countries. We won the public vote award at the Nigerian round of Seedstars World 2017 and were later the overall winner in 2018. We were one of the ten startups selected by NITDA to represent Nigeria at the GITEX technology exhibition and conference in Dubai and were also selected as one of the delegates by the Lagos State Government in collaboration with the Ministry of Wealth Creation and Employment to represent at the John Hopkins SAIS ICT Summit. We also got selected as one of the delegates by The NCC to represent Nigeria at the ITU Telecom World 2018, Durban, South Africa, and were awarded one of the 3 most scalable startups at the world summit. I am really proud of our accomplishments; it was a great learning experience for me.
6. You call yourself a human-centered designer. What does it mean? How did you come up with this concept?
Human-centered design has been around for a while. It is a problem-solving technique that puts real people at the center of the development process, enabling you to create products and services that resonate and are tailored to your audience’s needs. I like to call myself a Human-centered designer because I use human-centered design principles to inform and make my design decisions.
7. On your media profiles, you mention that you combine technologies and empathy. What does it mean?
For me, technology and empathy mean creating technology that is usable. The idea is understanding people’s needs and build solutions that not just cater to these needs but also consider the context they exist in. Using empathy enables the designer to walk in the user’s shoes in an effort to understand why and how they use technology. This gives the designer a clearer point of view through which they can now build not just functional but usable tech products.
8. You are a Co-founder at Dropque company. Tell us more about it. How did the idea come to you?
I believe I spoke a lot about Dropque already. On how it started three other cofounders, and I started Dropque during our one-year Entrepreneur-in-training program at MEST (Meltwater Entrepreneurial School of Technology). The idea of the training program was to learn about software entrepreneurship and start a company at the end of the program. My other three cofounders and I shared similar experiences around the problem we were trying to solve. We all had had to travel long distances to interview for jobs in the past and also believed that CVs did not provide enough information for recruiters to hire the right candidate. So, after a lot of user research and market validation, we came up with the idea to use asynchronous video interviews and artificial intelligence to help recruiters know more about their candidates early on in the recruitment process. On the candidate side, the solution will enable them to take interviews from anywhere, at any time on their smartphones. This was how Dropque came to life.
9. How did you find your passion for 360 photography? Is there a business part to it or is it just a hobby?
I first came across 360 photography around the same time I was learning about Virtual Reality. I was intrigued by the idea of being able to capture experiences in more interactive forms. As an entrepreneur I could see the business side but it ended up being just a hobby because of other things I was engaged in. So, I bought a 360 camera and just had fun with it.
10. Suppose you need to choose entrepreneurship or design. What will you choose and why?
I cannot separate both because they work hand in hand. From my experience, design is a tool for entrepreneurship. So, whether it is creating a service or a tech product, design will always be the center of entrepreneurship for me.
11. Is it true that you are one of the founders of a prominent rock music festival “RocktoberFest”? We’d love to know the details.
Yes, I am one of the founders of Rock Nation, the company that organized RocktoberFest in Lagos, Nigeria. I have always loved rock music and I started out organizing rock music parties. After a while I found myself in the company of people like me who liked rock music. Together, we organized several events, RocktoberFest being one of them. We have had five festivals so far.
12. Designer is a creative profession. What inspires you?
I have always been creative and I would say seeing what others have created and understanding the process behind it inspires me. Understanding other’s work pushes me to want to do better and more.
13. What are your top 3 motivators at work?
Impact
Value
Team spirit
14. People usually find it not easy to keep a work-life balance. How do you manage your work at Symphony Solutions, entrepreneurship, and hobbies?
I always create time for everything. Going to the gym, hanging out with friends, watching movies, are some of the things I do for fun after a long productive week. It’s not easy, but I try not to take work into my weekends and I have also identified my most productive hours, allowing me to get more done and free up time to relax.
15. What are your productivity hacks?
Set clear objectives for what you want to achieve and visit them constantly to remind yourself of what you are working towards. Avoid procrastination at all costs, and remember to breathe. You are almost there.
16. What is the best advice someone has given you?
Live for today, hope for tomorrow, and learn from yesterday. The most important thing is to not stop questioning.
Symphony Solutions is a Dutch-based IT company with its largest delivery center in Lviv, Ukraine. Since day one of the war, we have been standing ground with Ukraine, helping our Symphonians get to safety, and supporting Ukraine through our charity initiatives.
We’d like to share the charity initiatives that we have launched as part of our Stand with Ukraine campaign.
Symphony Solutions Lviv office has been operating in Ukraine since 2008, when Theo Schnitfink, founder, decided to leverage the IT talent of Ukraine and bring his great vision to fruition. Since then, Ukraine has always been the home of the biggest delivery center of Symphony Solution.
Now, as Ukraine is under brutal and unprecedented attack, we feel obligated to stand up and speak up for what is right. The war disrupts the normal way of life – people get displaced, infrastructure destroyed, uncertainty in tomorrow rising. We cannot wait and see if tomorrow comes. We make sure that there is a tomorrow. Symphony Solutions stands with Ukraine!
Offices Turned into Shelters
One of the devastating realities of war is how people lose their homes and get displaced as they are fleeing to safety. Symphony Solutions is turning its offices into shelters to take in Symphonians, their family and friends.
The Lviv office was the first one to adapt to the new reality and welcome people coming from Kyiv, Kharkiv and other cities. It is open 24/7 and has all the necessary conditions – shower, kitchen, fresh hot meals from our catering partner. The Lviv office has already welcomed over two hundred guests, some staying overnight, some for a few days.
Theo Schnitfink, CEO of Symphony Solutions, who brought humanitarian aid to Ukraine, even stayed in the Lviv office shelter overnight to test it out and suggest some improvements. Theo was quite satisfied with his inspection and made a list of ideas for shelter coordinators and volunteers on how to make the place more comfortable for the people coming here.
The Polish offices in Krakow and Rzeszow have been turned into shelters as well and started taking in guests and providing all basic needs for their comfortable stay.
Symphonians volunteer to take care of the shelters and coordinate people coming there. Refugees are further assisted with finding apartments so that people could move in and stay where they are more like home afterwards. As it’s almost impossible to find a flat via regular channels now, Lviv Symphonians help get people settled in their own homes, or that of their friends and neighbours.
Relocation
We are also assisting Symphonians who choose to move further west with their families. Our Polish team has done an impressive job being present 24/7 for those who crossed the Polish border providing help with transportation and accommodation in various cities in Poland.
As of right now, Symphonians are scattered around the Globe – in countries of Western and Central Europe, Turkey, the USA, and even Sri Lanka – and yet we feel more united than ever before. We assist our colleagues and their families in relocation, ensuring their safety and allocating the necessary resources: logistics, transportation, accommodation, shelter, and legal support.
Company values are fundamental for us at Symphony Solutions which are now giving us the strength to remain stoic and vigilant in the face of adversity. These ideas bind us with the deepest sense of belonging and support. Wherever we are, we can communicate, work and support our families – that’s the agility in action, that’s the spirit of unity, that’s the spirit of Symphony Solutions.
Charity Initiative “Stand by Ukraine”
The charity initiative “Stand by Ukraine” was created by Symphony Solutions specifically for the purpose of raising funds and providing humanitarian and emergency aid to Ukraine.
This was an emergency initiative that we have prepared and launched in literal days. To make it as efficient as possible, Symphony Solutions has registered the charity foundation “Stand by Ukraine”. We have already purchased and delivered in bulk the most needed protective gear and other necessary equipment for Ukrainian people and the Army.
This is an initiative for anyone outside of Ukraine who is willing to help and support Ukrainians in their fight for freedom.
Supporting UNBROKEN Rehabilitation Center
Symphony Solutions was one of the first businesses to support the Unbroken National Rehabilitation Center, a healthcare initiative aimed at providing medical assistance to the injured in the war in Ukraine. The rehabilitation center provides reconstructive surgery, prosthesis care, psychological, and social rehabilitation – the full cycle of care required for the affected civilians of military personnel to regain their health and get reintegrated into society.
Symphony Solutions has committed to donating all the profits generated by the company in Ukraine to the needs of the Unbroken center. Keeping in close contact with the hospital, we stay informed of their immediate needs and provide support where needed. The funds donated by Symphony Solutions have already been used to purchase rehabilitation equipment and diagnostics devices for the center. Essential multifunctional equipment has been installed at St. Luke’s Hospital in Lviv – MOTOmed Viva2, Verticalizer, Ceiling lift GHI, TREADMEAL, and Gloria Aria – and with its help the doctors and rehabilitation specialists will be able to help up to 30 patients per day in their recovery.
Symphony Solutions has also purchased two bionic hand prostheses for patients of the center, soldiers injured in action. The innovative AI-powered hand prostheses were developed by an American-Ukrainian company Esper Bionics.
Over 329 000 EUR Raised
Before anything else could have been arranged, Symphony Solutions has launched fundraisers understanding that there is no time to lose. Altogether, we have gathered a staggering three million Ukrainian hryvnias which were donated for the needs of the Ukrainian Armed Forces, as well as separate military units which we are supporting. Here is what we have accomplished:
Symphony Solutions donates all profits
80th Air Assault Brigade
Since the start of the hybrid war in 2014, Symphony Solutions has been supporting the 80th Air Assault Brigade due to us having personal connections with the brigade through one of our Symphonians. We saw it as our duty and contribution to the fight for regaining a sovereign and peaceful Ukraine. When Russia started its full-scale attack on Ukraine, we knew that we needed to act fast. So, in just two and a half days, Symphonians raised a total of 301 364 UAH to cover all of the immediate needs of the brigade.
Unity Fund
This is a Fund for Symphonians and from Symphonians. It was set up as a way to help Symphonians who are willing to put on hold their work on the projects and join the Armed Forces of Ukraine and defend the country on the battlefield. Symphonians from other locations have also joined this initiative. Macedonian Symphonians even went as far as putting on hold all team-building activities and donating to the fund instead.
Currently, we have raised more than 50,000 EUR.
Symphony Solutions clients donated 220K EUR
Symphony Solutions clients stepped up and donated 50K EUR for the needs of Ukraine. Moreover, the teams on the client’s side matched the donation and raised an additional 50K EUR, and continued donating bringing the total sum of the donation to 220K EUR. This amazing generosity and care for Ukraine are truly humbling and inspiring.
And that’s not the limit to our clients’ big hearts. Since the first days of the war, many offered to relocate their teams located in Ukraine to Poland, Macedonia, Belgium, Germany, and even France.
Our Brave Soldiers, Symphonians
With all the tremendous work that Ukrainian soldiers are doing to defend the right of Ukraine to exist in freedom and peace, Symphonians have focused on supporting the Armed Forces of Ukraine. However, what’s even more fantastic and admirable are the Symphonians who have set aside their projects, picked up arms, and went to fight for their country and loved ones.
In fact, Symphonians who have been mobilized to the army continue to receive compensation which is funded by the contributions to the Unity Fund of fellow Symphonians, clients and Symphony Solutions, understanding the gravity of the proverbial “feeding your own army”. Moreover, each of our soldiers is provided with a Symphony Security Package, which includes safety equipment, a first aid kit, and other specialized items as requested.
While our Symphonians are fulfilling their duty on the battlefield, we are supporting them with all we have, anxious for them to come back to their peaceful civil lives after the war.
Dattalion
Dattalion is the digital ‘data battalion’ that fights for truth. Created by Ukrainian women, the initiative has launched a database of photo and video evidence of russia’s war crimes in Ukraine, both on the frontlines and targeted civilian territories. Dattalion amplifies the truth and empowers global media to tell what is happening in Ukraine.
A team of seven Symphonians joined the Dattalion initiative in the early days of the war. They helped create the ‘face’ of the initiative, designing its brand identity, building the website, and helping it establish a strong social media presence. Symphony Solutions provided its development and marketing services to Dattalion pro bono as part of the company’s charity initiatives for Ukraine.
RebuildUA Project
Symphony Solutions joined the initiative RebuildUA to help leverage innovations and AI technologies in creating an extensive database of satellite imaging and records of wartime damage in Ukraine. The project aims to prepare for the future restoration of the civilian infrastructure, which would require providing solid proof and reliable data reports in order to assess the situation and engage the global public, including communities, authorities, and specialized foundations.
Civil Healthcare and Combat Medicine Initiatives
People’s lives are our number one priority, even more so in times of war. That’s why we have started or participated in a number of initiatives to help prepare the civilians and medics for any emergency situations that may occur. Always hoping for the best and preparing for the worst.
Manual for military medical personnel
Symphony Solutions collaborated with the Center for Education and Supply for Combat Medics, temporarily residing in the Lviv office. Symphonians provided their expertise and helped create a manual that will be used by military medical personnel.
Preserving human life and wellbeing is the most important mission under any circumstances.
Medical professionals cannot afford to lose their calm and risk breaking medical protocols. The aim of the manual is for the medical team to always have a concise reference guide at hand when they find themselves in a critical situation. The manual will help medics with retaining professional knowledge, regaining their skills in non-dominant areas, and let the medical team be prepared for any case scenario.
The project was initiated by the Foundation for Support of Reforms in Ukraine.
First aid training in the Lviv office
We have conducted first aid training for Symphonians and office guests currently staying in Lviv. The practical course focused on developing the most necessary skills in providing first aid – CPR, how to stop bleeding, basics of treating wounds, etc. Symphonians and office guests got a chance to brush up on general medical knowledge and practice first aid procedures on a mannequin.
Welcoming Doctors without Borders in Lviv office
We are truly humbled in these trying times by the support that we receive from all parts of the globe. Just like that, the team of the international medical humanitarian organization Médecins Sans Frontières are now located in the Lviv office of Symphony Solutions. The volunteers of the organization are involved in helping people stricken by conflict, pandemics, or natural disasters. These are professional healthcare workers, logistic, and administrative staff. The volunteer team that has come to Ukraine is provided with a comfortable place to stay and office space that they can use for work, while they are performing their noble mission of helping Ukrainians afflicted by war.
Taking care of Ukrainians distraught by the war
Symphony Solutions cares about Symphonians’ mental health on any regular day. We have always offered free psychological consultations as a benefit. Now, as we are living in unprecedented times, the toll on the mental health of Symphonians in Ukraine seems unfathomable. One can never be quite prepared for the dread and anxiety that comes with war. Therefore, our corporate psychologists are always available for a personal talk. On top of that, regular group sessions Talk to Me are being conducted for Ukrainian Symphonians who need some extra support in dealing with the stress of wartime.
Symphonians Volunteer for Ukraine
While Symphony Solutions has launched numerous initiatives in the haste of time, Symphonians in Ukraine have taken upon them volunteering. These are fantastic people and top professionals who continue staying on top of their tasks and resist the stress and uncertainty of an active war. And still, they find the time and resources to do so much more than that! Supporting the army, joining territorial defense forces, evacuating refugees from the hot spots, helping orphanages, communicating with friends from abroad on how they too can contribute to our fight for good. Symphonians in Ukraine told their stories of how they volunteer and help out while they stay in the safety behind the backs of the brave Ukrainian warriors.
Fighting on the Information Front
Symphony Solutions stands up against disinformation distress. Our “Marketing Army” stepped onto the information front with the mission to bring truth to the surface, fight misleading and harmful information, and disrupt the echo chambers of propaganda. We have initiated promo campaigns on Facebook, Instagram, YouTube and LinkedIn. Our marketing campaigns target Europe and Belarus, to raise awareness and let the world know ways to help.
Our fight is silent but persistent!
Theo Schnitfink was interviewed by one of the largest Dutch media sources De Telegraaf, whose journalists Remco Geerdink and Mischa van Diepen visited Lviv. Symphony Solutions’ founder told them about the truth of this war that is tearing apart Ukraine and the importance of understanding the whole gravity of the situation.
To further support our commitment to the truth, Symphony Solutions is sponsoring an initiative that aims at gathering valid information about the war crimes of Russia in Ukraine and bringing it forth for the news media and every person in the world to witness.
We come together as a community to find peace of mind and mutual support in our struggles. That is how we become stronger in our unity. And it goes well beyond Ukraine, as we have now had the chance to see that there are caring and supportive people all around the globe, and first of all our Symphony Family.
Symphony Solutions prides itself on being the company to some fantastic Symphonians who inspire us with their personal values, hardworking nature, and a proactive stance in life. This time we have talked to Gordana Andonovska, Service Delivery Manager from Symphony Solutions Macedonia, who has stories to tell about her work here as well as her own projects that contribute to society and even special education. Gordana also had some insights and tips to share on how to live a more fulfilling and meaningful life.
1. Gordana, you have been with Symphony Solutions for more than six months now. What did you like about Symphony Solutions that made you want to join?
I have been following Symphony for about two years, and the transparency, the clear messages, articles, the company’s presence in multiple markets, the original ambience, the philosophy that coding can grow into symphony, all these were the reasons for my interest.
2. What are the things you enjoy about working at Symphony Solutions?
The supportive atmosphere, the focus on making processes better, the good treatment of the employees and recognition of results, the implementation of the Anywhere concept because I have previous experience in managing remote and international teams.
3. You are probably already familiar with Symphony Solutions’ core values. Which of these values are important to you? How do you experience them here?
All the values reflect my personal philosophy and work ethics. Probably most of all, Initiative and Inspiration. Firstly, because these two require more energy that I am ready to give. Secondly, because they keep me out of my comfort zone. And thirdly, because these two values require not only responsibility to yourself because of the goals you have set, but also because of the motivation which makes everybody do their best and continually feel good.
4. You hold the position of Service Delivery Manager at Symphony Solution. Tell us more about your responsibilities. What part of the job do you love the most? What would you consider a challenge?
I work on augmentation projects, where a fast response is crucial to the needs of the clients for specific profiles in their existing teams. The challenge consists in good organization from the start with every team included in the identification of the best candidates according to the demands of the clients, quick adaptation (agility) to the changes that occur on both sides, positive and proactive reaction to obtain the deadlines and levels of cooperation.
5. Share with us your top tips for working with a client. What is the most important?
Always go beyond client expectations
Clearly defined scope of work
Be transparent, consistent, and proactive
6. You have 19+ years of experience in Service Delivery, Project Management, Team Leadership, People Management, and Business Client Relationship. That’s quite a list! How did you get started? Why did you choose this profession?
I started my career as a project manager with multiple innovative international products which helped me gain experience in the whole marketing mix, production, sales, and customer care. I have had the chance to gain, but also share my experience at many international conferences, webinars, and trainings where I have had both roles. Then I moved to service delivery where team management is one of the most important assets for achieving great results. I would say that this profession chose me, even in high school I was a natural organizer of serious initiatives and was included in the school committee where I represented the students’ needs. In other words, I can deal with people. In the beginning of the first year of my economy studies, I wanted to focus on macroeconomics, but after the first lesson on management, I knew that was meant for me and from that moment, my focus has been on business and entrepreneurship.
7. What advice would you give yourself when you were starting your career?
Always get your work done, and get it done timely with absolute transparency so that everybody can learn and grow along the way. Consistent good work and trust make for successful cooperation and relations with clients and make you the best partner for the client.
8. As we know, you are the person who is constantly developing yourself (certifications, educational programs, etc.). What motivates you?
Personal growth is one of our deepest human needs. When we commit to a lifetime of learning and being better, we won’t stagnate or become trapped by our limited beliefs. It seems to me that acquiring new skills is inevitable for success. It motivates me when I succeed in converting learning into practice which becomes a benefit to everybody. Rewards come in action, not in discussion.
9. You were the Founder of In Optimum company which has to do with education and even helping people with learning disabilities. Tell us more about the business. How did you come up with the idea?
I have always wanted the day to last 25 hours so I can be more effective, develop a smart approach which will allow me to easily make progress personally and professionally. Reading has always been my passion, so I learnt and certified myself as a coach in speed reading and advanced learning techniques before expanding my expertise in the field of dyslexia. The business idea came from the fact that there wasn’t such an offer in Macedonia, and original ideas have always attracted me. In addition, this was an opportunity to apply much of my gained experience in marketing, sales, and promotion, as well as an outsourced trainer in many companies. I built a train-the-trainee school and more than 3000 students have attended my school. On the other hand, that was, and still is, my way of contributing to society, by helping kids and grown-up people who are facing a difficulty such as dyslexia strengthen their cognitive abilities. Through this extra curriculum, I achieve an energy balance which invokes a special joy in me.
10. You know so many languages: English, German, Serbian, Bulgarian, Macedonian. A legit polyglot! Is this kind of your hobby or more like a professional need? Tell us more.
I believe that a person who speaks multiple languages is a successful person. For me, it is a communicative and reading freedom/liberty. I learnt some of the languages because I had to, but I sincerely enjoy learning languages and I know that I am going to learn some other languages, too.
11. What are your hobbies? How do you keep a work-life balance?
As a person with big awareness of the balance between work and personal life, I have always been involved in additional activities, such as dancing and playing instruments. I love the theater, reading, writing, and traveling to new destinations. During the pandemic I started practicing yoga, walking in nature, and riding a bicycle. Because I have experienced the burn-out syndrome, I am able to say that the frequent stay in nature, the devotion of time for myself, the limitation of the time spent on my laptop, effective time management, the ability to focus on the tasks in the most important time intervals during the day and not just in the standard working hours, frequent and sufficient sleep, are adjustments which help me deal smartly with professional and personal challenges. The feeling of happiness from a productive day with different activities this way is inevitable and grateful. There is no disappointment for me because I believe that with the right focus of energy and time one can find the solution to every problem.
12. If having a plan B is an option, who would you become if you weren’t in IT? Social entrepreneur.
13.Would you mind sharing with us your life motto or principles?
Learning with purpose.
No matter your personal growth challenges, there’s a way to achieve your goals.
Challenge yourself to think of a larger “why” and “how”.
You don’t have to choose between passion and profitability – when you follow your inner call, you can have both.
Keep yourself accountable to your personal growth plan.
14. If you were a superhero, what superpower would you have? I would work on raising awareness of the importance of clean environment, I would implement zero-waste, I would work on eliminating consumerism and getting people back to their essential needs, “to be” before “to have”, “to create” before “to spend”, “to be grateful” before “to complain”.
15. Are there any podcasts, books, or inspirations you swear by?
Books:
“Awaken the giant within” by Tony Robbins “Goals” by Brian Tracy “12 Golden rules” by Jordan Peterson
Inspirations:
“If you can’t, you must. If you must, you can.” “Knowing is not enough! You must take action.”
16.What are your productivity hacks?
Get prepared for the next day
Regular cleaning of backlog or within 24 hours
Regular collection of input from relevant stakeholders in order to maintain the delivery deadline of the service to the clients and employees
Start working on the best ideas immediately instead of waiting for the right time…and do not forget to follow up
I avoid working with reminders, but I regularly remind others as a part of my proactive approach
Respect others’ time so that they respect yours, therefore come to the meetings prepared and on time
17. Do you take the world by storm or by plan? What are your plans for the next 3 years?
Initially, I believe in a good plan and in good preparation, but I also manage well in turbulent situations, which require agility, awareness of priority and urgency, taking decisions, mobilizing, and commissioning my abilities, as well as the abilities of others. I would say that that is one of my advantages. In relation to my plans for professional development, I work devotedly to become a technical SDM and progress in the delivery vertical.
We have all come to Symphony Solutions from different backgrounds, bringing our own original experience and opinions. This is what we cherish and appreciate about every Symphonian. Being so unique and different, we still share the same values, passion for innovation and technology, and the ambition to always grow and learn to become better versions of ourselves.
We have asked Slawomir Umpirowicz, our Poland-based Business Analyst, to share his journey from teacher turned developer turned BA and some valuable insights on facing challenges, achieving harmony in life, and his definition of success.
1. Starting your career as a teacher, how did you find your way to business analysis? What do you like the most about your current role?
It is true that I started working as a teacher. It happened by a coincidence. It was a time of an educational boom and dynamic development of education in my country. Straight from my final exams at the university, I went to an interview and I got this job. It is worth mentioning that from the very beginning I was involved in IT projects and it was quite easy for me to talk to both IT teams and the clients. Despite the fact that for many years I was a developer, I like the opportunity to work as a business analyst the most, because it allows me to search for ambitious goals together with clients, and for innovative implementations with a development team.
2. Looking back on the last 3 years of your career at Symphony, what would you say are the highlights?
What from the very beginning drew my attention is the constant striving to improve the organization through supporting Symphonians and developing their competencies. The constant support and interest in each person are truly unique. And I have never heard the words “it is impossible”.
3. After so many years in the industry, what did you find different about working here than anywhere else you’ve worked?
The pandemic has changed a lot recently, but both before and now, Symphony is doing a lot to integrate teams and provide the best possible conditions for work. What also distinguishes is the constant motivation for further personal development. And what I like the most is the focus on Agile-based methodologies. It is not just a declaration or a theory. It is a daily practice in Symphony.
4. Motivation is considered to be very important in our lives – work and personal. What are some of your biggest motivators at work?
In my opinion, there is no secret here. I just like what I do, and I like challenges. In this way, work, even on a difficult project, gives great satisfaction. I must also point out that I am always a team player. And I realize that in the IT world, not much can be done alone.
5. The pandemic turned our life upside down. What’s special about working remotely with your team?
Yes, it’s true. Today, nothing is the same as before. However, I am optimistic about every experience that happens to us. I also believe that despite all the problems, Symphony Solutions prepared employees for remote work. That’s why we were able to start working from home practically with no interruption. Supporting team integrity seems to be the biggest challenge right now.
6. What 3 pieces of advice would you give yourself 20 years ago?
It’s a very difficult question. Maybe: believe in my competences, not be afraid of risks and take up challenges. Although I know that even today, I have a problem with it, so this advice is still valid.
7. Are there any podcasts, books, or inspirations you swear by?
It’s nothing special, I’m interested in topics related mainly to the history of IT, so I like biographies of IT-related people like Steve Jobs or Bill Gates, and I also really like TED talks.
8. What do you think are Symphony’s most meaningful traditions? What’s your favourite one?
Symphony has many traditions that deserve recognition. I really think Symphony Solutions has created a unique atmosphere that needs to be cared for. For people like me, even Casual Friday is something special, which I have been waiting for a whole week so far. I would like to note that even now, during the pandemic time, I am in the office every Friday to meet other Symphonians and have time to talk and integrate.
9. What values are important to you in Symphony? How do you experience those values here?
“Be the change you want to see around you”. I believe that initiative allows us to improve ourselves and change the environment. These are opportunities that we have the sole influence on, so it is not only our privilege but also our duty.
10. Hobbies are the moments for the heart and a spare mind. What are some hobbies that help you find other meanings in this life?
It is definitely photography. Taking a picture seems like an easy task now, but if we take the film camera, then each shot becomes a challenge for us. We will learn to pay attention not only to technical parameters but also to the composition, lighting and colors. We will also learn to commemorate those moments that are most precious to us and to which we will be happy to come back.
11. If having a plan B was an option – who would you become if you weren’t in IT?
I believe that whatever we do in life, it is important to do the best we can. I believe that this is a good start for both Plan A and each subsequent one.
12. It has a different meaning for everyone in terms of life, career and spirit. How do you evaluate success?
I am not sure if we can speak of success in my case. In my opinion, the most important thing is the harmony between the mentioned factors. This is not easy. I have a problem with the time spent in front of the computer – I try to give my best. However, I have learned that weekends are for me and for my family and I always try to make the coming weekend a special, active time. And from time to time, I am alone with my camera in nature.
13. Over the time that we explore the world, life teaches us different lessons. What is the best life lesson or advice you have received so far?
I learned that a man has the right to make mistakes. And that the world won’t collapse because of it. It is a mistake when we do not try to fix what we have broken.
Want to learn the essence of Symphony Solutions that are Symphonians? Stay tuned and look out for more interviews in the near future!
But, for now, get to know our Symphonian Filip Kudron and read about his insights here.
It’s amazing how Java remains among the top development languages and platforms for so long, and by now it’s probably older than some of the developers that are using it. In 2021 it’s still in the top 5 according to the StackOverflow Developer Survey
All thanks to the Java technologies innovation. The platform is evolving to meet the needs of the community and the global industry trends. Java keeps up with the serverless architecture, data science, IoT and reactive programming.
The Symphony Solutions Java team has analyzed and presented their selection of the latest Java technologies and worldwide software development trends that influence the platform. Let’s continue to inspect what is sure to hit the spot, what remains relevant and what are some of the entirely new predictions.
Machine Learning with Eclipse Deeplearning4j
Eclipse Deeplearning4j is gaining popularity in Java nowadays. It is a library for machine learning written in Java for use in the JVM environment with its first preview released in March 2020.
Developed specifically to be used in the JVM environment, it is compatible with other JVM languages. Deeplearning4j is considered a high-level framework that is used for building neural networks. This means that the toolset empowers you to perform a wide range of tasks that have to do with clustering and classifying data, as well as data analysis for high level predictions (e.g., weather forecast, predictions for the stock market, etc.).
Deeplearning4j is used in cybersecurity for detecting fraud or anomalies, which makes it invaluable for use in fintech, e-commerce, and other sectors that require enhanced security for sensitive data protection. It can be integrated with other ML platforms (RapidMiner, Weka, Prediction.io). Some interesting use cases include retraining and deploying models in JVM microservice environments, mobile devices, IoT, etc.
New features in Java 14 and 15
Java versions 14 and 15 have introduced new features that make for a more streamlined and clean code, making the life of Java developers worldwide easier, allowing them to focus on creating the most value without getting lost between lines of code or drowning in neverending documentation.
Some of the new features that were introduced and should be on your checklist are the following:
Record is a new type of class introduced in Java 15 to reduce boilerplate code and make it easier to create immutable data objects.
Switch expressions have been established as a standard feature since Java 14, and are now able to return value and assign it to the corresponding variable.
NullPointerException is another Java 14 feature, which is a step-up in debugging, as it points out the null variable and the name of the call that threw the exception.
Hidden classes, introduced in Java 15, are a useful feature for developers who work with dynamic bytecode or JVM languages.
In fact, any regular Java programmer could probably tell you about their pick-of-the-crop new features introduced in Java releases 12 through 17, as there surely is something to pick from with Oracle rolling out a new LTS release every two years, next to the quarterly updates for the previously introduced versions. Though the most used is still Java 8 version, the latest versions are starting to gain momentum in 2021.
Java Concurrency
Java concurrency is another popular technology in Java. Concurrency programming, means that multiple programs or applications can run simultaneously, which is supported through multithreading and synchronization. It’s a lightweight process that allows accessing data from different threads, that in Java constitute the path that is followed whenever a program is being executed.
Threads are created by the Java Virtual Machine when you run the program, which may work with multiple threads simultaneously to run a Java application. Concurrency varies depending on other processes that run in the operating system – the number of threads that can run concurrently on a normal CPU depends on the number of processors in the system, whereas a high-volume application can run thousands of threads with GPU without interruption.
Java concurrency helps improve the throughput of the program and optimize the process, as you can run parts of the program in parallel and reduce the time that is required to complete a time-consuming task faster without reduced efficiency.
What’s coming to replace Spring Boot
Spring Boot is still the most trending Java-based framework that is used for creating microservices. It’s gained its popularity due to a gradual learning curve and simplicity of integration with other Java frameworks.
However, we are observing new frameworks rising to their popularity that may well become an alternative, that are more lightweight and perform on par or better than Spring Boot.
Vert.x
Vert.x is another lightweight alternative to Spring Boot from Eclipse foundation. It is used for building reactive applications that are resilient and highly scalable. Vert.x is based on an asynchronous and non-blocking execution model. It also supports the use of multiple languages. When comparing Vert.x to Spring Boot in one of our latest articles, the former is vastly outperforming in terms of speed of processing concurrent requests, CPU and memory usage.
Azure is the cloud competitor to AWS
We can now observe steady growth in the popularity of Microsoft Azure as a competitor to AWS. What does it have to do with Java trends, you may ask?
Java is the programming language of choice when it comes to cloud computing, due to the ease of use and it being possible to run the same program on different platforms. This makes selecting the right cloud environment oftentimes a big concern for Java developers who want to get the most out of the cloud services provided. For now, AWS is the cloud provider of choice for the majority, although Azure is catching up and generating a fanbase of its own. In fact, Microsoft Azure is working closely with the Java community on providing resources and tools to Java developers who want to work with cloud-native applications.
Java developers may choose Azure as their prefered cloud computing platform for some or all of the following reasons:
Windows integration.
Built-in analytics tools.
Strong PaaS solution.
Highly visual and easy to use UI (little to no coding required).
Reliable storage capabilities and secure data encryption.
Active directory library for Java.
Fully managed cloud infrastructure.
Continuous integration and deployment tools.
Whatever is your reason for opting for Microsoft Azure, the main point is that you meet your objective. And as practice shows, Azure has a growing popularity among startups and independent software vendors, and it’s used by more than 95% of Fortune 500 companies.
Java Technologies and Trends In Retrospect: 2018-2019
Java 10 and Java 11
Our 2018 list of the latest Java technologies started with, well, Java. It was around that time when Java switched to releasing new versions every six months instead of three years. Fast releases mean more innovation. They also mean fewer differences between versions and a more complicated Long-Term Support (LTS). That’s why Oracle decided to provide LTS once every six releases or three years. Unfortunately, though, this only concerns the commercial support contract from Oracle. Public updates and other releases will only be updated for six months – until the next version comes out.
Java 9 was the first incremental release, and two more came out in 2018: Java 10 and Java 11. Java 10, released in March 2018, introduced the local variable type inference and a new garbage collector interface. These features were supposed to simplify writing Java applications. But Java technologies innovation didn’t stop there. Java 10 has an improved JVM which is going to make it easier to use Docker containers. Java 11, released in September 2018, has all the features mentioned above plus it’s the first LTS support version since Java 8. The next LTS version will be released in September 2021.
Keep Сalm and Learn Kotlin
Kotlin has every chance to become a programming marvel. According to the Stack Overflow Survey 2018, Kotlin was the second most loved language among developers. In 2021 the interest to this language is still high – it’s in the top 15 on the list of the most loved languages among developers though the interest is a bit decreased. The Symphony Solutions Java team has already given their credit to this programming language.
The language was designed to be loved by Java developers. It’s 100% interoperable with Java code, so much so that classes written in Kotlin can be mixed up with classes in Java and the solution will work seamlessly. Seriously, any Java library can be used within Kotlin. And since a lot of gigantic enterprise systems and Android applications use Java, a new and lightweight Kotlin is a gift to Java developers.
While you may think it’s just another Java Virtual Machine language, Kotlin was designed by JetBrains, a company that knows a thing or two about the perfect Java IDE. Developed with the gaps of other JVM languages in mind, Kotlin is an expressive language (read: less error-prone) that’s not as verbose as Java. Its data classes and list operations reduce boilerplate code, and Kotlin offers nullability-safe extension functions and higher-order functions all Android developers will appreciate.
Though Kotlin has some interesting use cases, it’s the Android apps niche that can and probably will propel it. It’s now the first-level language for Android app development. Google’s appreciation for the language and the commitment to support Kotlin means a lot for its future growth and popularity. It will be interesting to see if Kotlin finds its place in enterprise applications development or not.
Reactive Java
Reactive programming is nothing new, but it’s become more relevant than ever. The volumes of data are skyrocketing; the computational power is increasing. Users demand software integrity, fast updates, and non-stop synchronization. Processing numerous events becomes a pain in the back(end) for Android. It’s time to switch to a programming paradigm where you define the source of data and the consumer of that data.
RxJava, first released in 2013, is still being quite actively used to this day. It is the reactive extension (API for implementing reactive programming) for the JVM. When you connect the consumer to the source of data, RxJava pushes the data to the consumer. This library can help developers build asynchronous, concurrent and resilient Java applications. It also makes the code look less bulky and more elegant.
From Microservices to Serverless
One of the most significant global trends in software design from 2018 up to these days is the shift from microservices to serverless architecture, and the current Java technologies also couldn’t resist it. Let us refresh your memory. The microservices architecture means that the system is modular and all of its components can be changed or replaced independently without harming the system. Microservices remain a popular way of building complex systems that comprise independent components, and Java developers find their ways around overcoming any shortcomings microservices may present to get the most out of the microservice architecture in Java. Since serverless is still at times a luxury solution with the cost of development and maintenance, we are not taking microservices off the shelves just yet.
The serverless architecture means that you can build and deploy the code without having to configure the underlying servers. But the best part about serverless computing is that it breaks modules down into parts smaller than microservices. This allows almost infinite scaling. Also, that level of modularity gives developers a chance to visualize complex processes going on in their software, so it’s much easier to improve performance, reduce bottlenecks and even make architectural decisions. To sum up, the serverless approach gives you granular control over the architecture of a solution and simple horizontal scalability.
So, how do you go serverless with Java? Two words: AWS Lambda, a serverless computing platform. All you have to do is create an AWS Lambda Function and implement a predefined interface.
AWS Serverless Java Container
The Java wrapper known as aws-serverless-java-container (version 1.7) makes working with AWS Lambda easier. A Serverless Java Container natively supports API Gateway proxy integration for Lambda with request and response mappings. You can also create custom model mappings using VTL. The AWS Gateway API starts each Lambda as a container and then translates API Gateway proxy events into the request format that’s accepted by the Lambda.
However, containers have the limitations of a single request at a time. Secondly, the bulkier the application, the higher the latency. To avoid this, the code footprint should be as small as possible with a minimum of required dependencies.
If you want something smarter, though, look up Service Bloks. They are cloud-native apps that combine the advantages of microservices with the scalability of serverless functions. A basic service block consists of a Service Core and Functions. A service core is a Spring Boot application, and it’s responsible for communication and dispatching events to serverless functions inside a block.
Data Science with Java
You can use Java pretty much anywhere, and data processing is no exception. The fact that Java is a high-performance, general-purpose, compiled language just proves the point. No matter what popular framework you choose, Hadoop or Apache Spark, there’s a well-supported Java client or implementation to work with. Not to mention clients for all sorts of SQL and NoSQL databases.
Thanks to a big community, there are many libraries for data processing and cloud computing as well as machine learning. Keeping your ETL production code, data processing, and machine learning in the same ecosystem is obviously a good idea.
Of course, Java is not perfect. Because it is a wordy programming language, Java isn’t the best fit for R&D or statistical applications. That’s why data scientists choose dynamically typed languages like R and Python instead. Competing with R is especially hard since it was created for statistics and research. Despite that, Java is successfully being used in Data Science thanks to its ubiquity, performance and seamless integration of the data science code into an existing solution.
Java Maximizes Its Effects on Scripting Languages
Not every programmer is a pro in Java development, but Java’s effects on other languages are something many of them experience. Just think of the massive number of languages that are now executed on the Java Virtual Machine. Various widely-appreciated scripting languages were written using Java, created for or ported to the JVM. This allows them to make use of the rich Java ecosystem.
Java developers sometimes choose scripting languages as a quick and easy solution for tasks like prototyping, algorithms and mathematics. They are especially helpful when you need to perform a complex task in a minimal number of steps.
Think of Groovy, JRuby and Jython. These popular and tightly Java-integrated scripting languages can help developers incorporate scripts originally written in Ruby or Python with Java libraries. You can get extra info and some JRuby inspiration by reading success stories on GitHub.
Java has also become one step closer to scripting languages with the introduction of Java Specification Request (JSR) 223. Along with Java SE 6, which includes built-in support for script engines, it provides a standard interface and API to interact with dynamic languages running on the Java platform.
Java Development Propels IoT to the Productive Future
Another niche where Java leads the pack is IoT architecture environment. According to the IoT Developer Survey by the Eclipse Foundation, Java is the favorite language for building IoT solutions. And the future Java trends predict the same, due to its interoperability and portability. All thanks to JVM, as it lets developers write code locally and then move it to small pieces of hardware like chips. Java is one of the best choices for cloud and gateway development from the entire IoT infrastructure. Isn’t it convenient to use the same ecosystem for data measurement, collection and analysis?
At the beginning of 2019, Oracle also updated the Java Card platform which provides security for smart cards and other limited-memory device applications. Version 3.1 of the platform offers increased support for IoT devices.
Summing Up
There are numerous reasons why Java keeps landing among the top technologies for business and web. It’s the combination of simplicity and robustness, the popularity of Android and web applications, and, of course, an enormous, friendly community. 10 million developers can’t be wrong.
Although no fundamentally new Java technologies are going to be delivered anytime soon, the platform is flourishing and has no intention to stop. The latest Java technologies follow global trends in software design and development. This includes reactive development, serverless architecture, and data science. The rise of the JVM languages, the breakthrough of Kotlin, and the perfect match of Java and IoT infrastructure prove that Java has no intention of stopping in future.
You may have noticed that some of the Java trends overlap with the previous years’ tendencies. That’s no surprise since the Java platform manages to balance beautifully between stability and innovation, and continues its influence on the rest of the programming world.
At Symphony Solutions, we care about Java and are always eager to discuss modern Java technology. Check our open Java job positions and do not hesitate to apply!
You probably know the story. You’ve created a couple of tests, and since you are using Cypress, you’ve done this pretty quickly. Nothing seems to stop you, but then – Test is failed. It wasn’t the app, wasn’t an error; the Test was… flaky? Well, yes. Test design is important no matter what tool you use, Cypress included. The good news is that Cypress has some tools behind its belt to help you. Join Symphony Solutions’ event to learn how to avoid mistakes in Cypress Test Automation!
Watch it on YouTube!
Filip Hric
Independent Educator & Consultant
Teaching testers about web development and developers about testing.
Keynote speaker and have spoken at conferences around the world.
Creator of multiple online courses.
Cypress ambassador.
Hosted live workshops on end-to-end testing with Cypress.io.
Learn2code & Test automation university instructor.
Filip will guide you away from the valley of antipatterns into the fields of evergreen, stable tests. We’ll talk about common mistakes in designing your Test, proper use of commands and their built-in retry-ability, and much more. All to avoid flakiness, remove explicit waits, and keep a smile on your face.
Whether you’re a beginner or an experienced test automation professional, attending this event can lead to a better understanding of how to design tests effectively and maintain a positive testing experience.
Who will benefit:
Testers are responsible for writing and executing test cases using Cypress for web applications.
Developers who are involved in testing their applications or collaborating with testers to create end-to-end tests with Cypress.
QA engineers who are responsible for ensuring the quality of web applications through automated testing.
AQA Engineers.
Developers are interested in understanding how testing works in the context of web development.
Anyone passionate about test automation and eager to enhance their knowledge of Cypress and best practices will find value in the event.
Oracle rolled out Java 17, the next long-term support release of Java in September 2021. Today we will focus on the Java new release features, which can be used in the daily development lifecycle. All features are generally available and enabled by default, except if they are labeled with one of the following: Preview – features are fully specified and implemented, but not yet considered to be final. They are considered to be almost complete, waiting for an additional round of real-world feedback. These features have to be explicitly enabled. Experimental – features are less stable and more likely to change. They also have to be explicitly enabled. Incubator – modules are non-final tools and APIs, and are distributed in separate modules. All the features I’ve singled out have been officially added to Java and are past their preview phases.
Let’s take a look at 14 essential features from Java versions 12 to 17.
Java 12 features
1. Java 12: File mismatch() method
The method mismatch(Path, Path) compares two specified files and returns the index of the first byte where they differ or -1 if they don’t. The return value will be in the inclusive range of 0L up to the byte size of the smaller file or -1L if the files are identical. File relationships and their mismatch return values can be described as in the following table:
Files Relationship
Files.mismatch(Path, Path)
Same File
-1 (match)
Copied File
-1 (match)
Different Files, same content
-1 (match)
Different Files, different content
>0 (mismatch)
Soft-linked
-1 (match)
Hard-linked
-1 (match)
Now, let’s take a look at two examples. In the first one, we’ll create two identical files and compare them, but in the second one we will create two different files with different content.
It is a new static method teeing to java.util.stream.Collectors interface which allows to collect using two independent collectors and then merge their results using the supplied BiFunction.
Every element passed to the resulting collector is processed by both downstream collectors. Then their results are merged into the final result using the specified merge function.
Please note that this function helps in performing a certain task in a single step. We can already perform the given task in two steps if we do not use the teeing() function. It’s just a helper function to reduce verbosity.
CompactNumberFormat is a concrete subclass of NumberFormat that formats a decimal number in its compact form based on the patterns provided by a given locale.
public static NumberFormat getCompactNumberInstance(Locale locale, NumberFormat.Style formatStyle)
The locale parameter is responsible for providing proper format patterns. The format style can be either SHORT or LONG. For a better understanding of the format styles, let’s consider number 1000 in the US locale. The SHORT style would format it as “10K”, and the LONG one would do it as “10 thousand”.
Now let’s take a look at an example that’ll take the number of likes under this article and compact it in two different styles:
4. Java 12: Java Strings new Methods – indent() and transform()
intent() method adjusts the indentation of each line based on the integer parameter. If the parameter is greater than zero, new spaces will be inserted at the beginning of each line. On the other hand, if the parameter is less than zero, it removes spaces from the beginning of each line. If a given line does not contain sufficient white space, then all leading white space characters are removed.
@Test
public void givenString_IntentStringWithNumberThatGreaterThanZero() {
String text = """
Hi Symphony
Solutions
""";//First line does not have any space but in second one has 1 space in the beginning of line
String newText = text.indent(1);//it adds space in each line,therefore length should be increased plus 2
assertEquals(text.length() + 2, newText.length());
}
@Test
public void givenString_IntentStringWithNumberThatLessThanZero() {
String text = """
Hi Symphony
Solutions
""";//First line does not have any space but in second one has 1 space from beginning of line
String newText = text.indent(-2); //it removes space in each line,therefore length should be decreased by 1
assertEquals(text.length() - 1, newText.length());
}
Transform() method allows us to call a function on the given string. The function should expect a single String argument and produce an R result. Let’s look at an example where we will use transform() method to convert a CSV string to the list of strings:
@Test
public void givenString_thenConvertListOfStrings() {
String text = "Hi,Symphony,Solutions";
List<String> strList = text.transform(s -> Arrays.asList(s.split(",")));
assertEquals(strList.size(), 3);
}
Java 13 features
5. Java 13: FileSystems.newFileSystem() Method
public static FileSystem newFileSystem(Path path, Map<String, ?> env) throws IOException
Java FileSystems newFileSystem(URI uri, Map<String, ?> env) constructs a new file system that is identified by a URI. This method iterates over the FileSystemProvider installedProviders() providers to locate the provider that is identified by the URI URI getScheme() of the given URI.
@Test
public void givenFileName_thenCreateFileSystem() throws IOException {
String zipFilename = "test.zip";
final Path path = Paths.get(zipFilename);
final URI uri = URI.create("jar:file:" + path.toUri().getPath());
final Map<String, String> env = new HashMap<>();
env.put("create", "true");
try (FileSystem fileSystem = FileSystems.newFileSystem(uri, env)) {
assertTrue(fileSystem.isOpen());
}
}
6. Java 13: DOM and SAX Factories with Namespace Support
New techniques for creating DOM and SAX factories that support Namespaces have been added.
//java 13 onwards
DocumentBuilder db = DocumentBuilderFactory.newDefaultNSInstance().newDocumentBuilder();
// before java 13
DocumentBuilderFactory dbf = DocumentBuilderFactory.newDefaultInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Java 14 features
7. Java 14: Switch expressions
Java 14 takes the switch to the next level. No longer a simple statement, it is now an expression, and so it can return a value! And by making this improvement we no longer have to think about break; Should one of your cases feed into a block of code, yield is used as the return statement of the Switch Expression, and we can assign this value to the corresponding variable.
@Test
public void givenString_thenTestSwitchWithExistingCaseValue() {
String color = "Blue";
String adjacentColor = switch (color) {
case "Blue", "Green" -> "yellow";
case "Red", "Purple" -> "blue";
case "Yellow", "Orange" -> "red";
default -> {
System.out.println("The color could not be found.");
yield "Unknown Color";
}
};
assertEquals(adjacentColor, "yellow");
}
8. Java 14: Helpful NullPointerExceptions
Previously, the stack trace for a NullPointerException didn’t have much of a story to tell, except that some value was null at a given line in a given file. Though useful, this information only suggested a line to debug instead of painting the whole picture for a developer to understand just by looking at the log. Now Java has made this easier by adding the capability to point out the name of the call that threw the exception, as well as the name of the null variable.
int[] arr = null;
arr[0] = 1;
Earlier, on running this code, the log would say:
Exception in thread "main" java.lang.NullPointerException
at com.baeldung.MyClass.main(MyClass.java:27)
But now, given the same scenario, the log might say:
java.lang.NullPointerException: Cannot store to int array
because "a" is null
As we can see, now we know precisely which variable caused the
exception.
Java 15 features
9. Java 15: Text Blocks
Starting from 2020, Java 15 finally supports text blocks! I am so excited by the fact that I no longer have to type dozens of “+” signs. I can simply do this instead:
In this example, we have improved readability of the sentence for the human eye, and no new line is added ->after “Alizada”. Finally, text blocks only blocks, you can’t use them in a single line.
10. Java 15: Hidden Classes
A new feature being introduced in Java 15 is known as hidden classes. While most developers won’t find a direct benefit from them, anyone who works with dynamic bytecode or JVM languages will likely find them useful. The goal of hidden classes is to allow the runtime creation of classes that are not discoverable. This means they cannot be linked by other classes, nor can they be discovered via reflection. Classes such as these typically have a short lifecycle, and thus, hidden classes are designed to be efficient with both loading and unloading. Note that current versions of Java do allow for the creation of anonymous classes similar to hidden classes. However, they rely on the Unsafe API. Hidden classes have no such dependency.
Java 16 features
11. Java 16: Pattern matching for instanceof
Pattern Matching is a means to get rid of needless casting after an instanceof condition is met. JVM automatically casts the variable for us and assigns the result to the new binding variable. For example, we’re all familiar with this situation:
if (o instanceof Car) {
System.out.println(((Car) o).getModel());
}
Which, of course, is necessary if you want to access the Car methods of o. That being said, it is also true that in the second line, there is no question that o is a Car – the instanceof has already confirmed that. So, with Pattern Matching, a small change is made:
if (o instanceof Car c) {
System.out.println(c.getModel());
}
You can even use Pattern Matching in the same line as the instanceof:
public boolean isHonda(Object o) {
return o instanceof Car c && c.getModel().equals("Honda");
}
12. Java 16: Add Stream.toList Method
The aim is to reduce the boilerplate with some commonly used Stream collectors, such as Collectors.toList and Collectors.toSet.
List<String> integersAsString = Arrays.asList("1", "2", "3");
List<Integer> ints = integersAsString.stream().map(Integer::parseInt).collect(Collectors.toList()); //previous version
List<Integer> intsEquivalent = integersAsString.stream().map(Integer::parseInt).toList(); //new version
Java 17 features
13. Java 17: Sealed classes
Sealed classes are somewhat similar to final classes. When sealed keyword is accompanied by permits keyword, this indicates that a class or an interface can be extended or implemented only by specified classes or interfaces. Using sealed classes allows developers to know all possible subtypes supported in the given format.
Let’s take a look at a simple example:
public sealed interface Expression permits Addition {
double perform(double x, double y);
}
final class Addition implements Expression, Serializable {
@Override
public double perform(double x, double y) {
return x + y;
}
}
//This statement gives compile error, because Expression interface does not allow to Log subtype
final class Log implements Expression {
@Override
public double perform(double x, double y) {
return 0;
}
}
14. Java 17: Records
Records are data-only classes that handle all the boilerplate code associated with POJOs. We can avoid all the unnecessary boilerplate code by using Records. Even though it doesn’t seem like a huge enhancement, it drastically increases developer productivity.
That is to say, a POJO class like the following:
public final class Person {
private final String name;
private final int age;
private final String profession;
public Person(String name, int age, String profession) {
this.name = name;
this.age = age;
this.profession = profession;
}
public String name() {
return name;
}
public int age() {
return age;
}
public String profession() {
return profession;
}
@Override
public boolean equals(Object obj) {
if (obj == this) return true;
if (obj == null || obj.getClass() != this.getClass()) return false;
var that = (Person) obj;
return Objects.equals(this.name, that.name) &&
this.age == that.age &&
Objects.equals(this.profession, that.profession);
}
@Override
public int hashCode() {
return Objects.hash(name, age, profession);
}
@Override
public String toString() {
return "Person[" +
"name=" + name + ", " +
"age=" + age + ", " +
"profession=" + profession + ']';
}
}
Becomes this:
public record Person(String name, int age, String profession)
{}
We no longer have to think about adding hashCode(), equals(), toString(). These are usually easily generated by a favorite IDE, but still for me this was a long-awaited feature!
As you can see, Records are both final and immutable – there are no extending Records, and once a Record object is created, its fields cannot be changed. You are allowed to declare methods in a Record, both non-static and static, and implement interfaces just like with final classes.
Conclusion
Java remains the top programming language that is widely used by software programmers and is often recommended as the starting point for those just starting out in their careers. In this article, we have overviewed updates from Java 12 to Java 17. Of course, this doesn’t cover everything, but mostly the few that I found interesting. Hopefully, this gives you the gist of what they’re capable of doing. Looking at the improvements Java has delivered in one go, we can be sure that the Java platform is well-positioned for further development and growth in the cloud. So, if you want to become a software developer, you must learn Java to stay on track with the new developments.
Reactive applications are scalable since workload grows and also resilient when failures arise. If an application has both scalability and resiliency, it means that the application is responsive.
Vert.x is a toolkit used for building reactive applications on the JVM using an asynchronous and non-blocking execution model. As it is based on Netty, which is an event-driven and asynchronous network application framework, Vert.x helps build reactive applications using the event loop concept, which is an implementation of a Multi-Reactor pattern.
An event bus always listens for new events. Whenever a new event arrives, it dispatches it to some handler that knows how to handle it.
The image above indicates a traditional implementation of the Reactor pattern executed by a single thread and reducing the concurrency issues as the pattern that guarantees no handlers is executed concurrently. However, it also implies that the event loop must never be blocked by any of the execution handlers since otherwise, it can decrease the whole system performance significantly. Vert.x brings a good approach here by using a Multi-Reactor pattern, which means using multiple event loops running on separate threads while still guaranteeing that no execution handlers will be executed concurrently. Multi-Reactor patterns use multiple event loops, which requires more CPU cores to increase performance.
Another case is that even when we use multiple event loops, some events can still take a long time to be processed. In this case Vert.x provides using worker threads for costly executions.
Vert.x Terminology
Vert.x has its defined terms. Let’s go over the most well-known terms below:
Verticle
Vertical is a part of Vert.x architecture. It’s a piece of code that can be deployed to Vert.x and is executed in a single thread. It can be considered as a controller handling servlet requests, and all communications are executed with events asynchronously.
Vertical types:
Standard verticles: All the code is executed within the same event loop.
Worker verticles: Not executed within an event loop, executed using a thread from the Vert.x worker thread pool. We should not block the event loop for long-running tasks, so it can use a thread from the Vert.x worker thread pool and not block the event loop at all. They can be executed by different threads at different times.
How to deploy a worker verticle?
You need to create an object from DeploymentOptions class and set its worker property as true. Finally, the deployment options must be used while deploying the verticle. Please check the simple example below:
Vert.x Instance
A verticle is executed within a single Vert.x instance, which is executed on the JVM instance. If there are a lot of verticles, they will be simultaneously executed in the same Vert.x instance. Moreover, it is feasible to make multiple Vert.x instances clustered using Event Bus.
It is like a container for verticles and also an entry point to API.
Concurrency
The Vertical instance always promises that it is executed within the same thread. No deadlock or race condition will occur.
Event Loops
Vert.x instance manages the number of thread pools to the number of CPU cores very closely.
Event Bus
It is a lightweight distributed messaging system used for point-to-point communication, publish/subscribe messaging model, request/response model.
Shared Data
Passing and sharing data between threads is a very important concept in asynchronous programming. Vert.x provides both synchronous and asynchronous shared data functionality for this. The shared data feature enables users to use shared data between different verticles for the same Vert.x instance or a cluster of Vert.x instances.
Vert.x uses Shared Map for global access of data.
Vert.x Features
Let’s look over a list of features characteristic of Vert.x that make it the framework of choice for many developers. What are the advantages of using Vert.x?
Handling concurrency and high scalability
Vert.x is a lightweight event-driven and non-blocking application framework that allows developers to handle a lot of concurrency using a small number of kernel threads, so it increases the scalability of the application significantly.
Polyglot
Vert.x is similar to Node.js but it is both polyglot and reactive on the JVM. It supports multiple languages like Java, JavaScript, Apache Groovy, Ruby, Scala, Kotlin.
Automatic failover(Resilient)
In a cluster environment, if running a Vert.x instance fails, it will be automatically restarted on another node of the cluster.
Fast
The way Vert.x addresses that problem is that any I/O work is put in a queue. Since putting a new task in a queue is not a particularly heavy operation, Vert.x is able to process hundreds of thousands of those per second.
Ecosystem
Web APIs, databases, messaging, event streams, cloud, registries, security… you name it. Vert.x has you covered with a comprehensive end-to-end reactive clients stack for modern applications.
Clustering
A cluster manager is responsible for the discovery of nodes and sharing data within different Vert.x instances.
To use a cluster manager programmatically in Vert.x:
Documentation
The official Vert.x documentation is very extensive, nicely grouped by topic and with many manuals and examples in multiple programming languages. These examples are usually kept quite simple, which makes sense to not overwhelm the reader and to focus on one certain tool, as well as look over Vert.x use cases one at a time.
Lightweight
It is very easy to integrate Vert.x into your project and its core library. It can also be used in a Spring Boot project, so you can take advantage of a dependency injection feature of the Spring framework inside a Vert.x project.
Benchmarks for Vert.x and Spring Boot Framework
The following are some examples of Vert.x vs Spring Boot uses, that illustrate how the two frameworks perform under various conditions with different concurrency levels.
Vert.x example:
Spring Boot example:
Vert.x Test1
Spring Boot Test1
Concurrency Level: 10 Time taken for tests: 58.640 seconds Complete requests: 1000000 Requests per second: 17053.09 [#/sec] Time per request: 0.586 [ms]
Concurrency Level: 10 Time taken for tests: 205.175 seconds Complete requests: 1000000 Requests per second: 4873.89 [#/sec] Time per request: 2.052 [ms]
As you can see in the first test, Vert.x is significantly faster compared to Spring Boot. Let’s have a look at the CPU and memory usage during the test:
CPU and memory usage for Vert.x:
CPU and memory usage for Spring Boot:
As expected from a lightweight framework, Vert.x consumes much less CPU and memory over time. But this is just a very simple test case. More interesting is the second test:
Vert.x Test2
Spring Boot Test2
Concurrency Level: 10 Time taken for tests: 103.471 seconds Complete requests: 10000 Requests per second: 96.65 [#/sec] Time per request: 103.471 [ms]
Concurrency Level: 10 Time taken for tests: 106.633 seconds Complete requests: 10000 Requests per second: 93.78 [#/sec] Time per request: 106.633 [ms]
Concurrency Level: 100 Time taken for tests: 10.488 seconds Complete requests: 10000 Requests per second: 953.46 [#/sec] Time per request: 104.881 [ms]
Concurrency Level: 100 Time taken for tests: 11.779 seconds Complete requests: 10000 Requests per second: 848.99 [#/sec] Time per request: 117.787 [ms]
Because of the 100 ms waiting time in it, the minimum time per request is 100 ms in this test, so only the additional time is relevant here. With 10 concurrent requests, you can already see a slight advantage for Vert.x, but with 100 concurrent requests, the difference is much more obvious. Again as expected, Vert.x is significantly faster. Due to the use of fewer threads, Vert.x with its non-blocking approach performs a lot faster than Spring Boot, which needs to create at least 100 parallel threads in this example.
What is the Future of the Vert.x Project?
Vert.x has very good documentation that makes it easy to understand every detail with the help of simple examples. At the moment, it makes it a good option to use in terms of easiness of deployment and super performance as an async server. There is a great community with contributors who continue to fix the issues and release new features in Vert.x. It is also supported by the Eclipse Foundation community team. The strong community that has emerged around Vert.x makes it very easy to discover all its advantages, whether it’s through studying documentation or any Vert.x tutorial or example you may need to further explore the possibilities.
Conclusion
To summarize, Vert.x is a great toolkit when you want a non-blocking strategy in an event-driven architecture. It works with verticles, which provides a thread-safe environment. Vert.x makes it easy to write concurrent applications that scale effortlessly from a single low-end machine to a cluster with several high-end servers. Add the fact that you can use the most popular languages for the JVM, and you have a web developer’s dream come true!
Working away from work, or in other words ‘workation’, is the ability to reinvent your workplace. Also called a ‘workoliday’ or ‘woliday’, a workation is exactly this – working while on vacation. It’s combining work and leisure, sending emails while sipping your fizzy drink in the park, or hitting targets while hitting the beach, anywhere in the world. Working the hours while relaxing. Symphony Solutions now offers this great chance for us, and there are Symphonians who have already taken the advantage of such an opportunity.
Let’s find out what their experiences were… We have asked them a few questions and they shared their stories.
Matea Kochovska, Intermediate Recruiter
Yuliya Kurpita, Facility Coordinator
Olha Kutniv, QA Engineer Intermediate
Kateryna Kuchyrenko, People Partner
Iryna Chaban, Learning & Development Lead
1. Where did you go on workation and why did you choose that location?
MK: My workation was in Mavrovo, Macedonia. My family owns a lake house there, so my husband and I went for a little escape into nature. My dog Bailey enjoys the place the most, as he can roam the free terrain and get all that puppy energy out.
YK: I chose Turkey because there are amazing landscapes – the sea and mountains. What can be better? And of course, there were the least restrictions due to Covid.
OK: I’ve been workating since August 2020. The first time, it was at Bukovel, Ukraine. Then I understood that working in a nice place with great landscapes around doesn’t affect my work at all. During wintertime in Ukraine, my husband and I took a decision to try workation in a warm country in the Southern Hemisphere. And this country was Brazil. Why Brazil? Because I’d always dreamt about living in a tropical country during cold weather in Ukraine and Asia was closed because of COVID-19. Plus, the time difference with Ukraine was acceptable in Brazil (5 hours). After I came back to Ukraine, I’ve proceeded with workation in Slavsko, the Carpathians. I managed to climb three of the most famous mountains in Slavsko during that period plus had a nice rest time swimming, reading books, barbecuing and gathering blueberries.
KK: It was Georgia. In this country, you can find a lot to discover. Starting from architecture, both from the past and modern ones, monasteries, ropeways, and mesmerizing landscapes to the amazing sea, canyons, and waterfalls.
IC: We had a car trip to the southern part of Ukraine. First, we visited my husband’s family in Nova Kakhovka, then spent a few days at the Azov Sea. For several years we were planning this trip, but it never happened before. Frankly speaking, I have always been quite a sceptic about the idea to spend full vacation time on such a trip. Thus, it was a real chance to use Workation opportunity for this sort of journey.
2. What were your requirements for the place?
OK: My two major requirements for the workation place:
good internet
kitchen with cooking facilities (for long-stay places)
Additional:
seaside or swimming pool nearby
possibility to hike nearby.
IC: First of all, I fully realized that the most time of the day I will have to spend working and having job-related meetings. Therefore, a perfect internet connection was the main priority. Secondly, it was crucial for me to have a separate location spot during working hours, so the apartment had to be spacious and well-furnished and equipped. And to balance it all out, it also needed to be aesthetically pleasing to the eye – I work more effectively if nothing around irritates me. For the reasons mentioned above, we rejected the invitation of our relatives to stay at their place – now I confirmed my thoughts that I would never survive in one flat with their two kids, a dog, and a cat.
MK: I just need an internet connection and some peace and quiet. Luckily, we have a huge yard where you can lay in the grass and spend the day relaxed with nothing but your laptop and nature.
3. How long should a perfect workation be, or it doesn’t matter?
YK: It depends on location and type of activities. As for me, one week is enough.
KK: A month, at least. Honesty, taking a workation is a very effort-consuming model of spending time, when you try to catch all the moments to discover new places and at the same time dedicate yourself to working during the day. It is important to have time for work, for walks, and some rest as well.
4. What are the pros and cons of workation, in your opinion?
OK:
Cons:
usually, workationing is more expensive than staying at home;
you can’t visit your parents and friends as often as you used to;
it takes time to adapt to a new country, and there is nostalgia after you come back home.
Pros:
you visit new places, meet new people, try new activities, experience new cultures.
MK: A workation can be very different for different people, as we saw in the photos. This is one of its better qualities for me, as you can really find your happy place and work in a new setting. This keeps you on your toes as you adapt to your new conditions. After work is when the real fun begins as the beach or mountains can be just a few minutes from your new office. The only con I can think of is that, eventually, you have to come back to reality.
IC: Workation gives you an opportunity to broaden your horizons, both figuratively and literally. I also noticed that I was concentrating more and setting stricter deadlines to finish the tasks in Workation mode because there were so many interesting adventures to start after work! So, my efficiency was extremely high. On the contrary, I believe it would’ve been impossible to work at all if we had gone to some classical vacation place with emerald sea and breathtaking views. So, in my opinion, Workation is a perfect option for quiet places or locations where you can quench your thirst for sightseeing within a few restricted hours in the morning or/and in the evening. Or you might consider Workation as a starting point for the full Vacation, then it will work perfectly as a combination, and the time spent at the place you like might be longer.
5. Can you share any funny stories from your workation?
MK: So me and my husband, Neno, were sitting in the yard, me on my laptop and him laying on a blanket and reading. Suddenly a couple of dogs enter the yard ready to play, so Neno gets up to go find some food for them. He comes back 15 min later and finds that the dogs have already found some food of their own. One of them was chewing on the cover of his book. So now he always has a souvenir to remember our time in Mavrovo.
YK: It was fun at the airport when the customs officer asked me why I need a laptop if I’m going on vacation. Then I told him about the workation. He looked at me sympathetically, and I realized that workation sounds strange to other people.
KK: Once, I didn’t check if I could pay by card in the restaurant. I ordered the food and the moment I started to eat it, I realized that I have only $50 (1 bill) and no Georgian lari. I ordered food for $10 and almost paid $50. But at the end of the day, after a long discussion, we found some compromise and went together with the waitress to exchange the money. BTW, it was already 10 p.m. and they were preparing to close the restaurant. I met people from other courtiers in the city centre, they asked about the road to one place. They tried to guess my nationality and I said “Слава Україні”. At that moment one stranger who was passing by answered “Героям Слава”. It was really funny and I was so proud. Ukrainian people are everywhere! Workation is full of funny stories…
6. Any recommendations and pieces of advice you could give to Symphonians planning workation in the future?
YK: Plan your day in advance and you’ll avoid unnecessary stress.
MK: I would go with renting a bigger place, preferably with a yard because the privacy really makes a difference. Macedonia has some beautiful lakes, mountains, and even waterfalls, so pick a place that will really recharge your batteries.
OK: Check entrance and staying rules for the particular country, get vaccines against particular diseases if you plan to visit exotic places; don’t change locations too often – better spend this time visiting new places.
KK: The only recommendation is to start travelling more and get some fresh air and motivation from it. Regarding locations – Google and YouTube are great helpers here.
IC:
Differentiate between Workation and Vacation. Keep in mind that it is still more ‘work’ than ‘relax’.
Combine Workation with Vacation. It will bring more opportunities to explore and will let you adapt better.
Choose the place to live thoroughly. It should be comfortable as if you stayed at home. A perfect internet connection is a “must”; your colleagues shouldn’t suffer from technical issues.
Be ready for unexpected situations and face them with joy!
As you can tell, so many Symphonians have already had an excellent first run of the Workation program. With the new benefit, you can get the best of both worlds – in a true definition of “work hard, play hard” – positively change the way you work and set out on your personal journey to discover the world, how you like it and when you like it.
Beyond booking a holiday with a tour operator, workation has so much more to offer, as it gives you more say in where to go and how long to stay. It gives you that much-needed freedom once you get tired of going in and out of the office, and opens up new horizons to discover.
Reading these stories is enough to boost your spirits and make you excited to try a workation of your very own. Read more about Symphony Solutions benefits and get to planning your next adventure!
Symphony Personas are coming back for season two with more insightful interviews, this time with behind-the-scenes from the projects they are working on. What we love about Symphonians is their fantastic passion that they have for creating high-quality products that make an impact. This is what we want to share in the new series of interviews Symphony Personas in Tech.
First on, we’d like you to welcome Martin Kubelka, Quality Assurance Engineer for the Virtualstock project, a digital supply chain and marketplace SaaS platform for Retail and Healthcare markets. Martin talked to us about his job on the project, the perks of closely collaborating with the client, and some tips for newbies just joining the team.
1. Martin, you’ve been working at Symphony Solutions for 3 years already. In your opinion, how did you grow inside the company during this time? What is your lightbulb moment?
Apart from the experience that I obviously gained during this period, I grew from Intern to Mid QA. But that’s only the measurable side of the story. On the non-measurable part, I can say I developed a specific work ethic that comes from the challenge to try and find new, creative ways of solving and sometimes making problems :D I also developed domain-specific knowledge related to the projects I was working on.
Lightbulb moment – Challenging yourself can be fun! While this might seem counter-intuitive, the real growth comes from getting out of one’s comfort zone, and that’s where the real fun starts. It is then when you realize you’re not alone, and there are people around you to support you and share their knowledge.
2. What are some of your biggest motivators at work?
The combination of making an impact, constantly learning something new while working with great people on great products in an awesome culture.
3. You’ve been working with Virtualstock for a year and a half. What would you say is your team’s biggest achievement thus far? What work are you most proud of and why?
My work with the Virtualstock coincided with the Covid pandemic. I was aware that this was the greatest risk I ever faced throughout my career, but from today’s perspective I think we did a great job overcoming it. All of us remained professional and made sure we kept the communication channels open, while at the same time taking care of one another. We kept on delivering value for the end users, but not only that – we also managed to meet as a team in real life and this really helped us build even greater trust that fuels our team work.
4. What do you enjoy / not enjoy about your work with the client?
I enjoy the team work and the sense of ownership that each and every member of our team has. At the same time, people are really cooperative and we constantly challenge ourselves.
5. What is your Virtualstock team structure?
My team has 4 developers, 1 Product Lead, one CTO, and I am the QA.
6. What are the technologies you work with on the project?
The product is developed in Python and also we are using the Django framework. For managing the manual and automated tests we are using Testrail. In general, our tests are written in the BDD standard.
7. Do open jobs require 100% of the time? What is the development/debugging ratio?
I would say 70% dev and 30 % QA when a feature is in development. But as part of the team I am included in all the processes from analyzing the requirements, detailing the acceptance criteria and reviewing the user stories.
8. How is the communication with the client organized?
We work as one team with the client, so I don’t see the client as a separate entity, the team is mixed and we are one. We use Slack for everyday communication, and we follow the SCRUM ceremonies, which allows us to release new product versions every 2 weeks.
9. What do you enjoy about your job as a QA the most?
Many people think that being a QA is all about finding bugs and reporting them. But they lose the end goal – which is what I enjoy most about my job – Improving the quality of the product that users will use.
10. What do you think is crucial in order to grow as an expert?
Learning fast, testing and implementing new ideas, processes, and tools. Also, being able to understand and communicate priorities with the rest of the team.
11. How do you follow trends in your profession and industry?
By following blogs and podcasts, visiting QA conferences, and communication with other people that are in my field of work.
12. What advice would you give to your new team members?
Stay curious and ask questions. Never leave a meeting with questions kept to yourself – your teammates are there to enable you. And try to keep user’s and business’s goals at the core of your work.
We invite you to learn more about Symphony Solutions’ long-term collaboration with Virtualstock. Read the case study on how we helped them augment their in-house capabilities and secure a partnership with the NHS.
What to learn more about Symphonians? Check out some of our previous interviews from season one of Symphony Personas, like this one with Aleksandar Gacevski, who knows all about how to take care of your security at work and in the sky.
The online casino and gambling industry has changed significantly in recent years, with increased levels of regulation and a continued increase in focus on the topic of responsible gambling. The industry is keen to distance itself from the negative image associated with it in the past and to focus on ensuring that a safe, responsible, and entertaining experience is provided to users. This change is constant and operators and platform providers need to keep abreast of the continual changes and updates in the regulatory frameworks across multiple jurisdictions.
Where does Symphony Solutions sit within the iGaming value chain?
The iGaming division of Symphony Solutions works with operators who are licensed and regulated and who do not carry out illegal operations. These operators are our customers. The customers of the operators are the people that register with the operator and who bet on sports or entertain themselves, playing the online casino games available on the operator websites.
FAQ 1: Gambling is not legal in my country; can I work for Symphony Solutions?
Absolutely, Symphony Solutions is not a Gambling operator, we are an international IT services provider and do not require a Gambling Licence.
Responsible Gambling
In addition to increased levels or regulation in a number of countries along with numerous states within the United State of America, the other area of ongoing maturity is that of Responsible Gambling.
Over recent years a set of socially responsible initiatives were created to ensure the fairness and integrity of gambling operations were in place and to promote the awareness of problem gambling to end-users. These Responsible Gambling initiatives are active across governments, through control boards, and with the operators of casinos and sportsbetting operations.
Broadly speaking the key areas that sit beneath the umbrella of Responsible Gambling are:
The exclusion of underage users – ensuring registration of underage users is not possible.
The protection of players at risk – making it easy for players to self-exclude themselves or to put in place financial limits on spending or time.
Accountable Marketing – making sure for example that advertising and marketing activities do not target children or players at risk that have self-excluded themselves.
Data privacy – ensuring that the end users’ data is private and that it remains private.
Online payment protection – ensuring that the system is reliable and secure so that customers can deposit, withdraw and transfer funds safely.
Responsible Gaming procedures vary from country to country, in Sweden operators can set betting limits based on the financial information checks on end-users. In the UK the use of credit cards to pay for gambling is restricted.
Our customers share a common goal, that goal is to ensure that gambling needs to be done at a fun and safe level, and we stand behind that ethos.
FAQ 2: What about technology?
The technology stacks being used are modern, often at the cutting edge. They are driven by new product development and are heavily influenced by the enormous size and scale of the systems required to support many thousands of transactions per second. It is not unusual to witness over twenty thousand transactions per second at peak times.
Many of our teams are working to design and develop brand new products, products that are not only first to market but patented in multiple countries. Working on these new products will do wonders for your CV.
From an infrastructure perspective, the typical iGaming systems are large and complex with a mixture of on-premise and cloud-based components. AWS and Microsoft Azure are commonly used by iGaming operators that wish to leverage the benefits of cloud solutions.
The advantages of working with iGaming projects from a development perspective:
Dynamic, highly transactional, large enterprise systems designed to work at scale.
Great opportunity to grow both from technical and organizational perspective (working in an Agile environment).
Highly performant systems, with significant peak loads during large sports events.
Environment changes very fast (from MVP to release).
Working with top technologies – Serverless, Cloud, BI-Datawarehouse, etc.
Being part of the design, delivery and launch of unique, first-to-market products.
FAQ 3: Are Operators Agile?
In short, the answer is yes. Whilst some are further along in their agile journey than others, most have recognized the benefits of agile product development and are familiar with working in a lean-agile manner. The majority of our customers have a number of SCRUM teams with some using Kanban. Other larger operators have worked with the Scaled Agile Framework utilizing multiple release trains.
FAQ 4: What direction is the industry going?
From a product development perspective, our customers want to continue to delight users, with new innovative games, games that feature live video streaming, so that customers can engage and immerse themselves in real-time. We are seeing a shift towards hybrid applications that bring elements of traditional games together with more modern game features, all designed to bring further excitement, and engagement with the end-users.
From a geographical perspective, the growth in the US market is impressive, with many states having already legalized gambling we are seeing further growth as new states come on board. For these US-based operators, we see a focus on the user experience, with an understanding that a “using a copy and paste” approach of a European user doesn´t translate well to a US player experience. As a result, strong UX/UI and front end development skills are in demand.
FAQ 5: OK I’m interested to hear more! What projects are available right now?
If you join Symphony Solutions you´ll be working for us and representing Symphony Solutions, helping to design and develop new products and applications for operators both in a business to consumer (B2C) environment and in business to business (B2B) focused organizations.
We have a number of exciting projects working with top iGaming operators.
From those based in the USA developing B2B solutions for the Casino and Sportsbetting verticals to those based in Malta with B2C brands.
We have outlined a couple of them here for you to give you a taste of what is available.
Avantage Entertainment– a top-tier US-based operator in both the B2C and B2B space. Casumo– a highly respected Malta-based operator with both online casino and sportsbetting products.
Be sure to bookmark our vacancies for updates and information on the many other roles that we have. If you see a role that either you or indeed one of your friends might be suitable for, then share or apply! The future is bright.
Symphony Solutions is always on the lookout for talents, whether innate or acquired. We want to help people find their path and passion, grow continuously as professionals in skills and knowledge. Every day, strive to be a slightly better version of yourself.
We have talked to Wojciech Dziadura, a Lead Recruiter in the Krakow office, who is on a mission to connect with true professionals and help them find their place in the company. Wojtek talked to us an inspiring story about what is the driving force in his job, some tips for future candidates, and about his dozen of hobbies.
1. You joined Symphony Solutions 1 year ago. What’s been most surprising about the journey so far?
The most surprising is “Workation”, the possibility to work and travel at the same time.
2. Do you remember your first day? It being 2020, was it an unusual time to join the company?
It was a regular workday. I went to the office in Kraków and met Theo.
3. What was your lightbulb moment? When did you know that you wanted to be a recruiter?
When I helped one of my friends to get a job. I wanted to continue on this path of helping others.
4. Your job is very closely connected with people. What do you feel when you help them find a job? What’s your favorite part of the job?
When they reply with gratitude for the good job I get them.
5. What are some of your biggest motivators?
Ability to develop myself not only in a professional way.
6. What part of your work are you most proud of? What makes it special?
I’m proud of making a connection with the candidates.
7. You have recently been promoted to the Lead of Recruitment at Symphony Solutions. What do you enjoy about your job as a recruiter and lead the most?
As a recruiter, I love to talk with people, as a lead I’m trying to pass my knowledge to other recruiters.
8. What’s different about working and hiring remotely without having live interviews in the office?
You have to try to create a bond with the candidate by using only “remote ways”.
9. What 3 pieces of advice would you give someone looking to land a new job?
Relax, ask Yourself what is important for You and what You like. Try to combine all of the above, and then You have Your answer.
10. You worked in the UK and Sweden for many years. What’s different about working here than anywhere else you’ve worked before? What makes Symphony Solutions different from other companies?
I will let You know when I will find it ?
11. Having built a career abroad and now here in Poland, how do you evaluate success?
By having people around me who like to work and spend time with me.
12. You’ve been through many different companies in your career and now it’s IT. If you could go back in time and pick a different path, what would it be?
Hmmm, I like nature very much, so Lumberjack in Canada might be my choice ?
13. Staying focused always brings positive results. What are your productivity hacks?
Tons of coffee and gym after work ?
14. Are there any podcasts, books, or inspirations you swear by?
Yes, Forest Gump: “Life is like a box of chocolates. You never know what you’re gonna get.”
15. Culture retains and motivates talented people. What values are important to you in Symphony?
Transparency is my favorite here.
16. You seem like a very busy and passionate person. What are your hobbies?
Quite a lot of them. Before the pandemic, I was practicing Ju-jitsu. But now I’m learning how to play the saxophone, doing a lot of gym, driving my CBR (Motorbike), playing some computer games with friends to stay connected despite the restrictions. And of course, movies, books, science, astronomy…
17. Out of all the people you’ve worked with, who do you admire and why? Who inspires you?
Hmm, he was my former boss. He taught me many things that are still reflecting on my life.
Want to learn the essence of Symphony Solutions that are Symphonians? Stay tuned and look out for more interviews in the near future!
But, for now, get to know our Symphonian Andriy Pestov and read about his insights here.
With the rise of personal technology devices, a mobile phone has grown to be from a mere convenient means of communication to somewhat of a personal assistant. The smartphones of today for many professionals can even replace desktop devices or other “heavy duty” technologies.
According to Statista, the number of mobile devices users in the last decade grew from 1,06 to 3,8 billion and is expected to further grow by hundreds of millions per year.
Increase in smartphone users worldwide according to Statista
Always on the go, you barely have to reach to your pocket and find a plethora of apps to assist you with school and work, lifestyle and entertainment. But, of course, for the smartphone owners to make good use of these apps, the development team’s job is to make sure that the mobile app is functioning without a hitch. A bug-free app speaks for itself and earns the company a good reputation and the trust and loyalty of their customers. This is where mobile app testing comes into play.
Mobile application testing is a process of detecting defects, bugs in software that has been developed for the use on handheld mobile devices (most commonly, applies to smartphones and tablets). It is tested for functionality, usability and consistency. Mobile apps can come pre-installed on the device or may need to be downloaded and installed from software distribution platforms (e.g., Play Market, App Store).
The team of test engineers applies QA best practices to ensures the quality of the app on every step of the development process. Let’s look over some ways of how to test mobile applications that are most common to use when preparing them to go out on the market.
Types of Mobile QA Testing
There are two types of mobile testing that need to be done:
Hardware testing. Internal hardware of the device is tested, including processors, memory space, battery, screen size and resolution, camera, sensors, card slots, etc.
Software or Application testing. The main purpose it to test the functionality of the mobile applications. Here you will need to differentiate between the types of mobile apps such as:
Native apps – created to be used only on one platform (e.g., mobile, tablet)
Mobile web app – server-side apps that allow to access the web on mobile via browsers (Safari, Chrome, etc.)
Mobile web app – server-side apps that allow to access the web on mobile via browsers (Safari, Chrome, etc.)
These types of apps differ in the way they are developed and how they can be used and tested:
Native apps are created with a specific platform in mind whereas mobile web apps should work cross-platform.
Native apps are developed with native SDKs, while for mobile web apps developers can use basic web technologies.
Native apps are updated from Google play store or app store, while with mobile web apps this is done centralized.
Native apps need to be installed on your mobile device; mobile web apps can be accessed and used without installation via mobile web browser.
Mobile web apps can only be used with an internet connection, while native apps typically don’t require this.
Why Mobile Testing is Important
When testing applications on mobile devices, the QA engineer can face some challenges that are linked to the following nuances:
Wide range of mobile devices – various screen sizes and resolutions, hardware configurations, different brands especially for Android devices (HTC, Samsung, Huawei, Xiaomi, etc.);
Different mobile operation systems – Android, iOS, Windows, BlackBerry;
Different OS versions – IOS 10.x, IOS 11.x, Android 9.x, Android 10.x, etc.
Types of Mobile Application Testing
Mobile applications testing usually is designed to test for many different characteristics. Let’s look at some of the common types of testing to be used:
Compatibility testing is handled on different OS versions, devices, screen sizes, cross-browser testing, etc.
UI testing checks the theme and style of the interface correctness, buttons and menus, responsiveness of the app, etc.
Performance testing analyses app performance with different network connection, battery usage, file sharing, etc.
Installation tests checkhow the app behaves when repeatedly installed and deleted on the device.
Operational testing is designed to prove the stability and reliability of the app (e.g., data loss when updating from the store, backups and restoration for when the battery goes down, etc.).
Security testing performs to see if the user data is protected.
Usability testing detects if the application is simple in use, navigation flows are easy to understand, user experience is satisfactory.
What else you should focus on while testing mobile apps:
How the application will work when switching to online/offline mode.
When something interrupts the application:
Notifications from other apps.
Incoming phone calls.
Forced system updates.
When you switch from album to portrait view or the other way around.
Device going into sleep mode.
When you lock/unlock your devices while the application is running in the background.
Basic Differences in App Testing: Android vs iOS
First of all, there are a lot of different Android devices on the market with a huge variety of sizes, screen resolutions, etc. Basically, every company has its own standards.
It’s much harder to develop and test on Android devices because you should make sure that every image, button, and other elements of the interface are not misaligned.
Because of different companies developing on Android, software updated is not synchronized which can lead to problems with supporting.
And of course, it leads us to the problems with security because of the variety of devices with Android.
What are the Differences Between Testing on a Real device vs. Simulator vs. Emulator
Both simulators and emulators are virtual devices. A virtual device is a software which allows providing the same functions as a real device, although there can be differences with some functionalities like a phone camera, etc.
Advantages of a Simulator/Emulator
When the deadline is coming and you have no time for purchasing a real device.
The vast numbers of mobile devices from different manufacturers creates problems, whereby the testers are not confident about which mobile devices to invest in for testing, considering the budget constraints. Emulators and simulators are tailor-made to specifically address this situation.
In most cases they are free.
It’s easier to do web application testing, just copy and paste the link.
Disadvantages of a Simulator/Emulator
You can’t verify battery scenarios.
You are not able to simulate any interceptions like phone calls, SMS, etc.
They are not able to simulate the exact color display.
Simulating memory-related issues.
Advantages of the Real Device
You could say that all of the disadvantages of a Simulator/Emulator are an advantage of a real device. You can test all real based scenarios and be sure that the issue is not related to Simulator/Emulator specifics.
Disadvantages of the Real Device
Money. Physical devices need to be purchased and to make sure that you are covering most of the popular devices, it will cost you much more than using some virtual devices.
There is a great variety of mobile devices from Apple and Samsung to Pixels and Symbian, and so on. With all this wide range of mobile devices and operating systems, it is very hard for the software testing team to arrange testing for all sorts of mobile devices while working under a considerable amount of budget and timeline related constraints.
Mobile Application Testing Tools to Get you Started
There’s an abundance of great tools that you can work with but here are some of the essentials that you might want to consider trying:
Charles proxy – Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables the tester to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. It’s a great tool to look for logs while you are using your application;
Android studio – it has the same functionality as Charles proxy. All you need is to connect your Android device with a wire and all the logs will be displayed in the Android studio. Works only with Android devices;
Xcode – mostly used for development purposes, but you can use it as an emulator of iOS devices.
Bottom Line
Mobile application testing comes as an important part of the product development process. How you approach it will determine whether your app will be a barely functional novelty or a daily staple in your customer’s life. For instance, Ladbrokes Coral focused on performance testing when preparing for UK’s greatest annual racing event and managed to support over two million user visits with no downtime, securing the brand’s reputation and popularity with the customers and increasing revenue. So, if you want to achieve similar results and see your app succeed, remember the following steps:
Identify what platforms you will support.
You should have at least a couple of physical devices.
Use tools which will help you with testing.
Use different simulators/emulators to expand your testing coverage.
Don’t forget that you are creating something that will potentially bring a better quality of life for your users. Your part is to ensure the good quality of the mobile app. If you want to help create high-quality mobile applications to satisfy even the most peculiar user, see our open QA vacancies and apply.
Client interview has recently become an integral part of the hiring process, especially in the IT field. The most frequently asked questions from the interviewees sound like “Isn’t it the same as HR or Behavioral Interviews?”. The answer is yes and no. The main difference is in shifting the focus from general answers, even very well-shaped, to the customer’s needs and requirements as a primary source of prioritizing your skills.
Here are the most common areas of expertise that are covered during the client interview process, and some of them are not so obvious as they might seem at first sight.
Previous Experience
One of the popular client interview questions that you will hear, is some variation of, “Tell me about your job experience.” This question is more loaded than you might think — the interviewer may want to know how this experience has prepared you for the potential job. Thus, the main area of interest for any client lies in getting a better understanding of how your background relates to the position they are looking to fill.
It’s crucial to note that preparation for this question starts with compiling the resume. The primary idea is to point out and focus on that expertise which is of vital importance for both the client and the project instead of including all the skills and abilities that might be useful in general, but minor in terms of the project requirements.
This might seem not so easy; however, with a little preparation, you will be able to succeed.
Prepare your “elevator pitch” beforehand. Use short and simple sentences and active statements to demonstrate confidence and proactivity. Concentrate on the expertise the client is looking for. Quantify your experience. If applicable, use data to add proven value to your accomplishments. Illustrate your potential by showing how your previous work is directly connected to the requirements of the position in question. End with a goal statement. Mention what you want to achieve in this position. Be honest, BUT confident.
Past Failures
This is a typical behavioral job interview question, and such questions might be difficult. Negative experience is tough to talk about because your focus is on trying to present yourself from the best side. However, here is the main trick – by asking such a question, a client wants to decipher how good you are at failing smart and recovering, but not what your failure is in fact.
Talk about how you’ve used the experience to become better at your job and to avoid similar mistakes, provide examples. You may want to use the STAR method (Situation/Task, Approach and Results). Be short, about 2-3 min, and avoid talking about anything that jeopardizes your or your employer’s credibility. Pick a real failure but not anything too costly. Stay honest. Choose an issue relevant to the client’s area of interest.
Current Job
Despite a very clear message, this question is aimed at unveiling several aspects which the client is most interested in. Primarily, the idea of these questions is to investigate what level of problems the person works on – if it is operational/detailed, team level or strategic level.
Another area of interest is a candidate’s motivation for changing jobs – moving towards new opportunities or escaping from the job they dislike. It is a very sensitive issue that should be faced with a positive approach. Use the proper language and shift your mind and message from “I am dissatisfied with my current team collaboration” to “I am looking for a highly collaborative team”. Such a maneuver helps to “sell” yourself as a person who is looking for solutions instead of someone to blame.
Favorite Project
The client investigates how the position that they have fits with what you love and can do best, with what excites you.
You should want to balance what a client wants to hear (so you must read the position requirements in advance) with showing your real self, what drives you and what makes your eyes sparkle. This has to be at least to some extent an emotional conversation. Keep in mind that any hiring process is a “dialogue”, not a “monologue”. You need to show that you are a good fit for the position, but at the same time make sure that you feel it’s your cup of tea, otherwise, there is a threat of potential burnout or dissatisfaction.
Are You a Good Match?
Sounds like a question in the competition, doesn’t it? Actually yes, but be careful! The majority of people will start talking about themselves: ‘because I am…” NO! Start with: “Because you said you need someone with expertise in architecture, right? Well, I did …” Give examples. START with a “you” statement.
When answering this type of questions, always talk about clients’ needs first, and only after tell about your unique expertise.
Don’t compare yourself to others. The only comparison option you might want to use is to show how the company will benefit by applying your expertise.
Motivation
What, in your experience, motivates you best? What is your most successful job performance? Can you give us an example of this motivation in action in the workplace? You should want to show your strong sides as well as tell about the activities which keep you engaged.
Also, the client will want to see how you know to deal with disengaging environments, either tasks or people. It is easy to be productive while you are engaged, but how do you tackle issues if the conditions are reversed? Here your strategy is to show that you are adult and mature, that you know how to get yourself doing the things that you have committed to fulfil.
Expectations/Questions to the Client
Traditionally, any interview finishes with the questions to the client. Surprisingly, the majority of interviewees either neglect or underestimate those questions. This part of the interview seems kind of formal, however, it might be a perfect chance to bridge the company vision with the interviewee’s expectations.
Prepare questions to ask the client in advance. Look up their website to see what values they prescribe to the company and the client. Talk of a bigger purpose, company values that you want to be a part of. Talk about opportunities to contribute to others. Talk about opportunities to learn. In this sequence: being part of a big goal, contributing, learning.
If the questions were already covered, express gratitude and give summarizing feedback. This will show your genuine interest in the position and unveil your active listening skills.
Client interviews are an excellent way to “match” the person to the project. Other steps in the recruiting process can only tell you so much about the candidate. If you are looking for someone to fit a certain role, it’s good to know that they are aligned with the client’s view on the position, scope of responsibilities, even the project itself. The potential candidate may have all the right skills and experience but not for this particular project or client. It’s important to be able to elaborate on all that during the interviewing process, so client interviews have now become a big step in the right direction.
– Roman Shevchenko, Recruitment Lead
Preparation and Building Rapport
Prior preparation is a key factor for passing the interview successfully. Here are several more general tips on how to succeed in the process of the interview.
Meet with the Client Partners, Recruiters, Service Delivery Managers or other people in the company who have been in contact with the client. Ask about previous interviews, customer specifics and their main focus of interest. Also, check official client accounts on social media, the website and other available resources to look for the inbound information which might help in building a connection. Don’t ignore even minor details, they might matter!
Make sure you are aware of the format of the conversation and prepare all the necessary equipment. Is it a phone call or a video conference? Are there any additional tools you may need to use?
Wear an appropriate outfit: no tracksuits or pajamas with panda bears!
Adjust to the client’s style of communication: formal, semi-formal, a lot/not much of a small talk. Try to mirror non-verbal cues and body language, it will help to connect.
Ask clarifying questions if you are not sure about the message. Ask to paraphrase, to elaborate on the details, to type the message in the chat. Use any possible means until you are 100% aligned.
Client interview is always both a challenge and a great opportunity to polish your presentation skills! Stay prepared and good luck!
What if we told you that you can work and go on vacation all at the same time? Not possible, you may say. Well, we beg to disagree.
Over the last year, we’ve observed Symphonians keep up with their work and ace those tasks, all this while not having the opportunity to go to the office every single day. The new “work from home” reality soon enough translated to “work from anywhere”. Not only did we see no decrease in performance of our teams – on the contrary, our Symphony culture turned out to be the right one for those who are passionate and dedicated to the work they do but also appreciate having the opportunity to maintain a healthy work-life balance.
So, why not work from Turkey in winter or Croatia in summer? Or perhaps visit your family across the country? Take a road trip or go on a cruise! Explore the world and see new places all the while committing to your duties as the top professional that you are. See how easy it can be to remain an integral part of your team while basking in the gorgeous sun of the Mediterranean.
For this reason, we have launched the Workation program at Symphony Solutions to support our teams in working from Anywhere. We are walking the talk when speaking of the work-life balance and wellbeing of our Symphonians. You are not obliged to come to the office but can instead enjoy the out of office hours, at the seaside or hiking in the woods. Ah… on top of that, why not arrange for the whole team to go to one of our gorgeous locations in Macedonia, Ukraine or Poland and explore the benefits of work and leisure someplace new?
And that’s just the start of it – we are working on making it even a better program in the near future. We want to make sure that your work and life are blended in naturally, so that you can get the best out of both worlds.
What’s in a Workation? How it works
While others are slowly starting to come back to the office, we say: Come on, summer just started! There are so many things to do, so many places to visit.
“Well, yes, but the summer is so long, and my vacation days are limited…”
That’s no reason to sulk. Use your Workation!
“Woah! Workation? What is that?“
It’s the perfect blend of work and vacation when you get to choose your own schedule.
Be in charge of your time and still get all the things done. That’s a Workation alright!
Last year showed how responsible Symphonians are. We had no doubt in you, to begin with, and still, we were impressed. We are sure that your Workation schedule will not have any influence on the results of your work. We hope that you are just as excited about the new program and will make good use of it. So, now is the right time to plan your Workation! Don’t forget to share your happy moments with us on social media with the hashtags #Workation #SymphonySolutions
There is no one right way to approach your life and career. That’s why we are so eager to talk to Symphonians about their personal experiences, exclusive insights, and intricate wisdom that comes in a form of somber life stories or lighthearted jokes. We find it fascinating what vast and complex new worlds we discover in each and every Symphonian and want to share their stories with you.
We have talked to Andriy Pestov, Head of Design office here at Symphony Solutions, about his exciting stories from life and work, what to expect in the future for design, and how he found a new family member and travel buddy in his dog Night.
1. You work at Symphony Solutions for 8 years already. What would you say about the journey so far?
Frankly speaking, I can’t even believe that all this time has passed. Maybe it’s the lively events, all the different people, projects, occasional sabbaticals. I remember these 8 years in time spans and occurrences, it was all so different over the years. So, when you’re asking about the 8 years as this one big chunk of my life, it’s hard to wrap my head around it:)
2. Do you remember your first day?
I don’t remember the first day but I do remember my first party at the House of Scientists where no one had any idea who I was so it was quite an awkward albeit fun experience.
3. What are some of your fondest Symphony Solutions memories of the past 8 years?
Last year, when we still had business trips and visiting clients wasn’t considered excessive, I got to go from Italy, where I was on vacation, to Amsterdam, spend the night at the airport, rush to the hotel to shower and go straight to the client meeting. That was a startup working in travel and flights business and the on-site was really awesome. I like to joke that my experience helped me better relate to user issues)
4. Going through so many different projects over the years, what do you consider your biggest achievement/success?
It’s difficult for me to pinpoint that one greatest achievement because there was always something worth remarking in each project although on a different scale, yet right now they all look minuscule. One of the most recent ones was helping with the Speedtestcorona project that won a tender from the Dutch government and will help millions to go back to their usual lives, safely visit events without an imminent danger to their health.
5. You have recently been promoted to the Head of Design Office. How are you enjoying your new role?
There’s a lot of unknown ahead of me and that prospect is exciting? I’ve worked in design for a long time so I understand my colleagues and their needs. Now, I have so many activities to cover and it’s quite unusual to disperse myself to manage so many different tasks simultaneously. I’m getting used to it)
6. After being with Symphony Solutions for so long, you have probably observed the company change and transform. What is different from when you first joined?
I have watched the company rapidly grow from a small one where everyone knew everyone yet our values and spirit always stayed the same. Then the Covid crisis happened. The company somehow managed to withstand that and know we’re getting back on track.
7. Did you always know that you wanted to be a designer? How did you come to choosing this path?
When I was a kid, I really liked playing with legos (not following instructions from the box but coming up with something myself? I could probably say that my love for building things stems from back then. Apart from that, I studied Graphics and Design so the transition to IT came to me naturally as it was something familiar.
8. What is it like working with clients at Symphony Solutions? What projects do you like the most?
Symphony gives an opportunity to work with different clients, from startups to huge enterprises. This helps stay in shape and never dwell in the same place for too long. What I like most is how I can influence the business and the product, suggest solutions that improve the user experience and are efficient for the business, when the client recognizes and values your work.
9. What makes a designer good?
The right mindset:) That’s a trendy word that means a lot of different things and can’t be attained through courses or training. You can’t get a certificate for that. It requires years of experience, observations, mistakes… All this accumulates into the designer being able to find the right approach to solving a problem or a task.
10. What’s the hottest topic in design at the moment? What design trends do you see in Ukraine and in the world right now?
I’m happy to say that in Ukraine many designers are now transitioning or trying to transition to the kind of product that is not just a “pretty picture”. It’s not enough to just draw an interface. You want to bring value to your user and business. You want to work in iterations: analyze and improve.
11. What do you think about design without designers?
That’s an actual possibility! In fact, we can already see it happening in parts, especially in data-driven products. It’s been possible for some time now that you can build a website or take a cool design system and just “pull” it over your product or even simply make a logo with the help of AI. It all progresses before our eyes, however, I believe that it will take some time till we can see AI solve a complicated problem. So, even now we can see design systems do the work that in the past would take a designer five years to complete.
12. There are a lot of traditions – from having coffee in the morning to special Friday parties. What’s your favourite office tradition?
Lunch break:) And to be fair, it’s not all about food. Over time, it grew to something more. We discuss so many interesting topics during lunch, from work-related to something more global like ecology or AI. Lunch is when colleagues can meet up with no obligations and just have some quality time together. That makes it a cool tradition:)
13. We know you like travelling and once had a sabbatical leave to the Canary Islands. What’s the most interesting story from your trips? How do they help you in work?
Tenerife is the perfect place for a sabbatical. It has practically everything – all climate zones, from tropical rain forests to deserts, and a volcano that looks like the surface of Mars. Too many stories.
14. You have recently adopted a dog from a dog shelter. How does it feel to have a new friend?
We were very lucky with Night as she fit right into our life just like a puzzle piece:) Night is a very calm and well-behaved dog. Just like us, she likes car rides and running, and sometimes she just wants some peace and quiet. I sometimes take her to the office with me and she’s no trouble at all.
15. What are your hobbies? Besides running with your dog:)
I’ve always loved hiking and from my most recent discoveries, a new experience – mountain running. When in a limited time frame you can relive the same emotions just faster. You can go over the weekend and run for many-many kilometers.
16. What 3 pieces of advice would you give yourself when you first became a designer?
Have no fear, finish what you start, invest in bitcoin.
17. Could you recommend some podcasts, books, or anything else that inspires you?
I think that podcasts are the most efficient way to gain new knowledge when it comes to professional development.
Потестим в проде is about product development, technologies, and just in general, the hosts are cool professionals that always have something interesting to share.
Nobody likes it when apps glitch and freeze. Especially when it happens at the most inconvenient moment. When we book a taxi, bet on a game at the last second, or turn into the wrong lane while using maps navigation on our phones. All this makes people frustrated and creates a bad experience with the product, brand, apps, and as a result, the download statistics go down. Every developer knows, “When download statistics go down, it’s time to analyze why crash and ANR statistics are up”. One of the reasons for glitches, crashes and freezes can be memory leaks. Now we will talk about how to identify them in Android applications and how to deal with them.
What are memory leaks?
Most Android native apps are written on Java or Kotlin. That means that we have a Virtual Machine with aGarbage Collector (GC).
“Garbage Collection deals with finding and deleting the garbage from memory. However, in reality, Garbage Collection tracks each and every object available in the JVM heap space and removes unused ones.”
A memory leak happens when memory is allocated but never freed. This means the GC is not able to take out the trash once we are done with the takeout. Android has a 16ms drawing window, and the GC normally takes less time to deal with memory. When the heap of allocated memory is increasing in unevenly large portions and memory is not being deallocated, the system will force a larger GC to kick off, which pauses the entire application’s main thread for around 50ms to 100ms.
Does my application have memory leaks?
First of all, we need to find and detect memory leaks in the application. Let’s look over some of the ways and tools you can use to do that.
Android Studio Memory Monitor Android Studio provides handy tools for profiling the performance of your app. One such tool is the Memory Monitor. Open the bottom tab in Android Studio while the app is running on a device or emulator. You can see how much memory your app has allocated at the moment. Memory heap will be increasing and decreasing depending on the actions that the application does at the moment. If you notice that memory is allocated but doesn’t get deallocated in a short period of time, this is probably what we are looking for.
Infer Infer is a static analyzer tool made by Facebook. This CI tool helps you find possible null pointer exceptions and resource leaks, as well as annotation reachability, missing lock guards, and concurrency race conditions. You can read more on the getting started page.
ANR statistics on Google Play Console Some of ANR (“Application Not Responding”) may be caused by big heap allocating and UII freezes for more than 50 – 100ms. You can check them on Google Play Consoles or read more here.
Crashes with OutOfMemmoryException This is a 100% proven indicator that you have a memory leak. You should check all the resources and Context-related variables used in classes that you see on the crash stack.
LeakCanary With its vast knowledge of the Android Framework internals, LeakCanary has a unique ability to narrow down the cause of each leak. This helps developers dramatically reduce OutOfMemoryError crashes. You can read more on the getting started page.
How to fix Memory Leaks?
Contexts Android SDK is full of classes that have Context as a parent class. Such classes and abstractions can be called “context-related”. Official documentation defines Context as such:
“Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.”
What we need to remember about memory leaks + context is that everything relating to Context, such as Activities, Services, Application, has a certain scope and a limited lifespan. So we can’t hold a reference to these types of classes because the state is rapidly changing. GC can’t clean resources when the reference of Activity or Context is present, but Activity is Destroyed and does not exist for us.
You should not:
Avoid using static variables for views or context-related references.
Pass a context-related reference to a Singleton class.
Improperly use Context. Use applicationContext() instead of activity context or view context when it’s possible. For example, for Toasts, Snackbars.
Use a weak reference of the context-related references when needed.
Static and View References
Just forget about static when you are working with context-related classes. You don’t need it in Activity for Views, and you don’t need to hold Context everywhere.
If you still can’t manage your logic without such a principle, your architecture or pattern can be wrong for that scenario. Use official guidelines and look into Dependency Injection or app\data\domain modules.
/*
* -> Static and View References
* Bad practice: Static context-related variables
*/
companion object {
private lateinit var textView: TextView
private lateinit var activity: Activity
}
Unregistered listeners
Listeners and receivers, such as BroadcastReceiver, LocationListener, Bluetooth and BLE listeners, have a strong reference to Fragment or Activity, and they hold them until you unregister them.
Carefully check your onCreate (onCreateView), onStart, and onResume methods. These lifetime methods typically have registered events. For each registered event, you should have unregistered opposing methods onDestroy, onStop, onPause.
/*
* -> Unregistered listeners
* Note: Take care about jobs and architecture to avoid leaks. Use Android Work manager
* or use RxJava or any safe jobs scheduling library.
*/
private lateinit var leakyCountDownTimer: CountDownTimer
private lateinit var leakyRunnable : Runnable
private lateinit var leakyThread : Thread
override fun onCreate(@Nullable savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
startTimer()
startRunnable()
startThread()
}
override fun onDestroy() {
super.onDestroy()
/*
* Bad practice: Don't stop runnables, threads and other timers on onDestory/onStop/onPause
*/
}
fun startTimer() {}
fun startRunnable() {}
fun startThread() {}
}
}
Inner classes and anonymous classes
Here we need to notice that the outer class should never have a static reference to the inner class. The inner class should never have a hard reference to the outer class, especially when talking about context-related classes.
Anonymous classes, such as Handler().postDelayed() or classes that emit a new thread (Runnable, AsyncTask), should stop and close this thread before being destroyed. Take care of every thread and resource that you have created.
/*
* -> Inner classes and anonymous classes
* Note: Take care about navigation and architecture to avoid bad practices with context-related variables
*/
class SomeActivity : AppCompatActivity() {
override fun onCreate(@Nullable savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
leakyClass = InnerClass(this)
leakyClass.goSomeActivity()
//Some jobs here..
leakyClass.goSomeActivity()
}
/*
* Bad practice: Context-related logic inside inner class that may produce creating/destroying
*/
private inner class InnerClass(private val activity: Activity) {
fun goSomeActivity() {
activity.startActivity(Intent(activity, SomeActivity::class.java))
}
}
/*
* Bad practice: Static variables of inner class
*/
companion object {
private lateinit var leakyClass: InnerClass
}
}
Singletons
The memory leak could happen when we initialize the singleton from the activity and pass a long-lived context-related reference to the singleton constructor when we initialized it. Singleton class will hold a reference to Context after destroying the initial resource.
Try to hold applicationContext() instead, or use Context as a parameter of Singelton methods.
/*
* -> Singletons
* Bad practice: Not application context variable inside Singleton
* Bad practice: Not destroying context inside onDestroy
*/
inner class SingletonClass(var context: Context) {
lateinit var instance: SingletonClass
}
Bitmaps
Inefficient use of Bitmaps without recycling it. Managing Bitmaps may easily throw OutOfMemoryException.
Find out more about memory management for Bitmaps in the official documentation here.
Conclusion
Most of the time we spend on user stories, development, and distribution. That’s why we focus on building features, functionalities, and the UI components of our apps. We forget to focus on the core issue like performance and quality of the app, which is a major part of an application. Try to indicate memory leaks in your application and listen to this simple advice on writing code without unnecessary dependencies and excessive use of resources. Thus, you will certainly be able to protect the application from memory leaks. So to rehash, if you want to avoid memory leak scenarios, you should incorporate in your work these best practices:
Take care of context.
Use common architectures for Android projects, such as Clean, ViewModel, or UseCase Architectures. A clean and structured project is the best way for avoiding most issues. Here is the official architecture guide from Google.
Delegate referencing to DI and inject context-related references.
After being a software tester for more than two years, I’ve gained knowledge and indispensable experience that I wanted to consolidate by getting properly certified. So, at the end of last year, I set a goal to pass the ISTQB Foundation Level certification and successfully obtained my credentials in December 2020.
What is ISTQB foundation level certification
The International Software Testing Qualifications Board offers different levels of software quality assurance certifications. ISTQB Certified Tester is one of the offered standardized qualifications available for Foundation, Advanced, and Expert levels of accreditation.
ISTQB Foundation Level is the first accreditation level that you can obtain by passing an exam. It covers the basis that is required to be certified as a software tester, including both the understanding of theoretical fundamentals and practical knowledge.
The exam is a multiple-choice test that consists of chapters, classified by difficulty (K1, K2, K3). There is a total of 40 questions. The passing grade is 65%, meaning that you are required to answer correctly a minimum of 26 questions to get the qualification. The Foundation Level certification is valid for life so there is no need to retake the exam any time in the future.
How long to study for ISTQB Foundation exam
Speaking about time frames, intense preparation for the certification took me a little bit more than 1 month before the final test. I was spending about 2.5-3 hours a day to study, and that’s counting only weekdays. This is not taking into account the fact that I took a theoretical course at Udemy beforehand.
Resources used for ISTQB exam preparation:
1. Syllabus
Syllabus is the basis of all that you need to know for the ISTQB Foundation Level exam. It consists of general objectives, glossary, learning objectives for different knowledge areas, key concepts, references to sources (literature, standards, etc.). The syllabus is available on the ISTQB official website.
However, the syllabus is not an exhaustive source of knowledge on software testing. It rather gives a comprehensive understanding of concepts and test techniques for all sorts of projects, including Agile. The syllabus discusses different types of software development lifecycles and methods not going into too much detail.
2. Glossary
This source helps a lot with unclear or unknown terms. There are 589 terms sorted alphabetically with definitions, synonyms, references, and versions. There is a Glossary app that you can download to your device or use the web version. You can use the basic search options or use advanced search to set filter criteria and change display options. And there’s an option to generate a pdf report, but you won’t necessarily have any use for it when preparing for the exam.
A tip to pass the exam would be to focus only on those terms which are highlighted before each chapter in the Syllabus.
3. Foundations of Software Testing: ISTQB Certification by Rex Black and others
Practical part of the exam is not explained in the Syllabus. That’s why I was reading Foundations of Software Testing co-authored by Rex Black, Dorothy Graham, and Erik P. W. M. Veenendaal, which expanded more on such topics as test design techniques. But the book is not limited to that only. All of the topics are presented in great detail. If some chapters of the Syllabus are hard to understand, Rex Black and authors do a really good job explaining all that in his book.
4. Udemy course
In addition to the Syllabus and Rex Black’s book, I took the course on Udemy which was roughly 5 hours of audio lectures. As mentioned above, this was the first bit of preparation that I did before diving into intense study. I’d recommend doing the same, as it sets a good foundation for understanding the topics once you start studying them more in depth.
5. Company corporate course or any other ISTQB accredited course
It was much easier for me to study in a group as I had people with whom I could communicate directly and ask questions. It was a big plus having a whole group of QAs to discuss different certification related topics, especially practical tasks. It’s much harder to comprehend the explanations from the book yourself than if a real professional explains it to you in a simple way. This part was very important for me. Many thanks to Maryna Shulga, our ISTQB angel.
6. Sample exam questions with answers
There are 3 sample tests with answers that are similar to the real exam. I advise everyone to look through all of them at least 2-3 days before the certification. These sample exam questions can be found here.
Try to memorize the information, not just passively reread it several times. It is a much more effective way to understand what you’ve learned than rereading. The best way is to reproduce what you’ve learned in small portions.
First learn then test yourself, not vice versa. It is really important to first read the theory on ISTQB accredited sources like the Syllabus on ISTQB website and try to memorize the information and only then take tests. The best option would be to test yourself after each chapter. And only use reliable sources. If you use some online open resources with mock tests, it is not proof of knowledge. Some of them have outdated info and this way you’ll learn things that are no longer accurate. What is even worse is when these tests have the wrong answers, and you’ll learn from these bugged tests which may lead to you failing the exam. If you still want to test yourself with online tests, make sure that the information they provide is reliable.
Take tests right after each learned section. Read the Syllabus (for chapters that are harder to understand, read the previously mentioned Foundations for Software Testing by sections. After each section take a test at the end of the chapter, check how well you know the topic and grade yourself out of 100%. Go back to the questions you know worse and test yourself again until you understand the topic.
Take the full version of the test with a timer. After you have finished all the chapters, test yourself by taking a full exam of 40 sample questions on the ISTQB official website. There are 3 examples of questions to choose from with correct answers and explanations. This not only helps you test your knowledge, but also get familiar with the test itself. The exam sheet will have similar questions and the same format. Here it is important to have enough time, so as not to have problems with any formalities during the exam. Therefore, I would recommend taking all the full versions of the test (40 questions) considering a limited time frame. Train yourself at home to take the exam for strictly 75 minutes (for non-native speakers) or 60 minutes (for native speakers).
On the last day before the certification read the Foundations of Software Testing section 7.2 Taking the Exam and make sure to have a good night’s sleep.
A few more tips on how to pass the exam:
Be sure to test the system before taking the test. On the day before the exam, log in and get acquainted with the system – get used to the interface, pay attention to the navigation, fonts, scrolling, clock, flag colors for different labels. This will cost you less stress on the exam, and you will be able to focus just on answering the questions.
Don’t waste too much time choosing the right answer. Don’t focus too much on the questions – remember that each question costs 1 point no matter if it’s K1 or K3 complexity level. Use the orange flags if you are not sure of the answer, then go back to the same questions later.
Carefully read the task statement. A common mistake during the exam is the lack of attention and desire to answer the question quickly. Therefore, it is crucial to pay attention to what is required in a particular task, namely, to read the task description carefully. Be careful not to confuse such statements as IS and NOT, CORRECT and INCORRECT, TRUE and FALSE, etc. Here banal inattention will cost you 1 point.
Use scratch paper to work out the answers. If you are not sure about the answer, try the exclusion method. Write down on the paper the options you’re sure about and decide logically on the remaining ones. Also, you can write down the task number which you have skipped to answer later. This way you won’t waste time scrolling in the system when you get back to it. And finally, scratch paper is useful as an extra safety measure if for any reason there are problems with the Internet and all your answers in the system disappear. You can simply copy them from the paper.
Conclusion
Speaking about benefits after the certification, I started to use more professional vocabulary at work. Also, it was a great way to solidify all my knowledge and give myself a good confidence boost.
Symphonians find their way to Symphony Solutions in the most peculiar of ways. Some knew they were meant to work in the IT industry ever since they have learned the meaning of the words “IT” and “industry”. Others took a few turns before discovering a true passion for technologies and innovation. Then there are those who might even say that it was their destiny that nudged them in the right direction.
This time, we have talked to Filip Kudron about the trusty path that brought him to Symphony Solutions as a Quality Assurance Engineer residing now in Krakow, Poland. Filip confided in us about what inspires him about his work, what he misses about work in the office, and his fascinating travel stories.
1. You work at Symphony Solutions for 3+ years already. Have there been any surprises on the journey so far?
The only thing that surprised and keeps surprising me is how friendly all the people I’ve met in Symphony are. In every project I joined, we had a great team!
2. Do you remember your very first day in the office?
Yes. Though it was the Rzeszów office. It was my first second job so I felt very intimidated 😀 But I also remember the first day in the new Karaków office! It was amazing 🙂
3. What are some of your fondest Symphony Solutions memories of the past 3 years?
I think all the parties we had before the Covid 😀 Even those I may not completely remember 😉
4. What was your lightbulb moment? When did you decide to become a QA?
I had no such moment. My brother persuaded me to give testing a try and then I was super lucky with all the circumstances that led me to my first QA job. I like joking that it was my destiny because of how things aligned in time. I realized quickly that this job is a natural fit for me.
5. What are some of your biggest motivators and sources for inspiration in your work?
The quality of the software is like a puzzle with many moving pieces for me. Solving this puzzle is a major motivator. For the inspiration part, I think that what inspires me most is all the great people that I work or used to work with.
6. Attention to details is key for you. What do you enjoy the most about your job as a QA?
The feeling when I start to truly understand the software. When it becomes “mine”.
7. You used to live and work in Symphony Solutions Rzeszow office and then you moved to Krakow. What motivated you for this change? What was the most surprising discovery in a new city?
I met someone 😉 And for the surprising part – Kraków has more pubs, but Rzeszów has better pubs 😉
8. It’s a regular deal meeting everyone in the office daily. What’s different about working remotely with your team now?
No coffee break chitchat. And no dinners. All the best things at work gone!
9. What values are important to you in Symphony? How do you experience those values here?
Trust. Especially in our current situation, we need a lot of it 🙂
10. Tell us about your cats. Do they help you in your remote work?
I have only one but she’s a real piece of work! For some reason, her favourite sleeping place is on my keyboard.
11. You like travelling. What’s the most interesting story that happened with you during trips?
It was the most lovely evening. A warm wind from the seaside was gently caressing our faces. We were wandering in a labyrinth of the old town of Bari. Suddenly, a raindrop fell. And a minute later I witnessed the most intensive rain in my life. From a clear evening to a downpour in a matter of a minute.
12. Where do you plan to go when the quarantine is over?
Those plans change daily 😀 There are so many places I’d love to visit. I was considering Greece, Spain, Italy (MORE!), more or less exotic islands. But the more I think about it the more I want to explore the Polish Bieszczady National Park. It’s time to finally discover what my own country has to offer 🙂
13. If not IT, what career path would you pursue?
A cook. Or a baker. Or a farmer. Or a sausage maker. Anything related to producing food.
14. Are there any productivity hacks you use in your daily work and life?
You know what they say, do what you love and you don’t have to hack anything to force yourself to do it 😉
15. Could you recommend some podcasts, books, or anything else that inspires you?
Not anything in particular. But there’s a cool trick – find an event that is organized regularly (like RzeQA, KraQA, TestingCup) and go through their archives. There are tons of videos on various topics. Pick the ones you find most interesting and soak up the knowledge!
16. What do you like to do outside of work? What are your hobbies?
Depending on the mood, I play video games or play guitar/learn music. I also like to chill out in front of a TV from time to time.
Want to learn the essence of Symphony Solutions that are Symphonians? Stay tuned and look out for more interviews in the near future!
But, for now, get to know our Symphonian Oksana Yaroshko and read about her insights here.
But what is a full-stack developer? How are they positioned in a development team? What is the difference between a software engineer and a full-stack developer? Is one better than the other? And how do you become one? The list of questions can go on, but there’s no better way to find out about the ins and outs of the profession than to ask the person doing the job.
We have talked to Dimitrij Subashev, a Software Developer at Symphony Solutions Skopje office, about what becoming a full-stack developer entails, the intricacies and nuances of the job, and his experience in his career journey so far.
1. Hi Dimitrij! Could you please introduce yourself firstly a little bit?
Hello everyone. My name is Dimitrij Subashev and I’ve been a PHP developer for more than 5 years now with overall experience in the IT industry of over seven years. I’m one of the few people that founded the Skopje office. I have been working on many projects here at Symphony as a PHP (back end) developer and I have decided to try what full-stack is all about ?
2. What is a full-stack developer?
For me, it is to be a ninja developer ? Just kidding! But it’s really a person who has excellent knowledge and skills in back-end (server software) and front-end (client software). Let’s look into this a little bit more just to simplify things:
Front end (using JavaScript, jQuery, Angular, Vue, etc.)
Back end (using PHP, ASP, Python, or Node)
And let’s not forget about:
database (using SQL, SQLite, or MongoDB).
Working with full stack has some advantages:
You can provide help to all of the team members
You can reduce the cost of the project
You can make a prototype very rapidly
You can switch between front- and back-end development based on requirements
You can reduce the time used for team communication
and disadvantages:
Being a full-stack developer is increasingly complex
The solution chosen can be unsuitable for the project
And also, it is barely possible to be up to date with all of front-end and back-end innovations.
3. How did you decide that full-stack development is for you?
I didn’t decide that full-stack is for me, I just decided to give it a try, because these days we hear that companies are looking for full-stack developers. So, I told myself let’s see what will happen. I want to see if becoming a full-stack developer is really the top of the iceberg for being a developer. And if it’s really possible to be that good in both areas.
It’s not that I don’t want to become a ninja developer ?
4. What skills helped you when studying?
Well, let’s see. As I’m a back-end developer and I want to become a full-stack (I need to learn some front-end), so in this case, I have some start advantage, unlike a beginner. Also, I have some knowledge in JavaScript, jQuery, HTML, and CSS, so all I need to learn is some front-end framework. Angular, Vue, React… I had in mind one of these.
So basically, every experience that you have or even a beginner’s knowledge that you have can help you in this process.
5. What does a full-stack developer need to know now?
Hmm… This is a tough question. Maybe I won’t answer correctly but things are changing so fast in the IT world ?
What the roles and responsibilities of a full-stack developer will be, largely depends on the project. But if you’re looking for a general go-to list to get you started, according to the internet, these are the skills that you absolutely need to have:
HTML/CSS
JavaScript
Git and GitHub
Back-end languages
Web architecture
HTTP and REST
Database storage
Basic design skills
NPM
Soft skills
And I think this is a short list of skills. The real list will be much longer.
All I can say is that he needs to be really, really, really good in back end and front end. And from what I can tell, this experience comes with years of dedicated and hard work… Ten years of experience and more.
6. What program languages/technologies would you advise to focus on?
Even if you are a full-stack developer, you need to spend a lot of time (and when I say a lot, I mean it) on tracking all the new things that are introduced by those technologies that you are working with.
Everybody suggests using technologies that are working smoothly together. For example, Laravel Vue, Java Angular, React Express, etc. But this does not mean that you can’t combine Laravel Angular. And, of course, you should be aware of the most popular programming languages and what they are.
7. Maybe you can recommend some resources where you study, for example, front-end development or DevOps and Cloud, or other technologies, or tools you used for each one when studying.
There are many ways to learn some new technology. The internet is one big library (or as we developers say, Google knows everything). You can use any other site, especially dedicated ones for these things like Udemy, Pluralsight , or many others (for most of them you need to pay though).
I, for example, use Udemy, YouTube has some free tutorials, and there are a lot of sites that can be found on Google that explain everything step by step. And not to forget that the best way to learn is from an experienced colleague that is willing to transfer his knowledge to you.
8. What to start with?
This is hard to answer because there are a lot of influencing factors here. Does the person have some kind of experience as a developer, is it back-end or front-end, or is he a beginner? If we are talking about beginners, then the first step will be to decide what they want more and what attracts them more, whether it’s front-end or back-end. Whatever they choose, then they need to start with something for beginners and continue gradually to advance. That will be the starting point for them. And if they have some developing experience then it’s much easier for them, they will just start learning the other end that they are missing, whether is it a back-end or front-end.
9. What were the challenges you faced when learning new skills?
There are a lot of challenges in this line of the job as an IT developer. I can’t single out any specific challenge while I’m learning or working but the choice to learn something new is a challenge by itself and it’s not an easy task. You won’t become a ninja overnight ?
By the way, my biggest challenge is free time because family time is very important to me.
10. What advice to become a full-stack developer would you give to those who are starting out on this path?
As I mentioned before, the first step for beginners is to choose either the back-end or front-end and to continue from there on, or if the person has experience with either one, then just start with the beginner’s lessons for the opposite end.
Try it, feel it and you will see how it goes for you. Either you like it or you don’t.
11. Is being a full-stack engineer worth it? Maybe you can express your thoughts on being a full-stack vs half-stack developer?
As I’m not a full-stack developer yet, I can’t answer this question. But on the other hand, if you are a good full-stack developer and you are doing your job right, then I guess you are worth twice as much to the company. In that case, I think, these people are a must.
12. How would you summarize your experience? Any advice?
Ok, finally the end! ? So, as a summary, what can I say more than I haven’t said so far?
Don’t be afraid and try something new. You never know, maybe you will like the new technologies so much that you will change your career path completely, start working in it and never look back.
Or who knows maybe you will be the next full-stack developer.
Whatever you do, do what attracts you and what you like. Never spend time learning something that you don’t like just because someone said that it’s popular now. Now it’s in, tomorrow it’s out, and you are stuck with something that you don’t like. So, know what you want, keep your focus on the goal and upgrade yourself as much as you can.
These are the valuable insights that Dimitrij kindly shared with us. Now we all know a little bit more about how to become a full-stack developer. It’s a process that requires a lot of work and dedication. It takes time. A full-stack developer is a versatile engineer that never stops learning and is involved in all processes in a development team. This is a role not for the light of the heart of feeble-minded. Just like Dmitrij said – it makes you a ninja.
Take it with a grain of salt but one thing is certain. If you set out on this journey, it will be demanding and you’ll never stop working on your own skills and evolving, but the reward at the end will be worth it. Full-stack development is a stimulating and exhilarating lifelong pursuit that opens up a wide range of opportunities. It’s what companies want. And you, as a developer, have all the power to make it what you want it to be, build your own path and maximize your potential.
Just like in one big family, you have the youngsters who are still finding their way around, and the elders, keepers of family history and wisdom, protectors of tradition. Could we say that about Symphony Solutions? Absolutely! Some Symphonians are just now jumping on board, while others have stuck with the company since the early years and watched it grow and evolve into something new and exciting.
We have talked to one of our “elders” Oksana Yaroshko, the Service delivery manager for the OMP project, and asked her to reveal to us the insights that she has gained in almost a decade with the company.
1. Oksana, you work at Symphony Solutions for 9 years already. What surprised you the most about your journey so far?
People. I’m lucky to be surrounded by the best inspirers, teachers and friends. At the same time, I’m always impressed with how my colleagues grow, open up and find their own way in this journey.
2. Do you still remember your first day?
Of course, I do! In the streets, it was one of the coldest winter days, but in the office, it was certainly one of the warmest! I remember how Oleksandr, our team lead at that time, introduced me to the team and showed me my working place – the best one in the office, as it seemed to me 🙂
3. When did you first decide that you wanted to be a developer? Was it a lightbulb moment?
Back at university, I never considered becoming a developer. But when almost all my course mates jumped into the IT world, I decided that it’s time for me to try as well. By coincidence, at that time Symphony recruiter “found” me, and from that moment on I never doubted that I belong here.
4. You have started your career at the company as a software developer and now you’re leading the whole team as Service Delivery Manager. Was it something you intended from the beginning? What did you learn through that path?
No, I didn’t have a plan to become a manager. I always liked the developer’s job, solving architectural riddles, building elegant solutions. At the same time, I was curious and quite courageous to gradually take over some more responsibilities, to help my team until a point when I felt personal responsibility for protecting my team and ensuring favorable environment for them. One of the things which I’ve learned is to be true to myself and people around me.
5. After being with Symphony Solutions for so long, can you tell how the company has changed since you joined?
First of all, it expanded a lot – from only 50 people to the current size. The company became stronger, recognizable, more dynamic and modern.
6. What’s your favorite part of the job? What do you enjoy about your job as a developer the most?
Favorite is the everyday-morning part. Saying “Hi” to everyone, sharing smiles, planning the day. Jokes apart, as a developer, I love the creation part. When your n lines of code (just letters and numbers, right?) create the magic of making a new feature work.
7. You’re a developer and team leader, which is a heap of responsibilities. What are your biggest motivators at work?
As you might guess, it’s my team. Seeing people laughing, feeling that they are motivated and happy. It’s also reaching some common goals as the team and OMP company when our commitments work out and we see the result of our work.
8. We also know that you’re teaching at the Ivan Franko National University of Lviv. Do you share any of your work experiences with your students? What is their response?
When I was a student myself, I always liked when our teachers, IT gurus, were sharing their experience, their not-written-live-knowledge. I try to bring the same to my students. However, as these are just first-year students, I think that scares them more than inspires.
9. After almost an entire decade with the company, you probably have so many stories to tell. What are some of your fondest Symphony Solutions memories of the past 9 years?
At OMP project we have the luxury to go on business trips to Belgium. But what happened in Belgium stays in Belgium 🙂
10. To you, what are Symphony’s most meaningful traditions? Which one is your favorite? Do you have any special traditions in your team?
I think, my most favorite tradition at Symphony is the Christmas party. This is a very special event, very bright and memorable. As for our team, we have a nice tradition of celebrating the birthdays, when the team prepares a present and the culprit of the holiday brings a cake (well, the cake part was in before-quarantine era). This is always fun, but sometimes not easy when there are 5 birthdays (and thus 5 cakes) in a row 🙂
11. What does your team mean to you? Would you agree with a saying that your team is like your second family?
I think it’s not second – it is an extension to my family because my parents hear me talking so much about my team, that those 30 folks can take ‘Yaroshko’ as their second surname. Seriously, the team means a lot to me. They are my smile and my headache, my main motivation and pride.
12. “Find people who share your values, and you’ll conquer the world together,” said John Ratzenberger. What values are important to you in Symphony? (How do you experience those values here?)
In my opinion, the key value is trust. When people can rely on each other, help and support each other. When they can share the feedback in an open and respectful way, find the way to grow and overcome difficulties.
13. Finding a balance helps you keep going and take on everyday challenges. How do you keep a work-life balance?
I’m afraid, I’m not the one to provide a recipe for balance. It’s important to leave work at work and find time to focus on your family, friends and yourself. Luckily, I live close to the forest, so walking in the fresh air is one of the simplest things I can do to recharge my batteries.
14. Let’s talk inspiration! What are some podcasts, books, or movies you swear by?
I find inspiration rather in travels – discovering cultures and people. But there is actually a very strong movie Karol. A Man Who Became Pope. It talks about love and hope in desperate times, it reveals some kind of light in the soul.
15. What are your hobbies? Besides teaching at university.
I’m fond of the mountains – hiking in the Carpathians is one love. Then, come winter and it’s the skiing season! I like sports – doing and watching. Travels, photography, simple walks in nature with my dog and friends.
16. If you weren’t in IT, who would you become?
Maybe, a journalist. Or a cartoon artist. Or a pastry cook.
17. Would you mind sharing with us your life motto or principles?
I don’t have a specific motto. I just love life and love people.
Want to learn the essence of Symphony Solutions that are Symphonians? Stay tuned and look out for more interviews in the near future!
But, for now, get to know our Symphonian Oleg Chekan and read about his insights here.
Symphony Solutions strives to build a strong narrative of professionalism, agility and innovation. The driving force for that are Symphony people who form the core of the company, reflecting its distinct culture and strong values.
Oleg Chekan, Head of technical Pre-sale and Service Delivery Manager at Symphony Krakow office, started his professional path well over a decade ago. Having come a long way, from a QA to SDM, Oleg brought his invaluable insights and experience to Symphony Solutions in 2018, since then becoming an integral part of the company.
We have asked Oleg to share with us a few thoughts on his vast background in the IT industry, moving from Belarus to Krakow, tips on adapting to remote work, and even his newly found passion for playing the piano.
1. After so many years in the industry, is it hard to find motivation in your work?
Not at all. When you are constantly learning new things and trying different roles, there’s not much time to stagnate. Here at Symphony, my main motivators are Machine Learning and hands-on work.
2. Now that you’re the Head of Technical pre-sales, what do you enjoy the most about your job?
Ability to learn about different business domains and their needs. Getting acquainted with different technologies.
3. You moved to Krakow from Belarus a few years ago. What was the most surprising discovery in Poland?
Pirogi Russkie are not the same as Pil’meni.
4. With the recent changes in the world, have you noticed an impact on your life and work?
Not that much in terms of work, as I had a remote team a year before Covid and already got used to WFH. There was an impact on our personal life though, as we were not able to travel much and visit our parents in Belarus.
A year into the lockdown, I can say that I definitely want one more room in my apartment, but I can’t do anything about it 🙂
And I have started to use online shopping much more frequently.
5. People usually find it not easy to keep a work-life balance. How do you manage to do that?
In the context of WFH, my go-to three tips would be:
Having a dedicated room/space for work
Dedicated hours for work with fixed start and end time
Spending time with family during the breaks
6. At last week’s Online Corporate party, you amazed everyone when you performed a piece of music on the piano. What was that piece and how long do you play?
That was Claude Debussy’s Clair de Lune.
I’ve decided to start learning piano 1 year ago, since we already had lessons organized for my son, who started 1.5 years ago. I’ve decided to join to challenge him a bit. I’ve actually studied at a music school when I was a kid, I was playing button accordion. (I still have a photo with the accordion somewhere).
I’m playing a mixture of classics like Vivaldi, Liszt, Debussy, Tchaikovsky, and contemporary music (AC/DC, OST from Witcher, Movies/Anime, etc.).
7. Coming from your vast professional experience, what would you say is important to grow as an expert?
Never stop learning new things. Go out of your comfort zone and do something that you are not used to doing.
8. Are there any podcasts, books, or inspirations you swear by?
I would recommend Gerald Weinberg’s books An Introduction to General Systems Thinking and Becoming a Technical Leader. As for more of a “light” read, I’d say The Power of Full Engagement by James E. Loehr and Tony Schwartz.
9. What will be your next country after the quarantine is over?
Belarus, Austria, Croatia.
10. If you weren’t in IT, what career and/or life path would you pursue?
A chief cook in a family restaurant, perhaps.
Want to learn the essence of Symphony Solutions that are Symphonians? Stay tuned and look out for more interviews in the near future!
But, for now, get to know our Symphonian Aleksandar Gacevski and read about his insights here.
Symphonians come in all shapes and forms, and Symphony Solutions prouds itself on having gathered a strong team of talented and goal-driven people, many of them residing in the Skopje office.
Sanja Jovanovikj, Front End Developer at Symphony Solutions, has been a Symphonian for close to five years already. In this time, she became a valuable and respectable team player in the company and an active participant of the SHE. community having spoken about defying gender stereotypes in the IT industry.
Taking the opportunity to speak about her time at Symphony Solutions, Sanja answered some questions about her experience, how she got into software development, working remotely, productivity hacks, and even some book recommendations.
1. What was your lightbulb moment? When did it click in your head that you wanted to be a developer?
I was interested in technology since I was a little kid, so when it came time to think where I will continue my education after high school, it was an easy choice to make. Using the Internet without knowing how the websites and programs were made, was the lightbulb.
2. What do you enjoy about your job as a developer the most? What are the highlights of your career at Symphony so far?
Every project is a story of itself, with every new task, one grows both, personally and professionally. Every project that will see the light of day is a success. So, every Symphony project in my CV grew my creativity and highlighted the potential I have.
3. What motivates you at work?
First of all, the awesome people I am surrounded by, the team spirit that we are building together and the cozy atmosphere that we have in our Dutch styled office.
4. How did you grow inside the company after coming here 5 years ago?
Grew up as a person, not just as a developer. Learnt to work with a lot of different types of characters which developed my soft skills, skills that Symphony values in each one of us. The variety of different cultures, approaches and mindsets helped me become more professional.
5. What’s different about working here than anywhere else you’ve worked? What makes Symphony Solutions different from other companies?
Symphony is more than a company, it is a family, way of life, way of working. Nobody cares more for their employees than Symphony does. And the greatest benefit of all is the trust we gain between us, and the clients.
6. What are your professional and career plans?
One day I will be a team lead of a huge team, running a project on a long-term basis!
7. Is Symphony like a second home to you? How do you keep work-life balance?
Yes, it is! I would not be at Symphony for almost 5 years now if it was not. I keep my work-life balance by switching off from the tasks I have at work after the working hours and devote completely to myself, my family, and friends.
8. What do you think are Symphony’s most meaningful traditions?
It is almost the New Year, the happiest time of the year, so I love when we all decorate the office in order to feel the Christmas spirit and wish the best for ourselves and others in the office. I personally love all of the events because those bring us together more.
9. What values are important to you in Symphony? How do you experience those values here?
Honesty! I appreciate that the most. I prefer ugly truth before fake smiles. Intimacy as well, since I feel about Symphony as my second home, which means that my colleagues are like family to me.
10. What are your hobbies?
A lot of things. I like riding a bike, but most of all I love to go fishing. It calms me being out there in the nature, near water. Reading books also. Verity is the name of the last book I read and I strongly recommend it.
11. With the recent changes in the world, how did it impact your life and work?
Lockdown was hard for all of us. You cannot travel, you are in constant fear for your health and wellbeing, our jobs were in danger also, in one word, very unstable period. It changed the way I look at life itself. I cherish every day and all the little things that are coming with it much more, the freedom that we had and will have I hope in the near future again.
12. What’s special about working remotely with your team? How do you like the hybrid model of working and Symphony Anywhere?
Working remotely brought us even closer as a team and friends, and I think that the opportunity to work from wherever is awesome, but still, I love the coziness of the office.
13. What are your productivity hacks?
Clean desk, the most important one, and some peace and quiet. A bottle of water on the desk is a MUST ?
14. Are there any podcasts, books, or inspirations you swear by?
Yes, the book You Don’t Know JS Yet. Never stop learning!
15. What is the best advice someone has given you?
It always seems impossible until it is done! In other words, there is a solution to every problem.
16. If you weren’t in IT, who would you become?
No matter the IT, I still want to run a restaurant on my own one day: ) So, the answer would be – A Chef ?
Want to learn the essence of Symphony Solutions that are Symphonians? Stay tuned and look out for more interviews in the near future! But, for now, get to know our Symphonian Aleksandar Gacevski and read about his insights here.
Symphony Solutions welcomes a plethora of diverse people in its family, from different locations, of various backgrounds, with peculiar interests. What brings them all together are the shared values and a high level of professionalism.
Aleksandar Gacevski joined Symphony Solutions Skopje office earlier this year and took on the role of an Info Security Officer. However, over the course of the year, he brought so much more to the company. Aleksandar stood on guard of our security performing his duties as the Infosecurity manager. He shared with us his passion for paragliding, being a long-time member of the Macedonian national paragliding team, a world cup pilot, and the owner of his own paragliding school.
A year comes to an end since Aleksandar Gacevski joined Symphony Solutions. On the occasion, he answered some questions about his experience working for the company so far, his achievements and career plans, tips on handling stress, and so much more.
1. What motivates you in your work? What do you enjoy about working at Symphony Solutions?
The pillars established within Symphony were the perfect match for me, especially the TRUST. Trust = Freedom = Responsibility.
2. What achievements in your work are you most proud of? Why?
When I am able to coordinate lots of people and at the end to have a positive outcome for all of them.
3. What do you enjoy about your job as an Infosecurity Manager the most?
I enjoy the given opportunity to level up Symphony Solutions in a way that everyone (Symphonians, partners, clients…) will have the feeling that they are in a healthy organization.
4. What are your professional and career plans?
To establish standards of proper information security and data protection management.
5. How has the company changed since you joined?
Well, to be honest, I have arrived just before the COVID-19 and at the beginning it was a bit stressy for me.
Fortunately, the colleagues, my team, the coziness of the offices, made me feel good and confident at all times.
Now I am sure that we will become stronger in every single area.
6. What are your hobbies?
I have a few hobbies and all of them have something to do with outdoor activities. My number one hobby is paragliding. I started flying in 2000 and, since then, I have attended many world cups and European championships as a part of the national team.
For me, paragliding is a sport that if done wholeheartedly has the power to completely transform your personality and character by guiding you to take responsible actions, to bring brave decisions, and to learn when to be patient and when to do it as fast as possible.
During summertime, I am sharing my passion by performing paragliding tandem flights with people whose dream is to fly.
7. How do you keep work-life balance?
Easy. I am grateful for having the opportunity to be able to postpone my job activities (of course in nothing urgent) and go out to do some sport activity.
Flexible working hours is what I enjoy because sometimes I am more productive during the evenings.
8. How do you handle stress?
By hanging out in nature and spending some quality time with my family and with people who give off positive vibes.
9. With the recent changes in the world, how did it impact your life and work? What has changed for you personally?
You know… You can see your reflection only in still waters… Since we are in a constant rush, maybe this crazy time was the right one to escape from the loop we are all in.
Probably, this was the best time for me to fully reset myself, to slow down and to re-prioritize life.
10. Your tips and tricks for remote work?
Create a cozy working area where you will be able to stay productive and efficient. Sometimes a midday activity like a short run or a hike might be useful to refresh the mind.
11. What is more important to grow as an expert?
Just not pushing it too hard in my opinion is the best approach. Learn new stuff, learn new technologies, stay busy, keep your will power at high levels, commute a lot and do not force yourself too much.
12. What do you value the most about Symphony Solutions?
Culture, flexible working hours, open-mindedness when it comes to implementing changes.
14. What will be your next country after the quarantine is over?
Definitely Italy!
15. If you weren’t in IT, who would you become?
Ski instructor ?
Want to learn the essence of Symphony Solutions that are the people? Get to know our Symphonian Sanja Jovanovikj here. Stay tuned as more interviews are to come in the near future!