Categories
Uncategorized

Ali from TapeReal, ‘The team treated the project like their own.’

TapeReal-software-development-review

Our copywriter Nikita sat down with Ali, TapeReal CEO & Founder from Vancouver, to talk about his experience of working with Fora Soft. Ali came to us in August 2020, he wanted to create a video social media. This is how Ali describes the product:

TapeReal is a better version of YouTube. Like,if YouTube was built today instead of 2005, for the people of today. That’s what we’re trying to build.

Was Fora Soft your 1st choice?

No, it wasn’t. Before this, I was working with a number of developers and other software developing companies with varying degrees of success. We got some MVP prototypes.

I decided to turn to Fora Soft because I was impressed by their expertise in streaming technologies, the focus on quality, and their commitment to client’s success. 

What about your “before” and “after” of working with us?

Before working with Fora Soft, our development sprints were planned a little differently. I’d put together the requirements for design, but I wasn’t involved in user stories.

With Fora Soft we planned our sprints more effectively, they were more precise, the user stories were very clear.

The project manager provided a clear development plan about what is going to be achieved on certain days and certain milestones. So that part, I think, helped make the sprints more successful. The team was very involved in the whole planning process and provided a lot of great feedback as well.

Can you share any measurable figures? Like, profit, number of users, how many crashes?

In AppStore, we generated more positive reviews. The app was stabilized in many respects as well. We were facing a lot of issues with call recording and also with solo recording features. The team was able to fix some of those bugs and stabilize that experience for the community as well.

Were there any difficulties while developing the app?

We had an existing codebase, so it took some time for the team to familiarize themselves with the codebase.

You know, whenever there were challenges, the team did their best to overcome them, or they presented alternative options and solutions.

They communicated very effectively. In the beginning, it was just a matter of us getting used to each others’ communication styles and timelines. So, there were some miscommunications, some expectations from both ends that were a little bit challenging. Once we got to the standardized process, we had some clear expectations. The project ran pretty smoothly thereafter.

With TapeReal being quite an unusual project, communication is king. Determination and professionalism are very important, too. Rate us on those qualities, and maybe add some others?

In terms of communication, professionalism, and determination, nobody is perfect. I’d like to give you a score of 10, but obviously, we’re human beings. We make mistakes sometimes, but the main thing is that we learn from them, and we overcome them. In that respect, I really appreciated working with you guys. In terms of communication, you’re very proactive. The weekly status reports are really helpful, kinda gives you an idea of what was achieved, what’s planned for next week. You always communicated on Skype effectively. The professionalism also was always there.

The team treated the project like their own. They wanted to see the client succeed.

As for determination, I’d say that when there’s a technical challenge, the team enjoys trying to solve it. They put forth the best solution for it, which is great. If they’re unable to do it, you guys present the options or the alternatives for achieving the result in the end. In that respect, I also really appreciated the eye on the budget. Obviously, being a startup, we have limited funds. The team took that into consideration whenever they planned all their sprints, so I appreciate that, too.

Thanks! On behalf of the whole Fora Soft team, I wish you all the best with your project. I believe it has a great future.

Got a project idea of your own? Maybe, you’ve tried to make it come to fruition but were dissatisfied with the results? Contact us using the form on this website, and we’d be happy to review your case and offer the best solution.

We also started Instagram, so make sure to follow us there as we share a lot of information regarding projects. You can also DM us if that’s your preferred method of communication!

Categories
Uncategorized

Code refactoring in plain words: what is it and when it’s needed

what-does-code-refactoring-mean
Make your project better with code refactoring

You know that feeling when you build something for a long time, update and rework it, and this something turns out to be a complete mess? What if several people are working there, and each of them has their own understanding and vision? For example, you spend decades writing a book. The way you see things will inevitably change, you will get new assistants. As soon as the book is ready, you will certainly have to read it once again and get rid of plot mistakes, logic inconsistencies. Then correct grammar, and you’re good to go!

Refactoring is the same rework. Not of a book though, but of a program code. Let’s find out when we need it, and when we don’t.

What does it mean?

Code refactoring is the process of changing the code structure. It helps understand the program’s internal structure and its work principle. Refactoring is also there to fix problems. Nevertheless, refactoring doesn’t fix mistakes, rework functionality, or change external program behavior. Optimization does that, but it’s a topic for another article.

