Category Archives: Blog

Expert Network joined Pangea as part of the global software engineering community

Expert Network joined Pangea as part of the global software engineering community

Iasi, Romania, February 2023: We are happy to announce that Expert Network has joined the Pangea.ai community of elite vendors. This partnership will contribute to our mission of designing and delivering software solutions that will drive our partners’ success stories.

This year, we are honored to have made an essential step forward toward belonging to a first-class universe of vendors, through Pangea. We are now part of the top 7% of global software engineering vendors within this organization.

Together with Pangea, we’ll make dreams happen.

Why did we decide to go through the verification process with Pangea?

Pangea.ai felt like a good fit because it is a self-service marketplace that aids with the discovery, comparison, and engagement of a vetted universe of software development vendors, trusted by leading brands and startups. 

We pursue long-lasting partnerships and we were looking for a place that would open doors for us so that we could help organizations with their tech pains, enabling them to achieve their full potential in their business.

Additionally, one of our ideologies is growth, thinking ahead, and looking for long-lasting and strong collaborations, and Pangea seemed like the right fit.

In order to join them, we had to go through an in-depth verification process that aims to render transparency and a clear understanding of what each organization has to offer to the community.

How was the verification process?

To successfully complete the in-depth process that covered various areas of our business, we included input from our leadership team and views and perspectives from our other team members.

We also covered aspects like our company’s culture, vision, and approach to work. We wanted to offer the community a chance to truly get the Experts, what we stand for, and how we work because we believe that the 18+ years of experience have polished our expertise and approach to business.

Bonding and having fun during our pool party at the office in Iasi, Romania.

As a result, we were quite pleased with the scores we got for various segments of our verification process. For example, our team health score was 8.5 instead of 8.2, the average team health score in the Pangea community.

Also, our average customer journey score was 9.0 while the Pangea community client score has been 8.6. These results are a testament to our teams, that we deliver our best together, and we are committed and keen to leave our mark on our projects to progress:

“The impact of change and how to accept and adapt to it quickly is an essential lesson. From business views to transitioning to new tech, I see change as progress. When working on a new product, there are challenges, ups, and downs. However, the commitment and the support of each team member help us thrive and find the ideal solution. Demanding moments become opportunities for growth and for expanding our perspective and knowledge. Every day I feel inspired by my colleagues, their passion, and how by putting our minds together, we come up with innovative ideas.”
Gabriela, Expert Networks’ Product Owner

What did we achieve and learn during the verification process?

Becoming Pangea-approved has meant that our teams came together and reflected on what it means to be an Expert, what drives them, and how important it is to feel you belong in a company that sees and values you. The surveys made us aware of our fortes and where there’s more room for improvement. 

In a way, we believe that this process brought us closer to each other and more confident in our abilities and top-notch skills, which the Pangea community will enjoy alongside us.

After completing the onboarding process, we are convinced that this partnership is a step forward towards attracting the best talent, working with clients who are a cultural fit, and helping upgrade their business to achieve a competitive advantage.

Share this article on

Be part of our team

Want to see more about how it is to work with us? Visit our careers page

What 18 years of Expert Network mean to us

What 18 years of Expert Network mean to us

We’re coming of age!

Yes, we’ve reached our 18 years anniversary and all kinds of feelings are surrounding this milestone. From the founders who remember the shy and uncomplicated beginning, with just three people, to the 100+ Experts who shape the identity of Expert Network today.

In this anniversary article, we’ll share some facts from before & now, and also what our birthday means to us. To make things more interesting, we’ve asked some of our colleagues to answer a few questions for our anniversary. If you’re curious to find out what they said, take a few minutes and relax by reading today’s blog. 

Before & now

Do you know where our company first started?

In a three-bedroom apartment, where the 3 founders rented a room and worked while the client sat behind them.

And now?

We have our own modern campus with a pool in the backyard. We have and purchased constructed two buildings and another one is in development.

Did you know we started with 1 small project?

But now:

  • We have more than 120 delivered projects.
  • There are more than 10 teams working in an Agile way, using Scrum.
  • We are organized into 7 disciplines: .NET, PHP, PO, QA, Mobile, Front-End, UI/UX.
  • We’ve organized 9 editions of .NET internships and 6 editions of QA internships.
  • We work Agile following DevOps principles.
  • We also employ a Team-as-a-Service (Taas) business model.

Q&A with our Experts

As you can see, a lot of things have changed. From the physical space, and the technologies used, to the number of people that are part of Expert Network. Furthermore, we’ve asked a few Experts to answer three questions about our company and how they’ve experienced this journey throughout the years.

1. Share an impactful moment with the company.

“In 2010, when I joined Expert Network as a junior, I had little knowledge about how the web worked and how to build apps. Even if ASP.NET Webforms were still the standard at the time, the framework was cumbersome and not intuitive enough. However, my first “aha!” moment came in 2011 when ASP.NET MVC 3.0 was released. We started working on new projects and I finally understood how the web and HTTP truly worked. After that, developing web applications became increasingly intuitive and actually a lot of fun. After all this time, the best part is that this pattern has continued throughout my career as an Expert. Every step of the way I’ve been exposed to new learning and personal development opportunities. And we’ve had the freedom, incentive, and the opportunity to always go for the latest framework or technology that would allow us to grow as technical people and deliver top products to our clients.” Liviu, Solutions Architect & Delivery Lead

There have been many significant moments for me. One of them would be my first discussion with Vlad, our CEO, and Frederic, Wildstream’s Founder. It was an essential conversation because I was asked to build the QA discipline at the time, and we also talked about a long-term plan moving forward, challenges, and more. This conversation was a stepping stone that determined the roles I would later undertake, leading to good choices and prosperity for the company. Alex, Business Development Manager

“It’s been 13 years since I first started working here, and I’ll always be grateful that from a dev position, I had the opportunity to move through several positions, roles, and challenges and work for different customers, in the end, being able to follow my goals. Even more so, I am happy that I was able to leave a mark, contributing to building and continuously improving the discipline together with my PO colleagues.” Vlad, PO & Discipline Lead

2. What do you think makes Expert Network what it is today?

“People x Tech skills x Delivery Process = Success (for us and for our customers).

I believe this to be our success formula. By this, I don’t mean that we are simply nice people that are technically good or that can manage a process in place. We are all of these combined, which determine our unique culture.” Ruxandra, HR Manager.

“Two aspects contribute to who we are today. The first one is our ability to keep a long-term core of people who collaborate, and share the same experiences and hobbies, while also going through pleasant and difficult moments together. And for the new colleagues, we provide the needed support to help them develop and actively be involved in our community, driven by growth. And the second one is that we offer our clients more than outsourcing, or certain technical solutions. We offer them a delivery model that has a major impact on the client’s key activities.” Iulian, Dev Lead

