NewsBY RabIT software engineering · March 18, 2020

The company’s CEO Nat Friedman announced on the 16th of March that GitHub has acquired NPM, the world’s largest software registry.

 

 

The npm Registry is a public collection of packages, open-source code for Node.js, front-end web apps, mobile apps, robots, routers, and countless other needs of the JavaScript community. The registry was created in 2009 to help JavaScript developers easily share packaged modules of code. Since then, it has largely contributed to the expansion of JS technology and its community as well.

GitHub itself is one of the world’s largest software development platforms that provides hosting for software version control using Git. Microsoft acquired the company back in 2018. At first, the developer community was concerned about the future of the platform and its open source projects.

Since then, Microsoft hasn’t done anything to risk losing the trust of the GitHub community. On the contrary, they have added new features to aid the community such as Actions and Projects.

Nonetheless, the same concern rises again now that GitHub has acquired npm. The largest one is that Microsoft now controls an overwhelming part of the JavaScript ecosystem, which has always been open source.

Of course, the company promises to keep things the way they are and only improve on user experience and introduce new features.

In the announcement Friedman promises that npm “will always be available and always be free”. Their key focus after closing the deal will be to:

  • Invest in the registry infrastructure and platform. This is crucial because of the rapidly growing JavaScript ecosystem. They promise they will make the investments necessary to maintain speed, reliability and scalability.
  • Improve the core experience. Improve the everyday experience of developers and maintainers, and support the ongoing work. They also promise to introduce some bigger features, Workspaces and improvements to the publishing and multi-factor authentication experience.
  • Engage with the community. Engage with the JavaScript community to get ideas and help define the future of npm.

GitHub will be hosting a Reddit AMA to answer further npm-related questions in the coming days.

RabIT software engineering

RabIT is an innovative software engineering company from Hungary. Our goal is to help startups and enterprises drive growth through technology innovation and make a real impact in their industries.

Code quality and transparency are our main priorities throughout each project.

SoftwareBY RabIT software engineering · March 04, 2020

DigitalOcean’s Currents report analyzes the most relevant trends of the software development world. As one of today’s most discussed topics in IT, last year’s survey focused on working with remote software developers.

 

Their key findings on working with remote software developers

The 4300-person survey showed that:

  • Remote work has become the new normal – Remote work is increasingly practiced and even demanded by both developers and employers. 86% percent of respondents currently work remotely in some capacity. 1/3 of them work remotely full-time.
  • Remote developers are connected – The traditional narrative states that working with remote software developers results in the remote team being disengaged from the company. This is rapidly proving wrong, with teams and employers reporting that they feel connected even while working from different locations.

 

The United States and Canada are the leading countries in terms of working with remote software developers with 44% and 43% of those surveyed working primarily remotely. The following countries are the United Kingdom with 37% and India with 25%.

 

working with remote software developers by country

Source: digitalocean.com

 

Communication tools preferred by remote software developers

The survey showed that remote teams make use of all types of communication channels and collaboration software. Business collaboration software like Slack and Skype are most preferred, followed by instant messaging, email, phone (either texting or calling) and Video conference tools (GoToMeeting, Zoom, Hangouts, etc.)

 

Source: digitalocean.com

 

We can testify to this ourselves, as we also use Slack and Skype most often while working remotely with our clients.

 

How to mitigate the challenges of working with remote software developers

While it is quickly becoming common practice, remote development work still provides unique challenges and obstacles teams must overcome to reach success. You’ll find that communication, project management as well as technical aspects of software development all require a bit different mindset in a remote setting.

We have plenty of experience with this topic, as our team works 100% remotely with every client. After completing 40+ international custom software projects, we’ve gained some very valuable insights and experience about the dos and don’ts of remote development work.

 

Subscribe to the RabIT Newsletter

What you get if you join our email list:

  • Actionable insights about software development topics
  • Interesting case studies and news about IT innovation
  • No marketing spam

You can unsubscribe at any time

 

THE MOST COMMON CHALLENGES APPEAR IN THE AREA OF:

Onboarding

Introducing new team members to a large codebase requires quite a lot of time and effort. Under codebase we mean a whole collection of source code that is used to build a particular software system or component. If the code is messy and poorly documented, newly joined remote developers will find it difficult to understand how all pieces of the code are working together.

This is why it is extremely important to follow industry best practices and standards and to writing code. Clean code is written using suitable design patterns and is easy to read and understand for fellow developers.

Adding clear and detailed documentation is also crucial at every stage of the project. Before writing a single line of code, the first thing for new team members should be reading any available information about the project.

 

Communication

Communication-related challenges are frequently mentioned as the biggest obstacles while working with remote software developers. Collecting daily updates, discussing urgent issues, or explaining new tasks and objectives becomes somewhat more difficult if you are working in different locations, or even time zones. As remote team members often work with flexible hours as well, gathering everyone involved together in a virtual meeting room at the same time becomes a challenge of its own.

To make sure everyone is always on the same page, we schedule frequent (sometimes even daily) online meetings with our clients and other development teams. To discuss more urgent issues, our team primarily uses channels like Slack, Skype or Email.

Apart from this, we also have longer weekly meetings and a product demonstration meeting at the end of each development sprint (every 2 weeks). This may sound like a lot, but the people we work with really appreciate having such a deep insight into the project at all times.

 

Tracking progress

Without version control and issue tracking systems, working with remote software developers would be an absolute nightmare. They make web projects much easier to implement and manage in particular. Version tracking allow each team member to work on any file at anytime without having to worry about overwriting current versions, or wasting time locating where the latest iteration of a file is being stored.

Issue tracking tools have proven particularly useful for project managers and product owners to oversee complex development projects. Everyone can see scheduled work tasks and what each developer is working on at all times. We like to invite our clients into our issue trackers to help them see exactly what we’re working on at any given stage of the project.

During our remote development projects we mainly use Asana, Jira or Trello for issue tracking, and GitLab, GitHub or BitBucket for version tracking.

 

Feeling disconnected

If someone works as part of a remote team for a longer period of time, they often feel like they’re not as valuable to the team as the people working on site. This can lead to them overworking themselves to contribute as much as possible, or to them feeling depressed and demoralized.

Meeting the remote team in person and organizing team building events can have a great effect on morale. It can also help everyone involved form a more personal connection. Even if your team is located overseas, we would encourage you to meet with them at least once a year, if your’re planning an ongoing cooperation.

 

To Summarize

 

Remote work in software development has become the new norm instead of the exception. You are truly missing out if you aren’t utilizing the benefits of working with remote software developers. A few of these benefits are a larger available talent pool, higher employee satisfaction and higher cost-efficiency.

The development of sophisticated online communication, version tracking and issue tracking tools makes this form of cooperation more seamless and efficient than ever. New innovations in this space will continue to remove the remaining barriers of working remotely.

More niche products designed for specific roles will enter the market. Some experts also predict that AI technology will help keep an increasingly remote workforce aligned to an organization’s timelines, goals, and priorities.

With all the necessary technology at our fingertips, and the growing demand for software development experts, it’s safe to say that remote work will only become more widespread over the next decade.

RabIT software engineering

RabIT is an innovative software engineering company from Hungary. Our goal is to help startups and enterprises drive growth through technology innovation and make a real impact in their industries.

Code quality and transparency are our main priorities throughout each project.