Contact Us

By clicking “Let's Talk”, I agree to the Rubico Privacy Policy

WooCommerce vs Magento for eCommerce

WooCommerce and Magento are both great platforms to use for eCommerce. How do you decide which one to use to sell your products online? How do we know what is right for our project? In this blog, we are going to compare the two eCommerce platforms and will help you make a decision about which to use for your next project.

First, let’s talk about who your target audience and market is.

E-commerce is “the buying and selling of goods or services using the internet.”

  • A – Administration
  • B – Business
  • C – Consumer

Business-to-Business (B2B)

B2B is one of the most common types of e-commerce. This is when a transaction of goods or services occurs between two businesses.

Business-to-Consumer (B2C)

B2C occurs when a business sells a good or service to a consumer. For example, Netflix engages in B2C e-commerce when it sells its service to viewers. The entire transaction occurs online.

Customer-to-Business (C2B)

A lesser-known form of e-commerce, C2B is similar to C2C in that an intermediary is often required. In this transaction, the consumer acts as a seller and the business acts as a buyer.

Stock photos are an excellent example of a C2B transaction. This is when the consumer takes a photo, uploads it to a stock photo site, and the business then pays for the right to use the stock photo. The intermediary site hosts the transaction, transferring the money and information online.

Customer-to-Customer (C2C)

As an example, think of eBay or Facebook Marketplace. Anybody can sell their product on the platform to other consumers. Payments are safely done through the hosted site, and the buyer’s and seller’s information is transferred online.

Business-to-Administration (B2A)

B2A e-commerce, also referred to as B2G, is when a business provides an online service for the government, generally through a website.

One way to understand B2A e-commerce is through taxes. Taxes, which go to the government, can be filed online through third-party businesses, such as TurboTax or H&R Block.

Consumer-to-Administration (C2A)

Similar to B2A, C2A occurs when a consumer is providing something for the government.

A C2A transaction can be as simple as paying for parking tickets or ordering a new government ID. However, to be considered a C2A e-commerce transaction, this must be done online.


  • Magento:- Magento is an ecommerce platform built on open source technology which provides online merchants with a flexible shopping cart system, as well as control over the look, content and functionality of their online store. Magento offers powerful marketing, search engine optimization, and catalog-management tools.
  • WooCommerce:- WooCommerce is a free WordPress plugin that adds e-commerce functionality to your WordPress website so you can have an online store. WooCommerce allows you to continue using the familiar WordPress environment.

Magento vs WooCommerce:-

Overview Videos

Payment Types:- 

  • Prepaid card payments
  • Bank transfers
  • E-Wallets (Venmo, Paytm)
  • Cash
  • Mobile payments

Payment Gateways:-

  • Paypal
  • Stripe
  • 2Checkout
  • Braintree (A Paypal Service)

Shipping Methods

  • Fedex
  • DHL
  • others…

Hopefully this was a helpful overview of Magento and WooCommerce. Depending on your needs, either platform could work well. If you are looking to build a smaller store quickly, we would recommend going with WooCommerce. For more complex projects with a lot of products or variations we recommend using Magento!

How Do I Build Complex Software Projects Quickly?

Building complex software
Truth does not exist in itself; it lies in the method. It is — the way. The way. ~ Andrei Tarkovsky

In its essential practice, developing complex software applications quickly, is the method of bringing a digital idea from abstract to reality. You are building a real, albeit digital, representation of your idea.  When building your vision, you need the right process to bring life to your idea. Below are five key areas for you to consider how to build your software quickly including resources, planning, complexity, product owner, and infrastructure.


Broadly – not just in software development – projects fail for lack of placing the right resources in the right places at the right time. A vision requires positioning resources strategically. In software development. resources are timeline, scope, and budget. This is what we call the triple constraint triangle.

A complex program can be broken down into smaller pieces.

The triple constraint triangle’s goal is quality. Not just in the sense of code that operates and does its work efficiently, but in the sense of considering if the software meets the goal for which it was envisioned. This is where you start. Determine what matters most to you. Next, develop a plan.


As a three-legged stool must balance, allocating the three resources in the right way requires a plan. As a fence, a plan broadly defines what’s in and what’s out. Create an initial, but flexible, the boundary for your project. When you have a mental boundary of your project, place resources inside it – people, money, time, product, scope, etc. You can draw it with a pencil on a napkin.

That’s your starting point. Think and mull over what belongs and what doesn’t.  Send that to our team of solutions architects and we’ll put together an estimate. You can review the estimate and see if it fits your vision. Get it cleaned up. Remember – you haven’t written a line of code yet. Then overlay our plan on your vision. Assess what’s possible with the limited resources you have, set a timeline and budget, and see if our approach matches with what you envisioned.