“Expert Network means people and not a company per se. I have access to the latest tech, my colleagues are open to everything new and it makes me feel supported to develop. When each of us is supported to grow personally and professionally, so does the company. This way, our business value grows and we continue to expand.” Catalin, PHP Discipline Lead

The best part about working here is that I have the freedom, incentive, and opportunity to always go for the latest framework or technology because it allows me, us, to grow as technical people and deliver top products to our clients. Developing web applications is increasingly intuitive and actually a lot of fun. And this pattern has extended to development methodologies, processes, and roles that were needed in order to cater to the growth of EXN. And every step of the way brought, for me, new learning and personal development opportunities. That is why I consider myself lucky to be part of Expert Network from its early beginnings, having gone through all of the changes of a growing company.Liviu, Solutions Architect & Delivery Lead 

“Expert Network equals people. The reason we are so connected and committed to the same goals is that we share common values and qualities: we are like-minded, highly skilled, fun, and playful. Additionally, another impactful aspect is our flat organization which opens up opportunities for us to grow and explore our skillset. And when you top everything with the idea that you are listened to, that you have a voice, and you are supported in your initiatives, you begin to grow and have an impact.” Alex, Business Development Manager

3. What does Expert Network’s 18 years anniversary mean to you?

“18 years come packed with an awesome team, many socializing and fun opportunities, as well as growth and an environment that supports you. I am happy that I work in a mature, medium-sized company that has continuity. I think these years have contributed to the fact that it’s easy to be seen and to assert yourself. Good ideas are taken into account and promoted, as long as you commit and take ownership of them. It truly is an enjoyable place to be a part of.” Catalin, PHP Discipline Lead

“A company with 18 years of experience means stability, adaptability, and balance. It’s no walk in the park to consistently evolve in the IT sector, in Iasi. And Expert Network is advancing in the right direction: we have increased the number of employees, we are trying to form a campus with the purchase of the new building, and we are developing our organizational culture.” Iulian, Dev Lead

“Expert Network = 100+ meaning all of us that work here. And I want to talk about what my colleagues mean to me. Since I started working here, my teammates have been my comrades. They are the people I’ve worked with, built a discipline, and disagreed with. Colleagues that became friends or family, with whom I’ve spent nights working on releases, or people I’ve spent time in the attic trying to power up a server on a Sunday afternoon. Colleagues that shared their happiness and defeats, together we are the core of Expert Network and part of the 18 years journey. Vlad, PO & Discipline Lead

Share this article on

Be part of our team

Want to see more about how it is to work with us? Visit our careers page

Native vs. Cross-Platform Mobile App Development: Our switch to Cross-Platform

Native vs. Cross-Platform Mobile App Development: Our switch to Cross-Platform

Smartphone usage and ownership has grown rapidly over the years. As of 2022, 6.64 Billion people (approximately 83.72% of the population) across the globe have smartphones. Business owners and entrepreneurs are quickly realizing that, as a result of this growth, mobile touchpoints have increasingly become one of the most effective channels to reach and engage customers.

The global mobile application market has marked its presence in the digital world, achieving an unparalleled CAGR of around 14.3% and is expected to reach $100 Billion by the end of 2022. Although there are currently 4.4 Million mobile applications available on both the iOS App Store and Google Play Store, further growth is expected as more and more businesses focus on developing mobile applications.

Those who are keen to launch their own mobile application will inevitably stumble upon a choice: Should I choose native or cross-platform mobile development?

Native and cross-platform application development has been a popular point of debate amongst developers for many years. How do they differ? What are the reasons behind our switch to cross-platform frameworks?

Native application development

Native applications are built exclusively for a single platform (iOS, Android or Windows). When building a native app, developers use the particular frameworks, tools and programming languages specifically required for the chosen platform. For example, most native iOS apps use Swift as a programming language, but a native Android app would use Kotlin.

Advantages of native applications:

  • High performance and speed – Since native apps are developed with specific platform requirements and have direct access to the hardware installed on a device (such as memory, camera, sensors, GPS, etc.), they deliver better performance and run faster.
  • Seamless UI/UX – Platform specific UI standards and guidelines result in seamless and more creative UX.
  • Broad functionality – Developers have access to every API and tool provided by the platform.
  • Stable maintenance and updates – Better store support as developers have direct access to all the latest features, interface elements, software development kits (SDKs), and other updated development tools.
  • Stronger security – More tailored and robust security features are available, and updating security measures is quick.

Disadvantages of native applications:

  • High cost – If you want to launch the same app for different platforms (e.g. both iOS and Android), you’ll need separate teams working on each platform.
  • Time consuming – The work done for one platform cannot be duplicated for another, so it doubles the work for initial app development and future maintenance if you launch the same app for different platforms.
  • No code reusability – Coding is done independently for separate native applications, so you can’t reuse code from one platform to another.

Cross-platform application development

Cross-platform applications are built to work on multiple platforms. For example, developers can use tools like React Native, Flutter or Apache Cordova to create apps that can be deployed on both iOS and Android.

Advantages of cross-platform applications:

  • Lower cost – You only need one team to create a cross-platform app and there’s less expenses when it comes to maintenance.
  • Faster development and time-to-market – Only a single cycle of development is needed to create an app that runs on multiple platforms.
  • Code reusability – Since the app is created with a single cross-platform development tool, only a single code base is created.
  • Greater exposure – Since they can run on multiple platforms, a larger number of users can use it.
  • Easier testing and quicker updating – It’s easier to test an idea or prototype and catch bugs, and quicker to implement updates.

Disadvantages of cross-platform applications:

  • Runs slower – The need for additional abstraction layers and rendering processes makes the cross-platform app slower.
  • Limited functionality and support – Third-party libraries or SDKs may not support all cross-platform app development frameworks and developers may have difficulty accessing smartphone functionalities (like the microphone, camera and GPS) in ways possible for a native app.
  • Limited UX – Some native UX components will be out of reach so it won’t be able to deliver the same UX experience.

Native vs cross-platform application development

When it comes down to deciding between native and cross-platform applications, it does depend on your requirements.

If you aren’t in a rush to launch an application, have the resources, and need to build an application with complex and unique features (VR, Animations, built-in games, etc.) that require superior speed, performance, visuals, and user experience, then go native.

Choose cross-platform if you have a short time-to-market deadline, a smaller budget, are looking to test or prototype an idea, or need to reach a broader customer base.

Our switch to cross-platform frameworks

The brilliant thing about technology is that it advances continuously. Until a few years ago, native application development was the only choice for companies that depended on mobile applications as a business tool.

Although they are not all created equal, several mature and competitive cross-platform frameworks exist in the market today. These superior frameworks are the tools that developers use to easily merge non-native code with platform-specific functionality (for example, developing Android and iOS applications from a single source code), which makes the mobile application development process simple.

At Expert Network, we’ve done our fair share of native development for modules of apps, which could be independently built, tested, and debugged. These were designed for various functionalities (such as reading identity cards or GPS modules) and one such notable project is Rent A Car. However, we’ve made the switch to cross-platform frameworks after extensive research, learning from previous projects, and experiencing benefits.

