At Rivigo Labs, we are building the next generation of data acquisition, processing and visualization tools that will drive changes in the logistics industry. This essentially means building a data architecture that can cater to the needs of this complex system. Here are some of the considerations that I have for data architecture that we are building –
1. Scalability – Can handle growing amount of works
2. High availability – Allows continuity of work
3. Performance – Responsive within reasonable time
4. Maintainability – Ease of making future changes
5. Comprehendible – Easy to understand
Now, there are several technology that can fit the bill for any type of architectural considerations. But how do you select the right technology?
And, I believe this is a wrong question to ask at the initial stages of designing the data architecture. The right questions to ask are – What are the requirements? How the information and data will flow through the system? What are the events in the system and how they will be generated? Who are the consumer of the data?
The idea is to be able to draw a simple diagram that represents answers to the above questions. This will help understand the functionality and complexity of the system. And at this stage, it is essential to introduce discussions on the scalability of the system. I feel this approach is extremely cost effective because the cost of changing anything is as good as changing a diagram to represent new assumptions and flow.
Once this stage is hashed out after considering exceptions and important edge cases, the time is right to think about what is the right technology to be used to build this system?
This way you are not forcing yourself to adopt to a particular technology but opening up to evaluate multiple technology that meets the design.
At Rivigo, data meets logistics and magic follows. We are transforming the antiquated logistic industry and bringing it into the 21st century with process automation, driver analytics and data science.
Rivigo is re-envisioning the truck as a Internet of Things (IoT) platform with intelligent sensors that constantly interact with a real-time responsive logistics network. We use the IoT to assist in integration of communications, control, and information processing across logistics networks that focus on all elements including the vehicle, the infrastructure, and the driver.
The charter of Rivigo Labs is to create the next generation of data acquisition, processing and visualization tools that will drive change in the logistics industry. Some of the problems we work on includes network optimization, recommendations systems, end-to-end automation, human factor design, smart trucking systems and beautiful visualizations, all at tremendous scale. We are not only pushing the envelop in the logistics industry, but we are also generating cutting edge tools in IoT, data science and people analytics.
In nutshell, we are building next generation transportation data science!
[The post is late by a month nevertheless here it goes…]
After 11 years with Adobe, it is time for me to look at new beginning with newer opportunities outside Adobe. Today, the technology is evolving to become a mainstream driver for new business model that were not possible in the past. I am very keen to get into that space, where you are not just selling technology but using it to bring about a change at a very fundamental level – change in people’s behaviour, disrupting the way things happen while creating a great business opportunity.
Unfortunately, this also mean an end to my long journey with Adobe. I will miss all the great things that I have accomplished with my team, the great friendship that I have built and building something long lasting and helping customers being successful. I appreciate having had the opportunity to work with many smart people outside and @Adobe and wish ColdFusion and Adobe all the best!
I have joined Rivigo and excited about leading logistics innovation at Rivigo. More on that later!
As mentioned in my earlier post about support hiring, one of my tasks was to get the support team off the ground for one of our products.
There are some key differences in how different functional teams like development, quality engineering and support team operate and go about doing their day-to-day tasks.
This is not an exhaustive list but this understanding has several advantages that a manager can leverage for managing the team, collaborating with others, build a rewards and appreciation strategy that can result in building highly successful teams. Managers can also leverage this core knowledge to remove any biases if they are coming from different background and have more empathy towards employee behavior and develop risk assessment strategies.
The very first version of ColdFusion was released 20 years ago. Since then ColdFusion has ensured that the platform remains relevant to the needs of modern web application development. It has been an amazing journey and the secret sauce for its success over the years has been its ability to make hard things easy and the incredible passion shown by the product team and CF community.
I personally feel proud to be part of this journey for more than half of its life (10+ years) helping steer the ship beginning with setting up the team in India office and then successfully shipping version 8, 9, 10 & 11 of the product along with several updaters and updates. During this time, the team also created a grounds-up implementation of IDE – ColdFusion Builder, Cloud version, CF Mobile application development platform.
A very happy 20th birthday to ColdFusion and wish it can continue to delight the customers by making hard things easy and keeping the passion alive!
Performance Vs Security is like choosing between Batman Vs Superman in a duel between the two superheroes. Many of the security methodology introduces additional steps in the workflow, code logic and extra checks and these extra steps may cause slowdown in performance and usability. This is true for many systems and processes and not just software.
This is a tough choice that has to be made – which one is more preferable and when?
Or is it a fight where you want both to win? How?
I recently interviewed a candidate for a position that requires quick learning ability on multiple technical area. I have to assess if the candidate can understand a given problem quickly, learn new technical concepts and apply them to debug a problem. The need is not so much to build a deep understanding but just enough to help understand issues.
I wanted to try something different during my interview process. So during the interview, I gave the candidate a sample problem to debug in an area where he had some familiarity. But instead of running a usual interview, I gave him a laptop and access to internet – a practical and real way that many of us use to find solutions to new problems. And my evaluation focused on – approach, learning ability, structuring and breaking down the problem etc. It was an open-book interview!
I feel there is a need to re-look at the way majority of job interviews are conducted by breaking a template approach to hiring and bringing more real and practical aspects in identifying skills, capability, competency and cope-ability.
The process of setting up the support team continues to provide me more opportunities to try out different styles of interviewing. I already shared some of the approaches that I tried out earlier in another article innovative approach to support hiring.
A latest report from Econsultancy from a survey of 600 clients identifies the most important functions of ecommerce solutions.
As an ecommerce company, does this list fairly represent the most important functions? How about which areas are served well and which areas still have problems and challenges? For example, is mobile support a strong solution in your ecommerce solution? Are you satisfied with the search functionality?
The other interesting point to note in the report is that email database integration is the topmost area of integration (61%) followed by CRM (52%)
Which technology platform provides the best solution for critical functionality in ecommerce?
My excitement has no limit seeing this in my latest VM!
While working on a recent project, I prepared a list of following questions that helped me identify tasks that can lead to features with better, cheaper and faster characteristics.
– Repeatable tasks that can be minimized
– Mundane tasks that can be automated
– Challenging tasks that can be simplified
– Unnecessary tasks that can be removed or hidden
Once these tasks are identified, the next steps was to decide on what actions can be taken to minimize or simplify them. The table below summarizes a simple framework where tasks can be listed with appropriate action to solve them.
The framework allows you to create new categories of task by adding a new row, or defining new actions by adding extra value in the Action column. Finally, you can define the characteristic of each solution (Better/ Cheaper/ Faster) that you have identified for a given problem. Since this framework focuses on finding problem tasks, there is greater flexibility in defining, modifying and reaching a cheaper, better or faster solution.
For example, a common task that many of us do is to interact with phone while walking. Now if this is a problem that you want to solve, you can define a new category called “Hazardous task” by adding a row for it. An action that can “Minimize” the hazardous nature will be to build a proximity sensor in the phone. And you can classify this solution to be “better” than what is already available on phones or what user do today to avoid bumping into someone!