Now, consider what you’ve envisioned and assessed about the complexity of the project with our team. The best way to assess the complexity is to talk to an experienced expert who isn’t afraid to ask hard questions. Based on our questions and your answers determine on a scale of 1 – 10 (low to high) how complex is my project? If it is a 7 or higher, it must be broken down into phases. As a software project becomes more complex, it breeds fragility. It is prone to scope creep and ultimately a runaway budget. The classic example of something antifragile is Hydra, the Greek mythological creature that has numerous heads. When one head is cut off, two grow back in their place. Complex software projects go wrong when the scope is not clearly visioned and ruthlessly maintained. Who keeps a project from being too complex? A product owner.

Product Owner

At Rubico, a client is the Product Owner. This is a single decision-maker by whom the project succeeds or fails. This individual must make constant decisions. It’s your money. When considering an element to add – think of the ripple effect on other features. Is it worth the time and money for the benefit returned? Consider the loss – what is the risk if we don’t build a feature, and likewise; what is the risk if we do? If we build it, can we maintain it? Being the Product Owner puts you in the driver’s seat for your project.


Finally, beware of infrastructure. The advent of scalable and dynamic infrastructure can create a hidden cost and complexity to a project you may not have anticipated. In many cases, simply keeping the lights on can run tens of thousands of dollars per month. If the application doesn’t require scaling – think Netflix on a Friday night – you don’t need to create a huge, scalable application unless the revenue benefits outweigh the costs. Our team will work with you to right-size your application for cost and long-term growth.

At Rubico – our team stands ready to bring your idea to life. With a focused, attainable plan, we can help you build the app of your dreams.

How Progressive Web Apps will Change the Mobile App Industry

Progressive Web Apps (PWAs) have become very popular in the past year. A number of brands are moving to PWAs and getting away from the Native apps. For good reason, too. PWAs have many benefits, five of which we’ll cover in this blog.

Read how the #ProgressiveWebApplication transition will change the future of mobile apps. Click To Tweet

What is a PWA

Where did this term come from?

In 2015, Google’s engineer Alex Russel and designer Frances Berriman coined the term Progressive Web Apps. It is an app that uses browser capabilities, but still provides an app-like interface very similar to a Native app.

Google proposed Responsive Web Design in the past, which helps users access a website across all browsers and screen sizes.  The Progressive Web App is a step ahead of Responsive Web Apps. By using several technologies (including Service Workers and App Manifest), PWAs provide much more than a Responsive Web Application. Take a look at some of the benefits:

Connectivity Independent – PWAs work in low-quality networks or even offline through Service Workers.

App Store
App-like – Provide an app-like feeling similar to native apps. Navigating to various sections of the app is just a few clicks away.

Fresh Content – Constantly updated content through the use of Service Workers behind the scenes.

Discoverable – Search engines can find these apps, through W3C manifests and Service Worker registration.

Installable – PWAs can be installed on a user’s home screen easily. So there is no need for an App Store. It also can be shared via a web link and users can create a home screen icon.

Main Components of a PWA

The following are the primary technologies used to create a PWA:

  • The Manifest

The Manifest for Web applications is a simple JSON file. The file provides information about an application (such as name, author, icon, and description) in a JSON text file. This gives the developer control over how the app appears to the user. The purpose of the manifest is to:

  • Help install web applications to the home screen of a device. That’s how users can install a PWA on their mobile home screen.
  • Create a downloadable link for users to access the app.
  • Provide a unique icon and name so the app is unique from other installed apps.
Service Workers

A Service Worker is a script that runs in the background within the browser. Service workers provide the following major features to help Progressive Web Apps:

  • Manage push notifications.
  • Receive centralized updates and keep the PWA app updated all the time by synchronizing data in the background.
  • Help with search engine visibility.

Why Progressive Web Apps

Why are companies choosing Progressive Web Apps when Native and Hybrid are still an option? Here are some reasons why:

  • Only one centralized codebase
    • PWAs are installable responsive web applications. As a result, they do not need a separate codebase like the Native or Hybrid mobile apps.
    • Everything runs using the browser. Therefore apps can be installed by adding them to the mobile home screen.
  • Faster and more reliable
    • Service workers constantly keep the apps updated with real-time data. This means users do not have to wait for an update.
  • Offline support with less or no network connectivity
    • All app data is synced to the local storage that allows users to use the app with no network connectivity.
    • Full functioning capacity offline.
  • Includes hardware access (Native support)
    • Progressive web apps support your phone hardware and can access it as needed by the app. The hardware can access and use the following within the app functionality:
      • Geolocation
      • Camera
      • Microphone
      • Battery status
      • Screen orientation and accelerometer access
  • User interface
    • Provides a quality user experience similar to a Native app.
    • Users engage with the app easily.