Cross-platform frameworks such as React Native have a well-established community, offer improved user experience, allow bigger teams, are flexible and safer. At Expert Network, we build applications with a defensive programming approach, which makes our apps robust and enables fast recovery. Although cross-platform apps are generally known to encounter more errors and bugs, our defensive programming approach allows us to implement fast recovery plans and ensures that applications run with no problems even if the code is more tedious to write. Furthermore, despite cross-platform apps’ reputation for inferior UX, we hold internal training sessions and tutorials so each of our developers are skilled enough to deliver user experiences that undoubtedly rival native applications.

Share this article on

Be part of our team

Discover how it is to work with us. Visit our Careers page.

Why We’ve been Focusing on a Growth Mindset

Why We’ve been Focusing on a Growth Mindset

Ever since the lines between work and personal life have been blurred due to the pandemic, we’ve had to meet the challenges ahead and take into account its impact on our colleagues. After all, without our people, their well-being, and happiness, Expert Network wouldn’t be what it is today.

It became certain that navigating global uncertainty, fears, and restrictions wouldn’t be easy for anyone. Without a second thought, we started investigating to identify the matters that were within our power to improve, at least in the professional environment.

Our solutions?

To focus on and draw attention to well-being and personal growth. We began creating a context for our colleagues to connect, discover, and interact with new concepts and approaches, all to enrich their outlook on life.

In today’s blog post, we’ll share how we redefined well-being, focusing on a growth mindset. What actions did we take and what changes have they brought forward? If you’re curious to learn more about our journey, take a few minutes and enjoy the read.

Our research and plan:

At the start of 2021, our HR team began their research to identify an appropriate approach that would help our colleagues to navigate the demands of the new context on top of their regular workload more easily. The first step was to understand our colleagues’ reality: their needs, struggles, and how to come to their aid.

For example, in the IT sector, the nature of tech roles requires deep focus, where a software engineer needs to stay productive and concentrated on a task for long hours. This makes it difficult for them to make time to focus on self-management or self-knowledge methods to maintain their energy levels and overall well-being.

However, even if we were to do the research and identify solutions, we’d still need to provide an action plan and topics that would really benefit our colleagues and spark their interest. As such, we understood the importance of continued support and guidance if we were to trigger their development.

As a result, three initiatives were introduced: internal training sessions on personal development and well-being, nudges, and short weekly presentations during company meetings.

1. Internal training sessions

In the past few years, we’ve been more focused on a growth mindset – which is also the basis of our approach to high-performance software delivery. This meant creating opportunities for learning and development, more precisely, soft skills and personal development. By introducing these internal sessions, we aimed to educate, inform and eliminate misconceptions regarding various concepts. Ultimately, we wanted to equip our teams with useful information and instruments that would enable them to be more balanced, productive, and at ease.

By planning training sessions on time management or how to efficiently deliver feedback, we offered them the chance to explore these approaches. More precisely, how they can help to simplify things, the impact they have, and how to create a context for colleagues to apply the knowledge they learned.

Based on our colleagues’ needs, we put together 7 topics on personal development and well-being, which we organized into 2–3 hour sessions. Additionally, colleagues were given the choice to select training topics that resonated most with them and we adapted the schedules so they could make the most of the experience.

However, after the first sessions, Sabina, our HR Generalist, made an important observation. The sessions alone wouldn’t be enough to enable behavioral change, as information by itself can be easily forgotten. But, inspired by the Nudge Theory developed by Richard Thaler and Cass Sunstein, Sabina saw the solution to forgetfulness: nudges.

2. Nudges

The introduction of our Expert Nudges seemed logical and natural. Sabina explains:
“I became curious to delve into the subject and look for the basis, the theory behind this approach. I consulted other books and research to fill in the missing information about nudge theory.”

But what is a nudge?
According to Behavioural Design, “A nudge is any small feature in the environment that attracts our attention and alters our behaviour.” If you understand how people think, you can design choice environments that make it easier for them to select what is best for themselves. In other words, a nudge is created to help people make positive choices in their work and life.

Many theories have revealed that we learn more (and retain it better) when we study in short focused bursts rather than when we’re forced to sit through hour-long classes. So Sabina’s goal was to identify how nudges can be best used for our organization and how to structure the information so that it truly offers real value as well as quick and impactful advice for our colleagues.

Sabina began by prioritizing the things that were easiest to implement either on the spot or on that day based on previously held training sessions. For example, based on the topic of Emotional Intelligence, she created 4 nudges that were sent weekly to refresh everyone’s memory with different actions that could be implemented for healthier behavior.3. Let’s Connect Presentation

The third initiative to support our approach was Sabina’s short presentations during our weekly internal meetings. This initiative was also a request from within our teams, to expand their general knowledge. She introduces a topic on well-being or personal development and she explains the importance, benefits, and how to apply it to our lives.

“These presentations are complementary to our internal training sessions and are easier to digest and implement. This is because I introduce and explain less content, it has a weekly frequency, and it offers colleagues the opportunity to dive deeper into a subject. And if they want, they can access the links provided at the end.”

Sabina creates a slide on our meeting presentation where she explains the novel concept. She then engages colleagues to ask questions and share their opinions, making sure the information discussed is clear.

The results

Since these initiatives have been implemented, changes have started to happen:

  • By communicating online (and soon face-to-face), we had the chance to interact with and get to know each other better, which has sparked beautiful conversations.
  • Many colleagues began using certain techniques to increase their productivity.
  • Other colleagues discovered new concepts, explored them in-depth, and then shared useful information with others.
  • Other colleagues voiced the need to continue internal training sessions with other topics, demonstrating their openness to exploring new ideas and approaches.
  • Nudges have been considered for technical training as well, and are currently part of a work-in-progress project at the discipline level.
  • Many colleagues reported that they enjoyed the initiatives. They did their best to implement the recommended actions and mentioned that it’s “good to have nuggets of knowledge” presented weekly.

At Expert Network, the well-being and personal growth of our people have become important. The introduction of internal training sessions, nudges, and short weekly presentations has successfully drawn more attention towards these aspects. As of now, our colleagues have begun experiencing better relations amongst colleagues, open mindsets and further interest in new approaches. We aim to continuously provide our people with the support and guidance they need to enrich their well-being and growth.

Share this article on

Let’s Connect

Did you enjoy taking a peek into our approach? Join us.

17 Questions for 17 Years of Expert Network

17 Questions for 17 Years of Expert Network

“The secret of change is to focus all your energy not on fighting the old but on building the new.” (Socrates)

For our anniversary this year, we’ve decided to ask Vlad, our CEO, how Expert Network has changed over the years. We thought it would be best for you to hear about our transformation, right from the main source.

And what better way to do it if not through a Q&A, where Vlad answered 17 questions, asked by our colleagues, about the company’s beginning, his vision then and now, plus other interesting facts.

