Magento is an open-source platform for building online stores that also provides omni-channel experiences to your customers. First released in 2008, it has grown continually and become the most popular eCommerce platform. Over 250,000 merchants worldwide are using the Magento Commerce platform, which represents around 30% of the total market share.
As big as the Magento ecosystem is, it can easily confuse newcomers. To help orient you, we’ll give an overview of the different approaches and versions of Magento available for building an online store and some of the resources available for doing so.Magento Website Development Approaches
The two main approaches for [...]
Developing software is great, but… I think we can all agree it can be a bit of an emotional rollercoaster. At the beginning, everything is great. You add new features one after another in a matters of days if not hours. You’re on a roll!
Fast forward a few months, and your development speed decreases. Is it because you are not working as hard as before? Not really. Let’s fast forward a few more months, and your development speed drops further. Working on this project is not fun anymore and has become a drag.
It gets worse. You start discovering multiple bugs in your application. Often, solving one bug creates two new ones. At this point, you can start [...]
Have you been googling articles on how to build an outstanding developer resume? Stop right now. It’s a waste of time! Cover letter? That’s a waste as well.
Let me tell you how ancient the practice of using a resume is. According to Wikipedia, It started with Leonardo da Vinci, who sent a letter to a potential employer describing his experience and skill set. In 1481! That’s how ancient it is.
In the past, you’d send your resume over to a potential company. They’d screen the list of resumes and invite people over for an in-person interview. The person with the best sales chops would always get the job. The charming, outgoing extrovert.
Recently, however [...]
Whenever you, as a developer, are given a task based on existing code, you have to face many challenges. One such challenge—more often than not the most demanding one—involves understanding the data model of an application.
You are faced normally with confusing tables, views, columns, values, stored procedures, functions, constraints, and triggers that take a long time to make sense to you. And, once they do, you start noticing many ways to improve and take advantage of the stored information.
If you are an experienced developer, chances are you will also notice things that could have been done better in the beginning, i.e., design flaws.
In this article, [...]
Stylesheet development with Sass, even when using its most basic features, like nesting properties or variables, saves valuable time and makes life easier for front-end developers. It’s not surprising that CSS pre-processors have been widely adopted as the de facto way of creating styles for websites and applications; we simply can’t live without them anymore.
When it comes to theming; that is, changing the look and feel of your website while maintaining its layout, Sass’ features—like mixins or functions—can feel like taking a plane instead of walking! In this SCSS tutorial, we’re going to create a minimal theme and use SCSS to give our CSS programming some [...]
When someone requests a project, we have to assume that it’s very important and that they deeply care about the product you’ll be working on. So, it is safe to assume that a client is bound to build a lot of expectation around the final product, and therefore may become emotional when it comes to delivery.
Throughout the course of the project, a client might get super excited about a delivered feature and love you, and on the next day he or she can discover something doesn’t work and that affection will be gone. More often than not, it’s just a matter of client communication gone wrong.
Although there are no recipes for success when it comes to remote software [...]
Release management, as the name suggests, is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases (Humble & Farley, 2011).
It is a pretty big topic in itself and can only be perfected over time by trying different iterations with the development teams and matching business needs or feature releases. We will try to cover the industry practices of metadata management, CI building, and sandbox management for managing an organization’s release train.
But what is a release train?
A release train is an incremental and predictable feature delivery [...]
Android has almost 82 percent of global mobile market share with more than two billion active users going into 2017. (Apple controls nearly all of the other 18 percent.)
The reason for this is obvious to some: Android is open source and free to view, download, modify, or redistribute. These facts make it very attractive to mobile manufacturers since they can bring their own experience to clients directly at no additional cost.
Moreover, the Android ecosystem has expanded in recent years to more than just mobile devices. Android Auto launched in 2014, and more than 45 auto brands have brought the Android OS into car PCs, which can then easily connect to Android devices [...]
Modern web applications and their underlying systems are faster and more responsive than ever before. However, there are still many cases where you want to offload execution of a heavy task to other parts of your entire system architecture instead of tackling them on your main thread. Identifying such tasks is as simple as checking to see if they belong to one of the following categories:Periodic tasks — Jobs that you will schedule to run at a specific time or after an interval, e.g., monthly report generation or a web scraper that runs twice a day. Third-party tasks — The web app must serve users quickly without waiting for other actions to complete while the page loads, e.g., [...]
Handling errors correctly in APIs while providing meaningful error messages is a very desirable feature, as it can help the API client properly respond to issues. The default behavior tends to be returning stack traces that are hard to understand and ultimately useless for the API client. Partitioning the error information into fields also enables the API client to parse it and provide better error messages to the user. In this article, we will cover how to do proper error handling when building a REST API with Spring Boot.
Building REST APIs with Spring became the standard approach for Java developers during the last couple of years. Using Spring Boot helps [...]