At Rubico, we have a team of dedicated engineers skilled in developing quality mobile apps. Our team has developed a number of responsive websites and mobile apps, which has prepared us to develop Progressive Web Apps. So take your app to the next level. Contact us at

How to Choose the Best Hosting Server

How do you decide the best hosting server for your website? What type of hosting service would be the best fit for your company? There are hundreds of cloud-based hosting companies that want to sell you their hosting packages.

But there are several questions that need to be answered for you to choose the best hosting server for your website. I have found in choosing servers for different web companies, there are definitive requirements for a server.

What is the best #hostingserver? #AWS and #WpEngine both have characteristics to look for in a hosting service. Click To Tweet

The Essentials
A web hosting account needs to be reviewed based on a few critical components. Every hosting server behaves differently than others based on how these components are configured on the server. The following points will help you decide the type of hosting server required.

Equal Technology
Make sure there is support on the hosting server for the technology the project uses. Always check with your development team to be sure the technology versions match. Ask them to notify you when they plan to update the website technology.

Note: PHP 7 support should be installed on the hosting server if the company’s project is developed with PHP 7. A PHP 5.6 server may not support a PHP 7 website.

Website Traffic
Get an estimate on the number of users accessing the website in the upcoming 3 – 6 months. If you have an idea about the number of visitors on the website, then the website resources can be managed accordingly.

Note: For heavy traffic websites, be sure the hosting company supports scalability and load balancer options. Having these services in place will help when you see high traffic coming to the website.

Server Locations
Server location can decrease latency if it is closer to your users. A website will load faster if located in the same region as your users.

Note: If your website target audience is in the United States, you should choose a server instance within that country. If the target audience is in Canada, then choose the server instance in Canada.

Server Uptime
Nothing is more important than having an operating web host that is available around the clock 365 days out of the year. Your web host should operate on powerful servers that have good network connectivity. Track your web host with server monitor tools. Ask Rubico for recommendations on what tools can be used to track the connectivity of your server. Server uptime is a crucial component to determine your best hosting server option.

Note: Server monitoring services check for problems caused by overloaded or crashed servers, network connections and other devices. They protect the health and safety of your IT environment, allowing your software and hardware to operate with a reduced risk of problems.You also need to make sure that you have managed support (a helpline to contact) on the server for when you face critical issues.

Webhost Security
Nothing is secure on the web. There are ways to protect your data by applying a number of security tricks.

Note: Make sure your web server has the right setup and necessary tools to secure the website:

  • Firewall installed
  • Correct file permissions
  • Root access disabled
  • Auto-deploy used (Instead of FTP/sFTP)
  • Unneeded ports on server unopened
  • Vulnerability monitoring enabled (via Sucuri or similar tools)

Be prepared for the worst-case scenario. If your website gets hacked or somehow the data is deleted from the server by one of your developers, you need a recent backup of your website data. If your web host already backs up the website data regularly then there is nothing to worry about when these incidents happen. Your hosting provider should be able to restore the website in almost no time.

Note: Ask your web host these questions about backup:

  • Does the host provide full backups regularly?
  • Can site backups be done easily via the control panel?
  • What operating system can you use to create auto backups?
  • Can you restore your backup files by yourself?

Reliable Hosting Servers
These are the hosting servers we have found to be very reliable:
1. AWS (Amazon Web Server)
2. WP Engine

AWS is easy to use, flexible, cost-effective, scalable, high-performing and secure.

For a WordPress website, we use WP Engine. With this server, we experience less downtime, and the WordPress websites or blogs are more secure. It also provides a free staging environment and daily backups, better site responsiveness and help with SEO.

At Rubico, we analyze each website and the server options before recommending the best hosting server to our clients. We have a team dedicated to reviewing the website and target audience to provide the best recommendations.

SalesLoft Review from a New User

My goal here is to give you a SalesLoft review and some high-level best practices as a SalesLoft user.
I’ve known about SalesLoft for quite a while now as one of the premier Atlanta Startups. Over the last few months, our team at Rubico has worked on implementing SalesLoft into our process of reaching out to prospective clients.

Interested in more effective #SalesDevelopment? Here’s a #SalesLoft review. Click To Tweet


Let me preface my SalesLoft review with a more theoretical discussion on Sales Automation. Sales Automation is a term that has been used a lot in the last few years. There are endless tools and software that all promise generally the same end result: less work and more deals closed.