So sit down, enjoy a cup of coffee or tea, and read through Expert Network’s history.

 

1. How did you come up with the idea for Expert Network?

I have always been a curious person that enjoys exploring new opportunities and connecting with people that I can learn from, to expand my perspective. And the idea for the company was rather spontaneous because I didn’t plan it. An opportunity arose, to work on an ERP for an Italian client, and from there, things evolved naturally.

2. How did EXN look like in 2004 when it all started?

The beginning was very modest, like all startups. Myself, Andrei (our current InfoSec Manager), and Traian (a developer friend) rented a plain room in an apartment. We’ve put three desks for us to work from, and in the other room of the apartment, a Java company also had its ‘headquarters’. So it was nothing sophisticated or polished. Our focus was just to deliver the tech solutions for our client.

3. What were your biggest fears back then?

Back then we didn’t think in terms of fear, but in terms of productivity – Let’s build something worthy and useful that will actually help our client. What made me worry was not to fail the only client we had. We needed to make his business work, and meet his needs, because this way, it showed our capabilities and the added value we were able to bring.

4. How did you stay motivated to expand the business?

Back then, I was not inclined towards thinking strategically about the future. The focus was on delivering quality, achieving the client’s requirements. This came naturally because I knew the quality I wanted to have and maintain. Once I would achieve the set goals, I would have immense personal satisfaction. So it has to do with the right mindset – to keep going and look for value.

Also, I believe I have had this point of view ever since I was little. My family would tell the story of when I was two, riding the tram with my grandfather and as I was looking at the window, I would notice the screws around it that weren’t put in the right order. This realization upset me because I wanted the screws to look aligned. So I believe that from an early age I was inclined towards symmetry, and being orderly.

5. How did you think Expert Network would look like in 10-20 years?

This wasn’t a point of view I considered back then. Everything was in fast-forward, firefighting mode. Together with Andrei and Traian, we would be in daily calls with the client and then we would discuss how to deal with the tasks ahead. We didn’t have a plan, we didn’t follow guidelines or specific good practices. We would brainstorm ideas, someone would write them down and we learned step by step how to be better and optimize our work. It was all based on trial and error and we would learn the ropes as we moved forward.

6. What have been the challenges over time?

There have been two crucial moments. In 2005, the only Italian client we had, came to the conclusion that he could no longer support our 3-person team. So he gave us a 3-month notice that we had managed to extend into a 6-month part-time, giving us enough time to get in touch with the second client (from the UK) and with Wildstream.

Another challenging time was in 2020, with the pandemic. The main concern was related to the potential difficulties of our customers that had the risk to be transmitted back to us. Through steady leadership and everyone’s dedication, we’ve managed the entire process smoothly.

7. What were the most important moments of Expert Network?

  • Taking over the second room for rent.
  • The proposal we made to Wildstream to evolve the customer-supplier relationship into a complete partnership.
  • Moving to an office building and then moving to our current location.
  • Creating and working on the campus, adding the second building and the swimming pool.
  • Putting together our leadership team.
  • Perfecting our processes through Bamboo, our internal change management system, until we transitioned to the company’s maturity model, company values, DevOps, career path, and more.
 

8. How was the transition from 3 employees in 2004 to 100 employees at the end of 2021?

It was an incredible journey that seems to have passed in a flash. Getting 100 employees was possible because of the people that I am so grateful for. We’ve managed to attract amazing, highly skilled people and each of them has come with a complementary skillset and mindset. So now we are like-minded people that share common values, a mutual mission, all committed and passionate about what we do. I couldn’t have asked for more.

9. Does the company still resemble what it was in 2004?

Certainly not. Only the name has stayed the same.

10. What are the ingredients to maintain a successful business?

Everything is done with people. So definitely a passionate team gathered around common values ​​and ideals can move mountains.

11. How hard was it for you to move from developer to manager?

Looking back, I realize that from the beginning I had to do more than development. From the start, I had to be an account manager and soon a planning coordinator, a technical coach, a QA (without a defined structure), even a recruiter. So I’ve learned to adapt along the way.

12. How did you decide to build Expert Network’s pool?

Together with Frederic Apers (CEO Carflow / Executive Board Member Wildstream), we thought about how we could make the work environment special, warm and welcoming, where colleagues would enjoy coming here, bonding with each other, and even create long-term friendships. That’s how the idea was born, and from there to execution was only a step.

13. How many frogs have you found in the pool over the years?

At first, I remember frogs were a problem but I can’t remember how many exactly. What’s been unusual are the cats. They’re somehow attracted to the water and some even jumped in the pool and we had to take them out.

14. How many grey hairs has the third building given you?

Not too many. In life, there are things we can control and others we can’t. All we can do in the second case is give our best to find solutions and unblock things. Energy consumption about things we can’t control only takes us away from our goals, so it’s not worth it. I’d rather think about how I could have moved forward with the building instead of looking back to complain about how I’ve been stuck.

15. What do you like the most about what you do?

I like creating value, which manifests itself in several ways: from colleagues who grow in expertise to products that are born again in the company.

16. What would you have done differently if you were to start all over again?

From the beginning, I would have taken the path towards strategic thinking. I would visualize things from a long-term perspective to set them in motion. So, I would start by quitting the firefighting mode to be able to see the bigger picture and plan ahead.

17. How do you manage to organize yourself with work and family life?

What’s important in life is to do things with passion. When you do them with pleasure, you find time for everything. Time is an excuse to postpone things we don’t like, that we don’t enjoy. You will always find time for something that excites and stimulates you and you’ll somehow make room for that in your life.

Regarding my family, I’m very lucky that I can separate work from my personal time. With three young children, managing a business and communicating with clients would have been quite difficult. Even the time I spend while driving to work gives me a valuable context to be with myself and let my thoughts settle. What is certain is that I never have too much time, quite the opposite.

Share this article on

Be part of our team 

Discover how it is to work with us. Visit our careers page

The Role and Impact of a Technical Discipline Lead

The Role and Impact of a Technical Discipline Lead 

Although the tech world evolves rapidly with new technologies emerging constantly, IT and software development is actually a long and complex process. The creation of technological solutions requires the efforts, skills and communication of innumerable people all layered together. This is why the list of members and roles involved in software development teams are actually quite long. Each member on a development team serves a crucial purpose, but this article will delve into the role and impact of a technical discipline leader.

To find out more, we went straight to a source: our technical lead, Andrei. Throughout this article, Andrei shares useful information about his duties and responsibilities as a Mobile Discipline Leader and the impact it has on the way we do business. How does his role help us to keep our high standards while delivering top solutions tailored to our customers’ needs? What is our advice for those who want to tackle similar roles?

What is a technical discipline leader?

A technical discipline leader, or Tech Lead, is the main contact and person responsible for leading development teams and aligning them towards a common technical vision or goal. In other words, they are experienced and knowledgeable developers that take on a management role.