Why does your project need refactoring?

  • to make the code clearer

Going through the mountains of old code is difficult even for seasoned professionals, so of course, it’s very hard for new ones. Refactoring helps new programmers spend less time onboarding on a new project. If you pay for their time, it’s in your best interest for them to work faster. 

  • to speed up development, to make code simpler and faster.

To extend the functionality of the program it is better not to “mold” additional code on top of the old one, but to refactor it first. The task here is the same as that of drilling a tooth, when you get filling put on a decayed tooth. It’s to clean up the old code so that the new code fits better.

  • to improve the stability of the program.

The more concisely you express yourself, the easier and more understandable it is to listen to you. Just like people feel comfortable communicating with those who speak clearly, concisely, and to the point. In IT, programs that have the most concise code work better. 

When does your project need refactoring?

Signals to the customer that it is worth accepting the offer to refactor from the programmer:

  • The project has been going on for a long time, and the requirements have changed frequently
  • The program becomes less efficient: slow, often glitches
  • Mistakes in estimating the deadlines and increased cost of implementing new functionality.
  • The programmers have been changed
  • You are going to use this project for a long time, support it and modify it: the time spent on refactoring now will pay up. As in, further development will go faster, there will be fewer bugs. Spend 50 hours now, to save hundreds in the future.

Signals to the customer that they are offering to refactor for the sake of refactoring, and there is no benefit:

  • There are no serious or frequent problems with the program
  • The project has not been going on for a long time and the requirements have not changed.
  • You are not going to tune the project for a long time.

These are the characteristics programmers look for when suggesting refactoring. If you hear any of these, you can be sure that they are offering to refactor for a reason: 

  • Bulky classes (each class has to perform one function of its own);
  • Long methods, noodle-like controllers;
  • A large number of parameters in a method;
  • Lack of use of framework functions;
  • Bad naming of variables and functions;
  • Much duplicated code;
  • Lack of documentation.

But the best thing is, of course, to find programmers you trust 🙂 

When code refactoring is not needed?

  • When the code is so bad that it takes too long to support and implement new functionality
  • When the program is written on too outdated technologies which are no longer supported. Example: Flash is no longer supported by browsers. Whatever you do, how long you refactor it – nah, it won’t work.

What to do in these situations? This:

code-refactoring-do-not-needed
When a project can’t be saved by code refactoring

Begin writing from a scratch 🙂

“Can I skip refactoring altogether?”

When asking this question, first ask yourself: “is it possible to write without mistakes right away?”. The answer is no, because humans are not machines, and there will always be factors that reduce code quality. Refactoring, however, when used correctly, keeps the project code in good condition. It also minimizes the time spent on adding functionality and hiring new developers. This in turn opens the door to customer acquisition and marketing – much more useful than endlessly adding new team members because of missed development deadlines 🙂

Still have questions? Want to know more about refactoring? Send us a message and we will be happy to answer it for you! The feedback form is here. And we also launched Instagram, where we also answer DMs, share company news, project portfolios, and chat with you 🙂

Categories
Uncategorized

Why Russian software engineers are ranked #1 in Coursera’s research

Russia is on top of the IT world, while the country’s programmers are unparalleled when it comes to technology and data science.

Coursera, an American e-learning company, has released the second edition of their Global Skills Index 2020. The index consists of three main fields, and Russia has been named cutting-edge in two of the three: Technology and Data Science, while not only being ranked #1 in Europe but also in the entire world. The third field is Business, where Russia is #8 in Europe and #9 in the world.

So what is it that puts Russia so high at the top of the IT world, where the competition is as fierce nowadays as it’s never been before? 

To create the ranking, Coursera has used five components: their skill graph, skill score for country/industry/role, trending skills, correlations with third-party data, and top field of study & roles per selected skills.

First, let’s dive into the rankings themselves. We’ll first take a look at the Technology and Data Science Fields, and then check out the authors’ reasoning behind the Index.

Technology

Russia tops Belarus, Switzerland, Ukraine, and Finland – these countries are on the places from the 2nd to the 5th. 

The technology field consists of six subfields: Computer Networking, Databases, Human-Computer Interaction, Operating Systems, Software Engineering, Security Engineering. 