Sounds amazing, right? Sure does, but this is the common misconception with Sales Automation. The reality is that there is no single tool nor suite of tools that is going to do the full job of a salesperson. We have to remember that these tools are inherently meant to make salespeople more efficient and effective, but they aren’t meant to do the job.

At Rubico, we take pride in a personal and genuine approach in our outreach to prospective clients. Our goal is to make it clear in our first email to a web company, marketing firm, or ad agency that from a 10,000-foot view we have a valuable service that will support their growing business. Honestly, the prospect that we are reaching out to might not be a fit, which is why it is so helpful to have a conversation to make that determination. It all starts there.

I won’t take you through every step in our process, but the end goal is to have a meeting with our prospect and determine if Rubico can help or not. SalesLoft helps us to do this with ease and efficiency.

SalesLoft Review

Now, onto my thoughts and SalesLoft review as a user:

  1. I fell into the trap of thinking that SalesLoft was going to do my job for me. I quickly realized that in order to maintain our genuine approach, it takes a lot of time, effort, and experimenting to set up SalesLoft properly. The great thing about this is that the team at SalesLoft is with you every step of the way.
  2. It takes a few months to get your feet under you with the platform. There is a ton of functionality that will ultimately prove to be very helpful, but for now, we are only using probably 50% of the full functionality. If you have an existing sales process in place, you’ll most likely have to adjust to fit SalesLoft, or get up to speed quickly to figure out how to customize SalesLoft to fit your needs.
  3. SalesLoft makes automated emails much easier than mindlessly sending those types of emails in Gmail or Outlook. I’ll admit, there are some emails that I am perfectly fine with being automated. For example, meeting confirmations or basic email follow-ups.
  4. SalesLoft has a strong dashboard that will show you all of the cadences that need to be done for the day. “Cadence” is SalesLoft’s term for the outreach steps or process. We haven’t gotten to the place of being able to fully use the Dashboard as our sole mode of operation, but that is the goal for the next few months. This feature is a powerful time-saver once you get used to the platform. It’s also is a way to make sure your prospects get the adequate touch points without letting them slip through the cracks.
  5. The analytics are powerful and informative. You can see what emails are catching on with people, and which ones are being ignored or deleted immediately. Let’s face it, no one wants to get the same junk email that we are all accustomed to. As a salesperson, it can be hard to take an objective look at the content you’re sending to prospects. SalesLoft will give you loads of data that will help you make informed decisions.


The short summary is that SalesLoft offers everything we, as a Web development company, need in a platform. It would add more efficiency and effectiveness to any company willing to take the time to learn how to use this tool. We have a long way to go until we are operating at full capacity in SalesLoft, but we are making progress.

More Advice

Here are a few words of advice for new users:

  • Expect a few months of ramp-up time before you fully understand the basic functionality of SalesLoft, and a couple more months to understand the advanced functionality.
  • Know that you might have to adjust your existing sales process to make it work with SalesLoft. In the long run, you’ll be more efficient so don’t worry too much about this.
  • Fail and fail fast. Pick yourself up and start experimenting again to determine what works.
  • Use your resources. SalesLoft offers a ton of online training and even in-person meetings in select cities to help you navigate the platform and share best practices.

As they say at SalesLoft, “Happy lofting!”

Need help ramping up your outbound sales process or looking for some advice on sales tools and processes? Email us at

3 Do’s and Don’ts for RFP Responses

As a child, did you ever play the game where you guessed how many candies were in a jar? Usually, there were two ways to guess: blindly write down a number that seemed close or make a somewhat educated guess by counting or multiplying. In the end, it was just a guessing game. RFP responses can feel the same.

Nailing down eye-catching RFP responses can be very similar. Only the owner knows the exact answer. There are multiple companies competing. You can’t ask many questions and there is always a deadline. It’s intense. But just like in the candy guessing game, the key isn’t to guess the exact number. The winner is the person who can guess the closest approximate answer. Knowing that relieves a lot of stress.

These 3 Do’s and Don’ts will change your #rfpresponses and help you #winbusiness Click To Tweet

In my previous blog, I mentioned how to write effective proposals by understanding client needs, having a quick turnaround time, and using templates. However, RFP responses are a completely different playbook. I’ll explain in a minute. A proposal is not an RFP, and an RFP is not a proposal.

Getting started with RFP’s

First, try to understand why the company put an RFP out there. Look for these things in the RFP:

  • Is there a picture of the anticipated result? Look at it closely, even if it is vague.
  • Does the deadline fit within your team’s schedule?
  • Is there a budget mentioned?
  • Does your team meet the requirements listed?