Tech Leads are good communicators that guide teams, help to resolve conflicts or issues that arise, and have an in-depth understanding of product and customer needs. Their role is important to tech companies as they mediate technical or critical decisions, lead and empower team members, and ensure that successful products are delivered to meet customer needs.

What does the role of a technical discipline leader at Expert Network encompass?

The specific duties and responsibilities of Tech Leads can vary according to company needs. As a Tech Lead at Expert Network, Andrei’s duties and responsibilities fall into four main categories: internal management, mentorship, supporting others, and keeping up with tech updates.

1. Internal management
A part of Andrei’s responsibility as a Tech Lead is to conduct training sessions and align with other disciplines. He’s in charge of training front-end teams about React and also holds training sessions for our Full Stack .NET internship. For the latter, he presents interns with basic information related to front-end operations and introduces them to React so they can familiarize themselves with these concepts, their impact, importance, and more.

Andrei takes on a support and advisor role for most of our projects and remains constantly available to his teams. His impact as a Tech Lead is crucial here as he ensures that any arising issues are resolved quickly and products are delivered on time.

Another aspect of Andrei’s duties is to communicate closely with the company’s stakeholders. He ensures that we receive positive feedback from them and that he has a thorough understanding of their needs and requirements every step of the way. Besides this, he is also close to our teams. He supervises their activity, oversees their needs, and provides support when necessary. Through Andrei’s approach and guidance, his teammates are empowered to solve certain issues with their own abilities and he helps them to learn from mistakes so they can become autonomous.

Andrei isn’t limited to a tech role and he teaches others to do the same. Our line of work requires people skills, empathy, a global mindset and perspective on a project. In order to make improvements, we need to give business advice and provide solutions from beyond a technical standpoint. Ultimately, thinking outside the box and considering the needs of a project from multiple different angles is what separates Expert Network from other businesses. In this respect, one of Andrei’s duties is to single out key people within our teams that are capable of handling and providing both technical and soft business skills. As these members gain confidence and perfect their capabilities, they become autonomous, powerful, and efficient at what they do.

2. Mentorship
Andrei constantly interacts with his peers, observing their tech and soft skills. This enables him to conduct accurate and pertinent evaluations that help him to establish which projects, roles, and tasks are suitable to a particular person.

According to him, the greatest challenge here lies in identifying the right mentoring or teaching style to suit each individual. Everybody learns differently, so it’s essential to empathize with them and view things from their perspective in order to create a mentoring style that suits them. Although these aspects require time, they are incredibly rewarding. Andrei has been able to achieve incredible progress and results with individuals by dedicating himself to such tasks. Individuals open up more as he builds trust with them, allowing him to use the right method, style and approach to help them grow and progress rapidly. It has become a personal drive for Andrei and he dedicates himself 100% to bringing all his team members to a high level.

3. Supporting others
Our colleague emphasizes the importance of working together, being a team player, and learning from each other – working towards a collective well-being rather than for individual gain. We’ve seen the difference in how efficiently and effectively we work when we leverage the work of others because we have an impact through our shared effort.

By tapping into the knowledge and skills of our teams, we work together towards a common goal, drawing out the commitment to achieve clear results.

4. Keeping up with tech updates
Staying informed and updated on new technologies in the appMobile sector (such as React-Native, React, JavaScript, etc.) is crucial. This also applies to adjacent technologies as they provide a broader understanding and perspective. Andrei also makes sure that he has a thorough understanding of back-end technologies and databases as they allow him to achieve greater depth in his activities.

Additionally, our environment encourages progressive and efficient automation, innovation with an emphasis on metrics and high-performance delivery. And DevOps incorporates them all.
But making the transition is no walk in the park, and it is an ongoing operation that delivers benefits and real value to us. Through its implementation, we save time, reduce human error, and ultimately, we bring more value to the customer.

From Andrei’s side, he is hands-on involved in planning DevOps pipelines and helping out with project automation on various projects. Even during our tech training sessions, various DevOps solutions are presented and explained so that everyone is enabled to broaden their perspective, becoming well-equipped to deal with various tasks.

Key challenges, rewards, and activities of a technical discipline leader

Based on Andrei’s experience, the key challenges, rewards, and activities of a Tech Lead at Expert Network can be summarized as such.

Challenges:
  • Adapting to and identifying what works best for colleagues under his mentorship
  • Being flexible and working on multiple projects at the same time
  • Managing the Mobile Applications Discipline
  • Awakening the talents and possibilities within individuals to deliver extraordinary results
Rewards:
  • Watching others grow as they become masters in their craft
  • Having his voice heard and a company-wide impact
  • Helping businesses to succeed
Activities:
  • Mentoring, training, and workshops
  • Building the front-end discipline
  • Providing guidance on multiple projects
  • Taking on a support and advisory role

Seven tips from the Experts

For those who want to tackle the role of a Tech Lead, here are seven tips of advice:

  1. Do your best to understand a client’s business so that you can grasp the needs and decisions behind a project. Sometimes the business decisions weigh heavier than the tech ones, so it’s important to be aware of them.
  2. Work on diverse projects. Gaining experience by tackling various new situations will help you to grow as you are forced out of your comfort zone. It’s the only way to improve and adapt. You will also identify best practices that you can apply to each future project and team.
  3. See the bigger picture. Being flexible is essential as you need to be able to zoom out and identify the best course of action on a project. This is necessary because the end goal is to advance the business and get the most out of a collaboration.
  4. Avoid getting too immersed in your point of view, or getting irritated when things don’t go your way. Communicate with management when you wish to voice your ideas or concerns, but be mindful of other points of view.
  5. Be patient and understanding, and learn to separate personal aspects of your life from business. This will enable you to help others fully since you will be able to actively listen to them, analyze their key strengths, discuss what is not acceptable openly and how to improve a situation. By doing so, you will know how to approach them to stimulate improvement on all levels.
  6. Focus on a core skill set. Rather than knowing a little about everything, be proficient at a core skill set before diversifying your tech knowledge. When you decide to expand your knowledge, focus on a basic understanding of new tech.
  7. Integrate with large existing codebases. Have a support system for your teammates so they can share their experiences with different integrations in projects. This way, they can learn from each other.

Share this article on

Join us

Reach your full potential and value. Visit our Careers page.

Overcoming the Challenges of Front-end Technology Implementation

Overcoming the Challenges of Front-end Technology Implementation

Front-end technologies are the magical set of tools or platforms used to develop the user interface (UI) of web applications and web pages. What users view, access, and interact with directly, all counts as front-end technology.

React, Angular and Vue have been the most community-endorsed tools in front-end technology for several years. In particular, React is the most popular front-end framework. React has had the highest usage ranking since 2016, hitting 80% in 2020. with Angular (56%) and Vue (49%) following two steps behind. React’s community endorsement has been constant over the years, remaining in the top three positions when it comes to satisfaction, interest, usage, and awareness ratio rankings since 2016.