Russia was able to hit 100% in Databases, Operating Systems, and Software Engineering, and 98% in Security Engineering.

Data Science

In Data Science, Russia tops Switzerland, Belgium, Austria, and Finland – these countries are on the places from 2nd to the 5th.

The Data Science field consists of six subfields: Data Management, Data Visualization, Machine Learning, Math, Statistical Programming, and Statistics.

Russia got 100% in Statistical Programming, Math, and Data Management, as well as 98% in Machine Learning and Statistics.

Coursera’s comments

All of Russia’s tech and data science competencies are categorized as cutting-edge or competitive, with the Index showing that the country is unparalleled in software engineering, statistical programming, operating system, database, and data management skills.

They also went on and mentioned that Russia has been outperforming China and the US at international programming contests. 

Another important thing is that informatics is being taught as a compulsory subject in middle school. The skills students get then are later developed in higher education. For instance, Russia’s Higher School of Economics has announced the first top tier online master’s program in data science.

Coursera has also addressed Russia’s relatively low position on the Business Index, compared to the other two. They have, however, noted that the situation is looking to change as the Moscow and St. Petersburg’s startup scenes are constantly growing.

IT students from St. Petersburg win more contests than anyone else

We would like to add to the research from Coursera that universities from St. Petersburg, the city Fora Soft is located in, win International Collegiate Programming Contest more often than not just any city in the world, but any country. Students from St. Petersburg won the contest 11 times out of 27. The first two places are split among St. Petersburg Institute of Fine Mechanics and Optics and Saint Petersburg State University, with 7 and 4 victories respectively. Many graduates from these schools end up working here, at Fora Soft!

International Collegiate Programming Contest is a competition between IT-specialized universities. 50,000 students from 3000 universities in 111 countries have taken part in the contest. Overall, Russian students have won 13 contests out of 27 times it was held, and the country has been on a winning streak since 2012.

The results can be easily seen on the Contest’s Wikipedia page. If you want to dive deeper into the information about the winners, please, visit the official website of the contest.

This fact correlates well with Coursera’s mention of how many engineering graduates are produced by Russia – about 450,000, which is more than in any other country in the world.


We at Fora Soft are proud to announce that even in the region with such high competition, we are still the best! Check out our report on the top B2B development companies in Russia.

If you want to learn more about our know-how or order a project from us, feel free to get in touch with us via the Contact us form!

Categories
Uncategorized

Clutch named Fora Soft a top Russian B2B development company

At Fora Soft, we really know how to develop multimedia software. We’ve been doing it for years and amassed lots of experience! Our work has found appreciation in the latest Clutch rating.

Clutch is an American rating platform. They release geography-based top-company ratings every year, and this time we made it there. Fora Soft is on the 15th place out of 94 in the Development category.

Cool! Thanks to our clients – for the opportunities and for the kind references. – Nikolay Sapunov, Fora Soft CEO

To create the rating, Clutch took different things into consideration. For example, in order to determine the level of industry expertise, the following criteria are looked at:

  • Case studies
  • Awards that companies received
  • In-depth phone interviews with clients
  • Services offered
  • Social media presence

Fora soft is also able to deliver a high-quality product. To get to this conclusion, the rating platform checks how companies perform at the criteria mentioned below:

  • Brand reputation and visibility
  • Clients that a company works with
  • Services offered by a company
  • Reviews on Clutch

By the way, Fora Soft currently has 5 stars out of 5 from 9 reviews! Among many things, our clients highlited how we met their expectations, professionalism in development, clear and fast communication, and the fact that we always finished our projects in time.

The most focused company

We at Fora Soft know how to deliver high-quality services. One of the reasons for it is that we have been creating multimedia and video software for a long time – 15 years. Over this time, we’ve gained a lot of experience in the field, and we’ve never betrayed video and multimedia projects.

To check out the variety of the products in our niche that we have created, look no further than our portfolio!

With that being said, Clutch has put us into their Top Russian Custom Software Developers matrix that consists of top 15 leaders in the custom software development field in Russia. It seems like Fora Soft has been recognized as “the most focused” company in the region.

To learn more about us, check out our Clutch profile.

If you want us to estimate your project or learn tips and tricks that we use in the video & multimedia software development process, feel free to get in touch with us via the Contact us form!