Over the years we have been effectively responding to RFPs for various issuers and clients. Through the process, we have learned that it is a dance you have to learn, in order to understand the style and match your steps to the variations of each client.

RFP responses can take up lot of your time. So to help you quickly assess and effectively respond to an RFP, I’ve provided some Do’s and Don’ts for the process:


1. Read the RFP Instructions

By reading how the potential client is writing, you can pick up on their tone and style of communicating. For example, do they use bullet points or write lengthy requirements? Be sure to mention how you stand out from the competition both in pricing and quality of work. Remember, this is your job interview. Be sure to provide samples of work that are similar to the project you are trying to get.

Understand what they are looking for in a project partner. Then write, edit, review, and repeat. Read their RFP document. Then write, edit, review, and repeat. You can see why this takes a long time.

2. Answer Questions Directly

If there is a requirement for their project, they want to know whether you can handle it. Make sure your response is legible and understandable to anyone who reads it. If you are not direct, you can forget that RFP. It also won’t cut it for you to write on a high-level that sounds positive, but isn’t specific (see the example below).


3. Make a Checklist

Once you have everything in place, cross reference it against your RFP checklist. Be sure you have all the supporting documents ready. It is very important to read the guidelines and documents closely so that your team thoroughly understands the company’s values and expectations.


1. Don’t Use Templated Answers

Do it because it is relevant, not because it sounds good. Proofread your document rigorously. You are under the microscope here. RFPs can not be reused. Don’t write just to fill space.

2. Don’t Rush

No matter when you send out the response it will be opened along with the others on the due date. Don’t submit your response until you have everything in order. If the RFP desires a printed response, make sure that all the pages are correctly printed, and the text and images are aligned. Do not hurry in sending out a response that is sloppy.

3. Don’t Submit an Incomplete or Out of Order Response

Most RFPs request a desired format. A vendor who doesn’t follow the format is quickly disqualified. Don’t skip on the requirements. Review all the details and answer each one of them in the manner requested. Don’t miss out on any additional documents.


Writing an effective response to RFPs can be really tricky and requires a lot of patience and discernment. The issuers usually don’t have all the requirements sorted out and that’s ok. Remember: The goal is to get as close to the target as possible.

Don’t like writing detailed RFP responses? Rubico offers Proposals as a Service. To learn more, contact us at

How to Plan for Your Big Mobile App Launch

Have you ever thought how many users may hit your mobile app once it goes public? As soon as the mobile app launch to the App Store or Play Store, it is available for the public to download and start using. But is your app capable of managing a sudden influx of installations and traffic? Any mobile app needs to be developed in a way so that it can manage high traffic for your big mobile app launch.

3...2...1...Tips for a #MobileAppLaunch Click To Tweet

At Rubico, we recently developed an app that received 8,000+ users within one week from the launch. The app got 21,000+ users within the first 50 days. Here are some secrets on how we developed the app to manage such a large amount of traffic and still maintain quality performance.

There are many components to take into consideration during the mobile app development process. Most mobile apps allow users to connect with each other and also let the administrator manage transactions and activities on the admin panel.

A mobile app usually contains the following factors:

  • Mobile App Development
    • The mobile app can be developed using Native or Hybrid technology. Each technology has pros and cons.
  • Web Admin Panel Development
    • The Web admin panel allows the admin users or managers to see activities of users who are using the mobile app.
    • The admin panel is mainly developed using a web technology (PHP, Laravel, etc.) and shows all the activities recorded from the app.
  • Web Services
    • Web services are called middle layers and used to communicate the data flow between the mobile app and the web admin along with a database.
    • All dynamic content is updated or fetched from the database using web services.

When we talk about managing a huge user base, all the factors mentioned above need to be developed in a way so that performance does not fall when hundreds or thousands of users hit the app. The following points need to be reviewed and managed while developing a mobile app to manage heavy traffic:

Backend Server (Hosting server)

ITH Backend Server

Improving the performance of the app depends on the performance of the server that hosts your database and Web Services (APIs). The server needs to be capable of managing the traffic easily. It needs to contain the hardware and the applications that are installed on the server.

The hardware needs to be configured well and should have free memory to run the processes. It’s always good to define the size of RAM and the type of server with your server specialists. It will help boost the performance.

At the same time, the server needs to be configured with service for caching the data. This helps further with the load on the server for the increased traffic after your mobile app launch.

Database Transactions

ITH Database Transactions