Although these three powerhouses (React, Angular, and Vue) have led the pack so far, modern front-end technologies evolve rapidly, with new solutions being introduced to the market daily. Strong contenders, such as Svelte, are constantly emerging and the diversity of choices can cause confusion.

With this in mind, what factors should be considered before implementing a modern front-end technology? Furthermore, what challenges await post-implementation and how did we, at Expert Network, overcome them? What advice do we have for developers that want to work with modern front-end technologies?

Key factors to consider

Base the decision to integrate modern front-end technologies, such as React, into your codebase on a technical and business analysis. Weigh up the costs and risks against the benefits it provides, and be sure that the latter exceeds the former.

Here are some key factors to consider as you measure your scales:

  • amount of time that needs to be invested
  • the lifespan of a project (and its maintenance)
  • the scope of a project (which examines elements such as who the end-user is and whether it’s a short or long-term project)
  • team capability

Depending on the end-user, some projects will not benefit from a snappier UI or any page reloads. On the other hand, modern front-end technologies will help in the long run for a lengthy development or maintenance timeframe. Although integrating front-end technologies requires an investment of time, newer technologies are easier to maintain and integrate, making them ideal for long-term projects.

Challenges in implementing front-end technology

At Expert Network, we use React as part of our front-end stack. We chose to use React as it has the best balance between developer satisfaction and community support, as well as the best third party libraries. Despite its many benefits, we’ve had to overcome several challenges whilst implementing React: making sure our teams have the support they need, using the right tools and best practices, and providing standardized ways of integrating React with existing large codebases.

1. Getting teams ready – providing company-wide support
One of the challenges of integrating modern technology, such as React, into an existing project is ensuring that teams are comfortable using the technology. The solution is to have sources that promote and share best practices.

At Expert Network, we hold extensive training sessions and workshops to ensure that our teams get the support they need to deliver quality code using React. We also have people that encourage other team members to use best practices and conduct knowledge-sharing sessions. Moreover, our front-end discipline provides help and consultancies whenever required.

2. Choosing the right tools from millions
Another challenge is choosing the right tool for the job. The front-end ecosystem is incredibly diverse, with 1.3 million packages on NPM, and it is becoming increasingly difficult to sift out the ones with good support and planned future updates.

To counter this, we keep a list of curated tried-and-tested packages based on the community support a tool enjoys. This list helps our developers to choose the right tool to tackle a problem. In another sense, it also helps us to standardize our workflow across multiple projects.

3. Integrating with large existing codebases
Not every project is new. When using modern front-end technologies, they may need to be integrated with an existing codebase. Depending on how the specific project was designed, this could be an easy or difficult task.

To help our teams, we provide guidance and support with planning and integration. We also constantly share our experiences with different integrations on various projects so that individuals can use this knowledge to choose the best solution. As an example, we hold internal meetings, named DevOps Forum. DevOps Forums are internal meetings with our group of developers where we exchange ideas, learn from each other, and come up with the finest strategies and approaches to implement into our projects. It’s a hands-on approach that tackles the task in question directly and gives the team a space to get the advice and support they need.

At Expert Network, we constantly aim to standardize and streamline processes because it helps our developers, our customers, and our company. In this sense, we are working on a series of guidelines, training, and an internal audit process to find timely solutions to issues that may arise.

Advice to keep in mind

Our experience in integrating modern front-end technology has been a true learning curve. For other developers at the cusp of a similar journey, here is some advice we’d like to share based on our experience:

  • Improve your project one module at a time. Integrating with large codebases does not have to be done all at once.
  • Use tools that are supported by the community. This will help you to reduce the number of bugs and will make it easier to find solutions for issues that arise along the way.
  • Your team is the key to the success of a project. It’s essential to identify team members that have an affinity for front-end technologies and are willing to promote or share their knowledge with the rest.
  • Several frameworks have been tried and tested, proving themselves effective for projects of any size and difficulty. Therefore, using community-endorsed tools like React, Angular or Vue will provide the best results in projects as you’ll be able to easily find the answers you are looking for.

Share this article on

Join us

Reach your full potential and value. Visit our Careers page.

A Guide to DevOps Security

A Guide to Security in DevOps

DevOps successfully unifies two traditionally separate aspects of the IT world: software development (Dev) and IT operations (Ops). By combining the people, processes, and technology of these entities, DevOps accomplishes its goal of shortening the systems development life cycle. The DevOps approach utilizes the Agile methodology to integrate and streamline the development and operations processes. This enables a faster and more efficient development process that provides continuous delivery of value and high-quality software.

As the spotlight focuses on speed, automation, and other DevOps tenets, security often becomes an afterthought and its negligence is a common shortcoming. Effective DevOps ensures rapid and frequent development cycles, but outdated traditional security practices can’t seem to keep up. Although the fast pace that DevOps promotes is part of what makes it so desirable, this velocity is simultaneously a downside as it can lead to additional security risks.

The solution is to integrate security protocols and practices across the entire DevOps pipeline and life cycle. DevOps security, or DevSecOps, is the application of information security (InfoSec) policy and technology to the entire DevOps lifecycle and value stream.

What security challenges have emerged from our DevOps initiatives? What practices have we implemented to overcome security gaps or challenges without hindering the benefits of DevOps practices?

Challenges in DevOps Security

The shift from monolithic applications to agile DevOps environments presents new risks and changes that traditional security solutions and practices cannot address. What new security challenges have emerged as a result of the modern, agile focus of DevOps?

  • The fast-moving development process and environment can lead to security concerns caused by undetected bugs or errors. If security cannot move at the same speed as DevOps, it can lead to unintentional vulnerabilities, insecure code, and other weaknesses that contribute to operational dysfunction.
  • The DevOps model is based on collaboration between different teams but these teams may have different processes, which can lead to gaps in security protocols. The highly interconnected and cohesive nature of collaboration in DevOps teams may also require unrestricted access to privileged accounts or the sharing of access keys, API tokens, certificates, etc. In turn, this opens dangerous backdoors and provides opportunities for malicious actors to attack, steal data, and disrupt operations.
  • A large majority of DevOps environments rely on the extended usage of cloud (serverless) computing. To ensure complete support, the cloud provider needs to fulfill security requirements in compliance with an organization’s security processes and policies.
  • Integrating security into CI/CD pipelines by including automated security testing to address vulnerabilities early and eliminate inefficiencies.

Best Practices for DevOps Security

