Table of Contents
The technology stack remains a key issue in almost every kind of application you build. Projected bandwidth demand, Web app type, business goals, potential extensibility—all these variables have to be taken into account when considering the technology stack for your HR software.
The process of choosing the tech stack is no different when it comes to HR software development and is equally important to its future commercial success. Applications in that particular niche have specific demands that can best be met by a suitable composition of technology components.
At Monterail, we know how important this is for the development of your application. That's why we conduct Discovery Workshops with our clients, to better understand their needs, and which tech stack will be the most suitable for their products.
"We loved the extent of their expertise and topics we've covered: from design to choosing the tech stack and establishing the final project scope."
Please note, however, that not all HR applications require equal scrutiny when it comes to their tech stacks. Simple apps that cater to a small user base and pack only a handful of features will most likely do well with whatever stack that adequately matches those needs.
Choosing a Technology Stack for HR Software
So what kind of tech stack would be suitable for a complex multi-user HR application? Before answering that question, we have to analyze the most important characteristics of those apps and then cross-check them against technologies able to meet these demands.
Looking at the popular HR tech applications, such as Workday, Harvest, or Zoho Recruit, we’ll see that they all exhibit a similar blend of features and characteristics:
- Serving hundreds of users simultaneously
- High availability to employees, especially true for global companies with international systems
- Scalable to accommodate a growing number of employees
- Low latency and ability to handle high traffic
- Ability to collect data from multiple sources
- Ability to integrate with various external systems or applications
- Broad range of features
The Possible Consequences of Picking a Wrong Tech Stack
Although there is no “wrong” technology stack and your HR software will work with any stack you choose, the possibilities of each configuration have great impact on the development process, as well as your app’s business performance.
From a business perspective, choosing an ineffective tech stack may hinder business expansion, while selecting the right tools may give you certain advantages over your competition.
How? With robust HR applications, picking the wrong technology can either hinder their future maintenance or extensibility or be a costly mistake to fix with the right stack.
For example, scaling complex apps to serve a constantly growing number of users is significantly more difficult and expensive with verbose programming languages and a highly dependent codebase. Traffic spikes and multiple concurrent tasks might also render an app unable to deliver undisrupted services to employees using it—a symptom suggesting a pressing need for horizontal or vertical scaling of infrastructure.
Other consequences of a poorly picked tech stack may include high downtime and system instability caused by bugs and crashes.
To prevent these issues, it’s best to choose technologies that are easy to maintain and scale—technologies that are also highly performant, using as few resources as possible to deliver high speeds.
Having analyzed your business needs, a good software development company will surely be able to provide you with all the necessary advice. Usually, they will run discovery workshops to find out the best technological (but not only) solutions and align your vision with their expertise.
What You Need to Know About Tech Stacks
There are many programming languages and frameworks which you might find suitable for your particular Human Resources software and the tech stack you select should depend on your particular needs.
Firstly, remember that a tech stack comprises the app’s infrastructure, while structurally an app consists of the backend and the frontend.
An app’s infrastructure should include:
- A database—to store app data
- A caching system—to decrease database load, helping the database process surges in traffic
- A Web server—to handle requests sent from the browser and return information
If you’re looking for more details on the above components, have a look at our article on choosing a technology stack, which deals with the subject in more technical detail. In this article, we will focus on the structural components—the frontend and the backend—and show you some examples based on our experience with HR software development.
Backend First
The backend (the server-side) governs the logic behind how a website works—it’s responsible for the communication between the client-side, the server-side, and all the components within the backend. The backend usually comprises server-side software and background processes.
Background processes improve user experience and application performance and are quite self-explanatory.
Server-side software, on the other hand, determines how the server, application, database, and other components in a Web app architecture communicate and work with each other.
Web app code can be written using a backend framework, which speeds up the development process. Each programming language has a number of frameworks based on it.
For example, Ruby on Rails is a Ruby Web development framework, and we actually used it to build the backend of Cooleaf—a performance incentive platform. Our developers decided to roll with Ruby on Rails, because the app needed to be responsive and up to current Web application standards, plus it simply matched the customer’s requirements. In addition, Ruby helped us quickly deliver a highly valuable MVP, giving Cooleaf a great business advantage.
Hey, What About the Frontend?
The frontend is basically the client side, that is everything a user can see. It contains:
- HTML (Hypertext Markup Language)—responsible for the structure of the displayed content
- CSS (Cascading Style Sheets)—describes the style (presentation) of the content (layout, colors, fonts, spacing).
- JavaScript— animations, forms, image carousels, visuals, etc.
- AJAX (Asynchronous JavaScript and XML)—used for updating only snippets in a Web application without reloading the whole page.
The HTML and CSS parts of the frontend can be built with frameworks, which contain standardized code packages that speed up development and add functional components.
The JavaScript part of the frontend, is usually developed with frontend frameworks or libraries, such as Vue, Angular, or React. The use of JS frameworks greatly speeds up the development process, while lightweight frameworks, such as Vue, are highly flexible and retain their high performance regardless of the backend.
The selection of frontend technologies essentially depends on the availability of documentation, programmers, out-of-the-box solutions, and, of course, your business needs.
In the Cooleaf project, we successfully wrote the frontend in Angular. This allowed us to build a cutting-edge platform, resembling modern social media platforms.
HR apps usually need at least a bit of interactivity to improve usability and user experience. In this case, lightweight JS tools such as Vue or React are excellent. Both have plenty of libraries to choose from, with a broad variety of UI features, which will help make the application user-friendly, interactive, and highly usable.
Another benefit of using solutions such as React Native is the ability to share even 80% of the whole codebase ( across the mobile and Web versions of the app), which decreases software development time and costs. That’s the technology we used for Guild - an award-winning cross-platform Web app for sharing knowledge among certain groups of professionals.
With interactive elements sprinkled only here and there, Phoenix HTML with partials in React or Vue will also do fine. In such a setup, you don’t have to build the frontend and the backend separately, thus there’s no need for state management and the development time is faster. Also, as the project grows, you can always add more interactivity.
HR Apps and Their Tech Stacks
Let’s now take a look at some successful HR applications and the technology stacks behind them.
1. Harvest
Harvest is a time-tracking platform used by over 50 000 companies (including us!) also for invoicing and creating reports. Available as a Web and mobile app, it was built as one of the first Ruby on Rails Saas apps. Highly integrable - it even enables users to track time via Tweets.
Harvest is a robust tool built with Ruby, Rails, and Node.js in the tech stack.
Harvest Web interface for an employee
Harvest Web interface for a project manager
2. Xerpa
Xerpa is a Brazilian company providing services designed to simplify HR processes. The cloud-based solution is a robust platform for managing employee data, including onboarding, payroll calculation, and employee benefits administration. It has strong analytic capabilities with data visualization features and goes with a mobile version for user convenience.
You can find Python, React, Elixir, and Phoenix in Xerpa’s technology stack.
3. RolePoint
RolePoint is a SaaS solution for talent acquisition. RolePoint helps companies retain, acquire, and identify talents. The HR software has in-depth incentive management options and digital marketing features for boosting employee referrals. With built-in analytics, recruitment teams have a detailed insight into human capital.
RolePoint's software is used by more than 2 million employees and over 100 companies. To deliver uninterrupted services to such a large user base, RolePoint employs a variety of technologies, including Python and Elixir.
4. Teambit
Teambit is an HR app focused on evaluating team engagement and employee performance by encouraging feedback. Employers using Teambit gain a deeper understanding of their teams thanks to the ability to analyze employee-submitted data. Alongside many other feedback-focused features, the platform is equipped with a custom survey wizard and a full-fledged employee social media platform.
Teambit is lightweight and fast, with Elixir and Node.js in the stack.
Decide Wisely to Enjoy Smooth Extensibility, Scalability, and Maintenance
With a technology stack chosen with care and consideration, and backed by analyses compiled by professional developers and business analysts, a performant HR application can be an indispensable asset.
Yet, keep in mind that a technology stack is only one part of a Web app. The other part is a team of experienced Web developers who will know how to get the best out of each component in the tech stack and will use a combination of those components to build a highly performant and scalable Web app, with immaculate UI and UX that your people will love to use.