Database transactions are the most important aspect to consider while developing a mobile application. A mobile app usually communicates with the database via the web services. Web services connect with the database to send and receive data.

If the database is structured well, it will retrieve data quickly, which will help the mobile app perform better. A well-structured database helps with:

  • Saving disk space by removal of redundant data
  • Providing data access faster
  • Keeping data accuracy and integrity

The other important part is how we manage transactions with the database. Do we write queries that are slow to retrieve data? Do we create multiple joins while retrieving data from the database? Your query writing skills can completely change the performance of your app.

It’s important to write queries that help:

  • Specify the field name from which to get data (Don’t use select * from a table when you need access to only a few columns)
  • Use short queries instead of multiple joins (Multiple joins within the queries can take a long time to fetch data)
  • Search on the indexed columns

Long processes in Background tasks

ITH Long Processes

From a user engagement point of view, it’s always good to put long running tasks in the background thread, so that the UI thread doesn’t get blocked. It will help app users continue working on their app activities without waiting for data to be processed on the front end.

Make fewer calls to APIs

ITH Makes less calls

Making a lot of API calls takes up a lot of the process in the background. If there are fewer calls to the APIs it will help run the mobile app effectively. APIs communicate with the database using the queries as mentioned above. So each call to an API will need to get a data result set. Depending on the size of data, and the time taken by the queries, this might slow the app response. So until there is a need, do not make calls to APIs.

Optimized code

ITH Optimizes code

Code quality also plays a key role in app performance. There are several points one should keep in mind while writing code.

  1. Avoid Creating Unnecessary Objects: Unnecessary objects cause the garbage collector to be called unnecessarily, which in turn eats resources needed to boost the performance of the application.
  2. Avoid Background Services: Background services should be avoided to keep running unless absolutely required, as they keep occupying the resources throughout their execution.
  3. Use Standard Libraries: Instead of implementing the same functionality in your own code, use the already-available resource.
  4. Use Optimized Data Containers
  5. Use Cache: Objects which are expensive to create should be implemented in cache. For example, if you have to display some images from the Internet, then you should hold them in memory to avoid downloading them several times.


Our team at Rubico is made up of experienced app developers. We use Native and Hybrid technologies for developing mobile apps. As for that app we launched, after the launch, our client was thrilled because he heard very little from users. No news is good news when you do a big mobile app launch. The app worked as expected and the next phase will begin soon.

Contact us at to get started on your big mobile app launch.

Breaking Down the Cost of a Full-Time Employee

You have faced the problem of the unpredictable workflow in the web and mobile development industry. You are not alone. Many web shops ride the month-to-month roller coaster of productivity. Your web company needs to be ready to take on more projects during an influx, but also hold on to valuable employees during slow months. Just hire, right. First, count the cost of a full-time employee.

Before hiring in-house, CEOs should consider these additional expenses. #employmentcost Click To Tweet

How do you decide whether to hire full-time staff or find an outside partner to help out? The reality is that it’s expensive to hire full-time, in-house staff. As a business owner, you may have calculated the cost of a full-time employee. Here I have listed a few line items to consider when you’re making the choice to hire an in-house employee.

Cost of a Full-Time Employee: Computer and Office Supplies

  • According to a few different sources, this number is about $200 per year for each employee*. Tack on the developer-worthy laptop, and you’re looking at close to $2,000 in the first year. Also, who doesn’t want a few t-shirts, mugs, and other gear when they join a new team? This might be the one small expense that is always justifiable.

Cost of a Full-Time Employee: Software Licenses

  • Software and tools are always being developed and being updated. To stay relevant, web companies have to use the latest and greatest. For commonly used development and design tools like PhpStorm and Sketch, it will be several hundred dollars a year per user. It is safe to say that the number of tools hitting the market will not be decreasing, so business owners can prepare for their top developers to keep asking for the next best one.

Cost of a Full-Time Employee: Market Rate Salary

  • PayScale recently published that the median salary for a PHP developer in the United States is just over $61k*. Of course, this can change from city-to-city depending on the cost of living and the demand for developers. Also, some technologies warrant a higher-paid developer, so take this into account as you’re thinking about expanding your tech expertise to include mobile apps, progressive web apps, etc.

Cost of a Full-Time Employee: Health Insurance

  • A rule of thumb to obtain this amount is by multiplying the base salary by 1.25 to 1.4 to determine the cost of healthcare over a year*. Yes, it’s expensive. This has become an ever-increasing recruiting tool as well, so more than likely you are not going to get by with the cheapest group plan.

Cost of a Full-Time Employee: Human Resources

  • With more employees, you have to consider the need to hire an HR professional who can handle internal policies, implement initiatives, and process employee suggestions and concerns. This is another salary to factor in once you have several employees under your roof.