The DevOps ethos has brought on a transformation and changed the way security needs to be achieved. Since DevOps involves every stage of the software development life cycle, effective security is more critical than ever. What principles and guidelines have we integrated to help deal with security challenges in a DevOps environment?

  1. Transition to a DevSecOps team. DevSecOps is an approach that brings together software development (Dev), security (Sec), and IT operations (Ops) to integrate security into the entire DevOps pipeline and life cycle. It’s essential for the DevOps team to take ownership of addressing security (rather than relying on an external provider) and for security to be included as early as possible in the development life cycle.
  2. The development team must adopt secure coding practices. For example, the OWASP Secure Coding Checklist is a comprehensive reference.
  3. Use tools for static code analysis and to highlight security flaws.
  4. Designate a member of the team to be responsible for security. Also make sure to use documented security procedures and policies that are easy for developers and other team members to comprehend.
  5. Use separate environments for developing, testing, and accessing production environments whenever possible.
  6. Make security a main concern in all testing phases and strategies.
  7. Follow a structured security testing methodology.
  8. Automate security testing as much as possible to scale security to DevOps processes. Security automation also minimizes the risk of human error and manual intervention.
  9. Use best practices in regards to credentials management to securely store and manage them.
  10. Run periodic manual and automated penetration testing on the production environments.
  11. Use containers whenever possible. Containers enable DevSecOps as they provide security and make rapid, repeatable application development and deployment cycles.
  12. Hack yourself. Assess your infrastructure and code from an attacker’s viewpoint to enable a better understanding of the security weaknesses and strengths of an application, service, data center, and cloud platform.
  13. Use automatic backups for critical information resources.
  14. Prepare a disaster recovery plan and test it periodically.

Despite the many benefits of DevOps, it presents new risks and security challenges that traditional solutions are unable to address. Although DevOps fuses development and operations processes, DevOps and security often still remain largely separate. To overcome this, DevOps security or DevSecOps aims to integrate security into all phases of the software development life cycle. From planning, developing, and testing to release, deployment, maintenance, and beyond.

Introducing DevOps security early in the life cycle enables a productive DevOps ecosystem. It helps to identify vulnerabilities and operational weaknesses long before they become an issue. By implementing the above DevOps security best practices, organizations will be empowered with the ability to reduce data breaches and to continuously deliver high-quality software at velocity, securely.

Share this article on

Join us

Reach your full potential and value. Visit our Careers page.

Advancing in DevOps with Cypress and Percy

Advancing in DevOps with Cypress and Percy

In general, emerging development technologies in the software industry require more attention from those who contribute to the creation of products. How can we deliver qualitative products that meet customer needs? By staying on our toes, constantly seeking new solutions that can be applied to projects.

As the web evolves, testing needs to evolve along with it. In the QA discipline, there’s been a persistent growth in the need to automate manual testing. Integrating a tool that could accelerate such automation in the DevOps process is necessary to fuel a fast, qualitative and reliable delivery. At Expert Network, we recognized that the best-fit tool for us would need to be developer-friendly, powerful, and as open-source as possible. Its scalability for all browsers and resolutions was also a criterion we needed to consider.

The solution we chose was Cypress, a new automation tool that met all these qualities and has already been implemented in several projects since.

The benefits of Cypress

The need to deliver correctly, on time, and as easily as possible led to the question: “Which automation tool is best for us?” To find our answer, we compared the particularities of Selenium and Cypress. Selenium is a famous and widely used automation tool, whilst Cypress is a new tool with a JavaScript based testing framework built for the modern web. After comparing the tools and balancing their differences, we found that the benefits of Cypress outweighed Selenium.

What are the benefits of Cypress?

  • The speed of test writing was a decisive criterion in this “dispute”. The development of tests in Cypress is much faster due to its programming language (namely JavaScript), but also much easier since it requires minimal knowledge of JavaScript.
  • Easier and quicker debugging in case of failure. The location and cause of errors are clearly presented, and Cypress would even offer a solution at times. This reduces and eliminates the amount of time spent looking for errors and solutions, which in turn meant that maintenance became faster.
  • The real-time reload. After each code change, Cypress gives itself a real-time reload, running the new freshly modified automation test. This helps to streamline the test development process so you can quickly view the results of new changes.
  • Cypress supports many browsers, which makes testing on different types of environments more accurate.
  • Consistent and well-structured testing results make it easy to create reports based on them. Furthermore, Cypress’s screenshot and video feature help to accurately diagnose and cover a problem encountered in the application.
  • Cypress has great integration with Percy, a visual test tool.

Alongside Cypress, Percy is the newest way to design, develop and deliver software with confidence. Percy is a testing tool that provides a complete visual overview: rendering, comparing and reviewing visual changes to catch bugs. With Percy, we could get visual coverage across our entire UI. We chose Percy because it has a scalable infrastructure optimized to be fast. It’s secure, reliable, and allows our team to work collaboratively. It adapts easily to browsers or changes in resolution and finds even the smallest changes of components in the application.

Bumps along the road to Cypress

The main challenge we encountered in our switch from Selenium to Cypress was the transition to a new programming language. Although Cypress’s JavaScript language is easy to learn, there are considerable differences compared to Selenium’s C# language. This difference in language had the potential to create conflicts of knowledge when developing the automation suite.

Another challenge was the complex task of implementing object-oriented programming (OOP) for a suite that would be organized and easy to understand. We needed to create a space that was very well-structured, which is more difficult than it sounds in a sentence. It also needed to facilitate the maintenance and reuse of certain tests, functions and commands.

The last bump in our road to Cypress was creating the right structure for test results, as well as moving or rewriting existing tests in Cypress. The test results, in the form of screenshots and videos, had to be easy to find so they could be accessed by everyone. Our saving solution was the formation of a Page Object type of structure for an orderly and well-systemized development.

What kind of results did Cypress provide?

By implementing Cypress, we experienced the possibility to improve metrics. It takes less time to write and run tests due to the Cypress interface, the complexity of regression decreased considerably, and releases are no longer as painful. The automation process also starts from the early stages of user stories, helping us to successfully catch bugs from the first stages of development.

Other advantageous results include how the differences in application between browsers are easy to identify and the search for errors in debugging is done by Cypress. The consistency of Cypress’s testing results, as well as the photo-video evidence preservation of a bug, also makes the creation of an automation running report extensive and accurate.

It was observed that many of our colleagues were very open to the transition from Selenium to Cypress. They were quick to notice the advantages that came with this tool and keen to learn more about it.

Additionally, Cypress (along with Percy) provides insight into every product change, which was exactly what we needed. Now we see constant progress at project level and there’s nothing we enjoy more.

Never stop improving, this is how we DevOps

It’s undeniable that the software industry goes through continuous upgrades. A more efficient new tool or design pattern could appear at any time. As such, we put a lot of focus on remaining up-to-date and willing to adapt to new requirements or opportunities in the market.

At the moment, our plans are to improve the structure of the automation project. This will optimize the development and running of test suites from a spatial and temporal point of view. Additionally, the total elimination of hardcodes or workarounds from the project is in a continuous process of development. This particular improvement is a priority for the creation of a reliable, usable and efficient project.

Another target we’re aiming to reach (as soon as possible) is the full integration of Percy in the project to automate the validation of its design. Finally, we plan to adapt our developers to Cypress-specific coding best practices. Accomplishing this would aid both the project and the QA Engineer in charge of creating the tests.

We’re constantly seeking new solutions and planning for future implementations or possible improvements. As the need to automate manual testing continues to grow in the QA discipline, we’ve chosen Cypress and Percy as our solutions. They’re the best-fit automation tool for us and we already benefit from increased speed of test writing and running, easier debugging, consistent and well-structured testing results, and more. We have plans in store for future developments and aim to continuously adopt innovative technologies that benefit us and our clients. This way, we can remain competitive in this rapidly evolving industry.

Share this article on

Join us

Reach your full potential and value. Visit our Careers page.

Introducing New Technology to a Long-Running Project

Introducing New Technology to a Long-Running Project

As time elapses, technology evolves continuously, and finding ways for products to remain competitive is a necessity. This is notably evident in long-running projects that grow gradually to stay relevant and competitive by adapting to trends and implementing new technologies.

At EXN, we have worked on a long-running project with Carflow, Europe’s complete solution for marketing, sales, and stock management for auto dealers. Carflow‘s goal is to create a platform that will allow car brands, dealers and buyers to connect, share information about products, and manage their purchases. Our journey with them began in 2008 and the initiative to redesign their platform has been an ongoing mission since 2013.

As new challenges emerge, fancier and more advanced technologies are needed to adapt business flows, improve speed, and enhance UI/UX. In particular to the Carflow project, the benefits of KnockoutJS were slowly fading away as the technology got old and received less support. Meanwhile, newer and better front-end technologies were gaining traction.

Introducing ReactJS to Carflow

At that point, a substantial module in the Carflow application needed a revamp to improve business flows and UI/UX. The old module was built with ASP.NET MVC and ASP.NET Web API for the back-end and KnockoutJS to render the front-end. KnockoutJS is an open-source JavaScript library that helps developers build rich and responsive websites, but its declining benefits were an indicator that it was time for an upgrade.

In other words, it was the perfect opportunity to introduce a new technology: ReactJS. We set about rebuilding the module using ReactJS as the front-end technology while maintaining the existing back-end architecture (with a few adaptations).

Why did we choose ReactJS? Similar to KnockoutJS, ReactJS is an open-source front-end JavaScript library that helps developers to create interactive UIs. ReactJS is currently the newest advancement and hottest topic in the software industry. It has a rich ecosystem of libraries and packages, and has obtained an outstanding track record in the industry and community. It also improves the standard of web page rendering performance, which was ideal for us since one of our objectives was to improve user experience.

What are the advantages of ReactJS over KnockoutJS?

  • ReactJS’s Virtual DOM (Document Object Module) mechanism makes the process of updating real DOMs much faster and more efficient.
  • Although KnockoutJS also has components, it is easier to develop, extend, and compose components in ReactJS.
  • ReactJS has a thriving community due to its widespread adoption.
  • ReactJS comes with “one-way data binding” while KnockoutJS’s “two-way data binding” offers inferior performance and allows the introduction of unhealthy patterns. That said, two-way data binding was initially more intuitive to learn and use.
  • With ReactJS, we had multiple viable options of approaching state management, allowing us to choose the best fit for our data flows.

The challenges faced and how we overcame them

Transitioning to new technologies can be a bumpy road. These are the challenges we had to face with the introduction of ReactJS:

  • Our team had no knowledge of or expertise in ReactJS, which meant we were at the starting line of a learning curve.
  • Variety requires meticulous decisions. ReactJS has a rich ecosystem of libraries and packages, so it took time to choose the appropriate ReactJS patterns and libraries for our needs.
  • Creating the new module in ReactJS meant that we ended up with two applications: the existing ASP.NET MVC App and the new React App. The challenge was then to achieve seamless transitions to ensure that users will not notice the switch from one application to the other.

How did we approach and overcome these challenges? To solve the team’s lack of knowledge in ReactJS, we held internal training sessions during the transition. We also organized sessions with a trainer and specialist from our local community who guided us through the features and quirks of ReactJS.

To overcome the slightly overwhelming variety of libraries and packages that ReactJS offered, we collaborated with a ReactJS consultant to help us choose the most suitable stack of libraries for our needs. Of the many that were available, we ended up with:

  • React Hooks
  • Styled-components
  • MobX for state management
  • Hook Forms for form validation
  • Axios for API request management
  • Material-UI for React component styling

In order to approach the challenge of ending up with two applications (ASP.MVC and React), we employed several solutions. The first was to host the React App as a module inside the ASP.NET MVC App. We achieved this by having a script that creates a virtual directory in IIS as part of the deployment script and binding the virtual path to the React Router. Secondly, we made the two applications share the same session by using the Axios withCredentials parameter for API requests and leveraging the virtual directory approach. The third was to replicate authorization mechanisms in the React App to match the ones in the ASP.NET MVC App. Since our application is deployed as an Azure Cloud Service, a package is created during the release pipeline. We included a script in that deployment package to create the virtual directory and copy the npm build output of the React App to that location.

The drawbacks and wins

An unexpected and slightly humorous drawback of our transition to this new technology is that there’s more competition between team members as they “fight” over the stories in the new React module. Team members love taking them on and this has resulted in greater involvement in task assigning and Sprint management since everyone wants to progress in ReactJS. It is also an extra challenge now, for Product Owners and Development Leads, to keep everything in check and balanced knowledge-wise, as well as keeping everyone motivated. In comparison to if it had been developed in KnockoutJS, the redevelopment of the module with ReactJS took longer due to the learning curve we had to overcome and the refactor we needed to do down the line.

The refactor was necessary because we wanted to reduce the technical debt that usually appears when adopting a new technology if incorrect patterns are chosen. The last drawback lies in the fact that the project now uses two front-end technologies. This means that developers need to do a paradigm switch from time to time. Furthermore, new colleagues that join the project would need to learn about both technologies, which would take additional time and guidance to ensure that everyone working on the project possesses the same amount of knowledge.

A particular benefit of introducing ReactJS was that people on the team found it very motivating and stimulating to work with the latest front-end technology. As we got past the initial learning curve, we also observed increased development speed. Furthermore, feedback from our client also emphasized that the new module was much faster and more responsive than the previous ASP.NET MVC and KnockoutJS combination. The development of this module with new technology also triggered a change in the framework used for UI automated testing: we switched from Selenium to Cypress. At the end of the day, it was a big win for the team to complete this migration successfully while overcoming each hurdle that was encountered along the way.

The transition to new and more advanced technologies can be difficult, but the wins we’ve achieved with the introduction of ReactJS to the Carflow project outweigh the drawbacks and obstacles we’ve had to overcome. As of now, we already benefit from increased development speed, improved UI/UX, greater efficiency, positive feedback from our client, and a motivated team. We aim to continuously adopt innovative technologies that benefit us and our clients so we can remain competitive in this rapidly evolving industry.

Share this article on

Join us

Reach your full potential and value. Visit our Careers page.