Here are a few other costs to consider: office space, recruiting, and training new employees. Anything else come to mind?

Don’t get me wrong, there is a ton of value in building your team internally when the time is right. As Jim Collins says in Good to Great, you have to get the right people on the bus to advance your business. Before you make the final decision to hire internally versus finding an outsource partner, make sure you take a comprehensive look at the total cost. I meet with business owners all of the time who have learned the negative side of high overhead the hard way. They bit off more than they could chew.

Also, don’t forget to take a look at the other side of the coin. If you’re considering moving to an outsourced model, onshore or offshore, it is well worth it to invest the time and resources at the beginning to find the right partner. It’s helpful to go into this process with patience. Try not to make these decisions when you are trying to hit an upcoming deadline or a huge project just walked in the door.

Once you do find the right partner, the benefits can be endless. You can build a remote team who is eager to do great work for you, while you focus on gaining new clients and keeping your existing clients happy.

Rubico has been working with web companies since 2001. We bring quality development and affordable rates to businesses balancing an influx of projects and a few in-house employees. Our co-founder published a blog recently explaining the value of hiring a Full-Time Equivalent (FTE) with an outsourced team. Learn more what an FTE Model looks like.

Contact us with any questions at

ReactJS vs Angular 2.0+

If you are comparing ReactJS vs Angular 2+ you are thinking about the future. That’s great! Let’s clear up a few things first. React is a library and Angular is a framework.

If you know what an MVC architecture is, it will be even easier to understand. MVC stands for Model View Controller. So, where Angular has everything built in, React is just a V, the View layer, and you have to hook it up with your models and controllers.

#Angular vs #React - what’s the difference? Click To Tweet

You will first want to understand the fragmentation of Angular before digging into details on the topic. Google refers to Angular 1.x as “Angular JS” and Angular 2 and higher as “Angular”. Where Angular JS was doing all the rendering on the client side, both Angular (Angular 1= Angular JS) and React (React = React JS) handle rendering on the server side.

When it comes to the web, picking either one of the options is a smart choice. There is not much of a difference between how they perform, but there are things that one does better over the other when comparing ReactJS vs Angular.

ReactJS vs Angular: A Comparison


Angular, as a framework, is easier to scale. It has its own boundaries and checks on how things are done. With its clearly-defined boundaries it is easier to understand the right way of doing things. Following the best practices is easier in Angular, compared to React. In React, there are a lot of ways to do things that make it confusing to follow best practices. There are a lot of parts that you need to figure out yourself when using React, parts which are much more clear in Angular.

Compatibility with 3rd Party Libraries

With Angular, if you have an existing code with a lot of 3rd party libraries, you might have to rebuild everything, whereas React is very flexible. React can be used wherever you need it.

Community Support

React is easier to use than Angular. This makes it easier to contribute to the framework. React is one of the most popular frameworks on the web, and Angular is trying to catch up, but it is easier to find reusable code for React than for Angular.

Beyond the Web

React has React Native and Angular has Ionic for building Native apps for mobile devices. One can argue which is better than the other, but they are relatively similar. React Native is still considered faster and more stable.

Simplicity of Code

Angular goes with the template approach with HTML, which makes the code shorter and easier to understand. React, on the other hand, has the HTML written in JS, which can be confusing at times. Here is an example of how both approach the same problem:

React vs Angular in handling HTML

Loop through an item in React

Loop through an item in Angular

With Angular, there is a lot of boilerplate that goes into every component, which is lesser when using React.

React vs Angular Component

React Component

Angular Component

Development Time

Development time in Angular is relatively fast, mostly because of the way it is structured. There is less confusion about the best approach to do certain things, whereas in React this can be tedious at times. Setting up a new project is faster in Angular with its boilerplate and CLI.

In React you can find many resources and projects that can help you do it faster, but it will still require a lot of experimentation. If you are planning to setup everything from scratch in either of the technologies, you will have to dig into a lot of things and get your hands dirty.

Code Size and Tweaking Performance

The size of React’s core file is smaller than Angular, and Angular (being a framework) contains a lot of code out of the box that you might not even use. React is a library, so optimizing the code is more flexible than Angular.

Debugging the Code

Debugging the code in React is much more effective because it catches errors with line numbers while compilation and Angular only breaks while it runs on the browser, which can be difficult to debug. Angular has two-way data binding, which can be helpful as you can send data from children to its parents, but it can give a lot of headaches while debugging. In React, the data flows just one way, making it easier to catch the break with ease.


Angular 4 is the latest version for Angular. This is a huge step up from Angular 2. Most of the changes are behind the scenes. The update from Angular 2 to Angular 4 did not change how we code. So, what happened to Angular 3? Google internally faced a versioning number mistake in their build so they decided to skip the confusion and jump to version 4.

Facebook is working on React Fiber, which is an update to their core algorithm. This will improve the performance of React, add more support for animation, layout, and gestures by adding a lot of new functionalities for developers.

ReactJS vs Angular: What to Use
Both Angular and React are great with their component structure and the problem they are trying to solve. The choice between both can be based on your existing code, your needs and your developer preference. If you want an all-in-one solution, go with Angular, but if you want to incrementally improve your existing codebase, go with React.

At IT Hands we work with Angular and React. Got a project in either one? Contact us at

What is Your Company’s Average Project Velocity?

Project velocity is the speed a project will get completed. For example, a 1000-hour project can be completed in 10 weeks at a velocity of 100 hours/week or 20 weeks at 50 hours/week. Project velocity varies from project to project and client to client. Always choose an approximate velocity at the beginning of a project, or you will have poor expectations for your team and your client.

5 key factors to estimate and enhance project velocity. #projectmanagement #scrum #agile Click To Tweet

One of the important factors in closing a deal is to determine project velocity. Estimating project velocity will depend on the stakeholders and several other factors in the project. These factors will change the project timeline and the overall project budget! It’s important to consider these following factors that can affect the velocity of a project:

  1. Product Owner’s Involvement
  2. Understanding Scope and Requirements
  3. Design Iterations
  4. Budget Realities
  5. Team Availability

When you have an approximate idea about the project investment, you need to breakup the hours per week depending on the following factors.

Product Owner’s Involvement

Product Owner

The Product Owner is the single point of contact on the client side. This contact gives direction to the team and makes the quick decisions. The team requires a response from the Product Owner within a business day to keep the momentum going.

Also, the Product Owner is responsible for getting any required information from other stakeholders. If the information is not provided quickly, that will impact the project timeline. Be sure to explain the involvement of the Product Owner with your client during your first meeting.

Understanding Scope and Requirements


Understanding scope is a crucial component for defining a project timeline. If the scope is not understood well, the timeline can not be met. It’s really important for the project team to review the project backlog with the Product Owner at the beginning of the project.

The product backlog should define the user stories and the objective of the project. The project team can breakdown the sprints and define the timeline accordingly. If there is a scope creep, the project team should immediately notify the Product Owner about it and discuss the revised timeline.

Design Iterations

ITH Design Iterations

Design iterations is another key component for managing project velocity. There needs to be a set number of design iterations which will be communicated to the Product Owner in the beginning of the project. A designer is a key person to help the other team members with the flow and the functionality of the website.

Based on how the designs are created, the timeline can be managed for a project. So it’s really important for a designer to grasp the requirements in the early stage of the project so they can provide mockups within 1-2 rounds. If there are more than 2 design iterations, that will extend the project timeline.

Budget Realities

Budget Realities

The budget is always a major factor. Depending upon the budget, the requirements of the project could change over time. The budget directly reflects timeline. So if the timeline extends, the budget extends as well.

Project velocity can only be determined with a decent idea of the budget in the initial weeks of the project. If the Product Owner explains the budget and timeline expectations, the team can then set up a projected velocity.

Team Availability

ITH Team Availability

If the team is not available to work on the project, this obviously impacts the project timeline. Initially the timeline is set based upon the availability of the resources. The role of each and every team member is defined within the project and responsibilities are assigned to them.

If, for any reason, some of the team members are not available, their tasks will delay the team. This would extend the timeline, which would then impact the project velocity.

At Rubico, we take care of all these factors to manage our project velocity and make sure projects are delivered within the expected timeline.

Depending on the project requirements, there are many different roles we have on our team.

The following are the team members assigned to a typical project:

Project Coordinator (PC)

The Project Coordinator (aka Scrum Master) is a manager, who supports the rest of the team and ensures everyone follows the defined processes.

Development Team
Each team may have one or more:

  • UI UX Designer → Designs a great look and feel
  • Solutions Architect → Architects the solution to be designed
  • Frontend Engineer → Implements interactivity
  • Software Developers → Makes it all run under the hood
  • Mobile Developers → Creates great mobile apps
  • Internet Marketing Specialist → Improves your web presence
  • Software Tester → Ensures features function as expected

Relationship Manager (RM)

The Relationship Manager is available to step in where needed to improve communication and collaboration.

To learn more about how Rubico team can help you in managing project velocity, contact us at