A solution starts with an idea which becomes a proposal and soon it translates into work. In enterprise software development where projects are long and scope is large, people become risk averse so they propose new idea with either a PoC (proof of concept) or a demo. These PoC’s and demos is the key that sells more than your words. Action speaks louder than your words and these demos are what even your customer will demand before they invest in your new idea.
Most of the time PoC and demos are built for solutions which are pushing some boundaries or are cutting edge i.e. based out of new technologies, concept or way of working. And the engineering teams who build these are the ones who play a major role in driving the entire project effort. While building these demos you might not have access to the resources, teams or even company money to host your server sometimes. Sometimes you have to generate own data to demonstrate the idea on systems. In those scenarios you need to have end to end understanding of systems to build or help build, present and impress the customer.
2.Knowledge is power and experience is potential
Mastering your craft and becoming the go to person of your floor don’t only attract promotions but also a respect for you. You feel much more confident and your awareness is high, much higher than Tim on the next building who has a monthly subscription of the Most Tech-Trending technology magazine and thinking about starting his own startup but never completed the App because in Tech-Trending technology magazine don’t cover how to code what runs your App.
You also don’t have to work on everything which you learnt but having a deep understanding helps you speak from your experience and not guessing in your monthly meeting where your Boss Mike always ask you “What do you think about this solution?”
You mentor people, you in go in L&D Team training as guest lecturer, you take brown bag session for other employees of your company and before taking any major technology decision the C Suit always invites you to review it. That kind of position is having a fulfillment of its own. And at the end of the day when you are sleepy you remember your day and feel good about your life and even the next day.
3.Work is not always simple on other side of the edge
When you are aware about end to end development, you know exactly what the integration developer will do to your Backend code and how the UI team will use API’s to run your backend development. You design the backend code such that the UI teams thanks you because you are returning the object which is exactly the same data structure which the Table view in front end is made of because you know the UI team can directly bind the data in model.
You can take important decision keeping in mind front end, integration, backend and long term requirement of the project and your customer always consults you before anyone for any major question on the project.
Let’s understand what actually is CORE. Why did we name it CORE?
CORE stands for Create your Own Recommendation Engine. What we have experienced in enterprise is machine learning and big data are the technology where major new developments are being made and these are the consultants who are not only future ready but are also making a lot of money in current projects as well.
To give you a number, it is about 80 to 90 % of the projects where people are working on a Big Data challenge and in fact big data and machine learning are growing together and they have gone hand in hand too and there is no other way to do it, because machine learns better when you train them with large data set. The real challenge, the Million dollar question is how to do it in real time and where can it fit in your business. It is like your first salary, you don’t know what to do with it.
When you are using an application where entire data which is acquired over a period of 30 or 40 years or may be 5 years of data or even 1 year of data .In this case the challenge is much harder to solve because it becomes a big data problem and the tools necessary to solve them are completely different. Even a simple task of sorting 10 million records or just 1 million records can become a big data challenge far along making it do what your customer wants, which is like racing a bunch of horse with spoon in mouth and making sure the potato on it doesn’t fall.
The next thing is machine learning. Here, if you can’t really use the power of a computer and take advantage of its ability to learn then it can’t help you be more productive. I mean no disrespect here but in that case there is no difference in you and Billy who lives next door and still thinks unicorns are real.
To understand the seriousness of the situation you might have to look into who might use it. Consider it the dragons used in Games of Thrones; if you have dragons just 3 of those then you can defeat the entire army of 10,000 men or more. Machine Learning is that dragon if you know how to use it. You might not fly with it or say cool commands while riding it but you still need to know the commands to start your ML tasks right?
When it comes to real competition any big company having a known rival, and they need to keep themselves one step ahead because sometimes it is winners who take it all and losing means a lot. Imagine you are a FMCG company and you launched a product in a new market and want to make sure the 23.7 Million USD you invested to make that product go live and available in store gives you return and also take off. You also need to make sure of what if scenarios. In your successful campaigns, knowing what will happen and getting prepared for it before hand is all the difference it makes.
It can happen that you spend 30% of the budget marketing, hiring a big celebrity to endorse the product and create an awesome advertisement. If the product took off and suddenly you realized that the container on which it is sent cannot be produced on large quantity because the raw material is out of stock. And it takes month to get a new stock of raw material as the plastic you use have a special procedure of manufacturing which is fermentation and it takes 3 months for manufacturing. In that case if you are a marketing manager or production manager who was marked in CC of every email for this new product launch better start looking for a new job and good luck if they ask you the question – why did you leave your previous Job?
The entire point here is, it is real for businesses when they put money on any new endeavor which can be an investment from their part and failures have consequences. Your solution can make all the difference if it is done right or it is not done right. It can be the root cause of you and your company winning most innovative business award or becoming an example which they teach in business school of what not to be!
Project CORE is an enterprise grade application which combines the power of Machine Learning of Big Data and delivers to your enterprise capability to run on demand with Integration to ERP MRP (Material Resource Planning) Integration.
In the following week you will:
Become an expert in Angular4 and you will be able to call yourself an experienced UI developer with it.
Get hands-on experience behind the technical jargons of Machine Learning and put the concepts into practice in day to day life. Never before in a project, you might have utilized it and to be honest it is not an easy task to process such large data sets. It took us almost 2 days to run the entire training set on our own local system. And as wisely said… “If you want to rise, do the difficult”.
Know the Integration of your Big Data solution which is running on Hadoop Spark, a powerful system to take care of scaling of data, its processing and all the wheels and whistles of Big Data you might have read in the newspaper, which hangs at your office’s entry gate. Ever wondered why they keep the tech journal in the newspaper and not in the Filmfare, it is because they want you to focus on work, not on the next movie which is being released. You see management just wants you to read what they want you to read. Ok, let’s stick to the issue in hand.
Get to know insides of working of SAP ERP with MRP. MRP is one of the most crucial activities which a production company does to manage its future production and the difference between doing it right and not doing it right can cost millions of dollars.
Get to know about the SAPUI5 application building which is all about what goes where, you have pre built components in UI5, all you need to know to become a good UI5 developer is
Know what all components you have
How to Use it
When to Use what
The last one is most important because most of the time you end up hating you customer because they want a sap.m.Table instead of sap.m.List because, list is list and tables are tables. Anyway if you don’t get that joke please go through our SAPUI5 Professional Development.
So these are top advantage what Project CORE is going to offer you!
Some people come into this world wondering why and other have the curiosity to ask why not!
Project CORE is designed to keep that curiosity alive in you that you might have lost and that might not be true in your case but is it worth asking.
Project CORE(Create your Own Recommendation Engine) is one of its kind to learn technologies End-to-End while building live enterprise grade project using the right tools from scratch. While having an experience in more than just one technology is essential, with Project CORE you will gain experience, in-depth and step-by-step understanding of how things are done in enterprise projects of present and future.
With focus on modularization in current Industry Standard, we have included all the technologies which are in demand and necessary to make a powerful and scalable enterprise grade application and put them in front of you, the way you will be working with these.
Project CORE is hands on course on End to End project development and run, which will give you all necessary insights on how to go from
Ideation to Design
Design to Development
Development to Deployment
And Deployment to Delivery.
You have experienced the on-demand content on our platform and many other platforms but for the first time, you will experience live project development with us on Project CORE.
Use case of Project CORE:
1.1 Functionality of the Use case
The use case is divided into two parts
Sales and Commerce End
Enterprise End of A FMCG Company
1.1.a Sales and Commerce end
Let’s discuss about Sales and Commerce first
In Sales and Commerce end, our user is marketing manager who wants to take a Smart decision with the help of Machine Learning to a huge product data set which comprises millions of products (a Big Data).
“A Big e-Commerce Platform decided to bundle items together based on the co-products. The main idea is to bundle (combining the items in one package) together. If Product A is sold frequently with product B then selling A and B together will increase the sales. Also if A is a top selling product then it will increase the sales of B as well. Marketing team will also run few advertisement campaigns on this bundling and the marketing manager who has to take this call, his whole promotions depends upon this.”
Now comes the first challenge, there are lot of products in an e-Commerce company and they can bundle lot of items together finding the most optimal item which need to be selected is a major challenging task.
For more important reasons, they will be spending a lot of marketing coverage and showcasing the bundle on the first page and if the selection is sub optimal then the return of the decision can be questioned.
So the process of decision making needs the help of Big Data Analytics and Machine Learning. Machine Learning algorithm will go to all product list one by one and find out what are co-products i.e. what are the products which sells together. Also in this case as the numbers of products are too much the processing might need big data tools.
Now let’s talk about the UI that we are going to create for marketing end in this project. The wireframe for the UI is as below which is created in Moqups which is here.
1.1.b Technicality of the UI
The UI is made with D3JS and Angular4. The UI is built with
Web frame – Which holds the graph.
Graph – Which shows the product node which is linked with other similar product nodes.
Tables – Which shows the products which are linked to it.
Slider – To Zoom in and Zoom Out
Drop Down – To Select the View
We have used here Angular4 for the front end which is to be used by marketing manager and team to brainstorm the product.
Main technical reason to use Angular4 is:
Angular4 is Open-Source and Made by Google®
The App made with Angular4 are much more responsive
It has huge list of components in its library
Ability to integrate with third party Libraries is much better with Angular4
It is lightweight which means the size of final application is smaller
Initially when we fire up the App from marketing manager point, we will have bundle Items view. Here we have a D3JS Graph where the top selling elements will be shown initially
If we click on any one of the node, it will show the item’s co-product these co product are the items which are most frequently sold with the current item and are found by machine learning
We see in the table the average sales rank of the item and sub item.
We select the item bundle which has a better sales rank.
We send the new selected bundling information to the production end so they can take care of sudden peak of demand of the bundled item.
1.1.d Functionality for Machine Learning and Big Data
The marketing manager backend will have a huge amount of data to find out which items are co-products and this is both a big data and machine learning use case. For machine learning we are going to use Collaborative Filtering algorithm. It uses Hadoop Spark ML Library features which separates the complete data into smaller chunks and then processes it in the Cluster Mode. We will be using REST API to expose the data that will be consumed by Angular4 and D3JS to Visualize it.
1.1.e More about Data
For this use case, we have taken data from Stanford University. The data was collected by crawling Amazon® website and contains product metadata and review information about 548,552 different products (Books, music CDs, DVDs and VHS video tapes).
For each product the following information available:
List of similar products (that get co-purchased with the current product)
Detailed product categorization
Product reviews: time, customer, rating, number of votes, number of people that found the review helpful
similar: ASINs of co-purchased products (people who buy X also buy Y)
categories: Location in product category hierarchy to which the product belongs (separated by |, category id in )
reviews: Product review information: time, user id, rating, total number of votes on the review, total number of helpfulness votes (how many people found the review to be helpful)
After parsing the data we will get these details
The first column shows the product id, the second column shows User ID and the third column shows the review given by the user.
All the operations will be performed on cloud running SPARK on Hadoop’s HDFS which will be hosted in AWS system and Python will be used to write the algorithms and logic here.
1.1.2 Enterprise End of a FMCG Company
Consider the previous use case, when the marketing manager locks a product and adds it to a bundle. Because, of this extra marketing effort the sales of the product will spike up. Depending on the analysis they might have a prediction of how much sales will spike for that particular selected product. To meet this new increased demand of the products, manufacturing needs to be done fast and in much larger quantity for coming 2 months (the duration until the campaign lasts) and it needs to be updated into the backend which runs the entire production and factory production to the item.
This factory can be a separate entity from the e-commerce platform or can also be entirely different company altogether. In this case if the internal company is running on SAP® ERP then the production management team on getting this update will be using MRP – Material Requirements Planning to increase the production. If they cannot meet the requirement upfront then they will update the marketing manager team of e-commerce end so they can select the second best option or save marketing budget. As the material might become out of stock if it is not produced to meet the spiked demand.
1.1.2.a A brief about MRP – Material Requirements Planning
Material Requirement Planning (SAP® MRP) is a tool which helps in planning the requirement quantities and schedules of a given material. It not only ensures availability of the material for which MRP is carried out, but also ensures availability of the components (of all the BOM levels) below in the BOM structure.
Now companies which are running on SAP® are using HANA®, a powerful in memory database and platform to manage high processing load of operation activity, planning and real time control.
So in SAP® HANA®, the MRP is done with MRP Live
Also in HANA® Live we have MD01N to do MRP. This will handle data in real-time and faster. The entire MRP planning sometimes are custom based on the internal processes of the company (FMCG Company that manufactures the product) and Project CORE will cover the detailed step of the entire MRP process too.
1.1.2.b Front end of MRP Cockpit
The entire application will be made with custom application development utilizing XML views in UI5. The main front end is a tile view where the shortage of the items will be reflected once the API communication comes from the e-commerce end. And the details line item of which material is having shortage is also shown in front end UI once the user press on the tile of Material Shortage which can be result of increase in forecasted demands when the marketing team decides to go for bundling of items with best seller and start advertising campaign.
1.2 Project CORE Summary
Project CORE is kept realistic and the entire application will be made is enterprise grade quality. The main purpose of Project CORE is to expose learner on the tools and techniques and inner working of technologies, which are:
1. SAP® HANA®
5. Python with Spark on top of Hadoop
6. Machine Leaning with Spark
7. Integration of the entire stack with REST API
While working through this app, you will face the same challenges which you will face on your job where you always have less time and by overcoming those challenges you will gain real project experience. After the review of the application which you make, UI5CN will also hand-off Project CORE experience certificate.
First Reason: You learn when you are working on any technology.
If you are reading about a technology and looking at learning videos then you are just getting a theoretical idea or knowledge about it. With Project Core, what we intend you to do is get a hands-on on the Platform and on the technology itself that involves all the stacks and how they link and merge together. When your mind is immersed in problem solving, the solutions will stick in your memory and they will be easily accessed when you need them, while working on the project.
For example, if you are only focusing on Angular4 or UI5 then, while learning the technologies, you will learn:
The details involved in creating application
How to integrate components
What are those components
However, in a realistic project, the difficulty level is much higher and the kind of issues you will find are not straightforward. A normal case can be a customer who requires some of the changes in the API on the fly and they are changing the design every time, which leads to inconsistencies.
These kinds of problems are never covered in any training and that is what we intend to provide in Project CORE: a vast information on how you are going to work on enterprise project in reality.
Moreover, in an enterprise solution, we might have a number of solutions co-working together, each one with a different stack.
You can think this might be a planning issue but, if you look at it, you see that each solution is designed to solve its own set of problems with a particular framework.
Second Reason: True learning is experience
However, what you will get in return is information and more information. We already have Google where entire world’s information is available free at your disposal and one does not need to be another Google. So, what is it that one needs to do? From our experience, in any learning process, end result should be experience because if you are learning without examples it will just be theory. When you are implementing those concepts in projects to solve a real life problem, you will gain experience. While you implement your information into practice, you will not see the seamless blend of the inner working if you have never done it before. And these are the small things which will take a lot of time. According to 80-20 rule, 20% of the concept takes 80% of time and 80% of the concepts take 20% of the time.
The major part of the time should be spent on learning the implementation, how libraries work internally and where they don’t.
Also in the same terms, unexpected bugs that can take hours to solve, which you might never have heard of while acquiring the information, are common while you try to implement. These are mistakes that result into experience, so why not acquire the experience in first place.
For example, if you are going to install a third party plug-in to your visualization and later on you find that it cannot handle real time data streaming, the code will need to be updated and will suboptimal as it could have been done in a better way.
These mistakes can only be avoided if you are aware of the framework with a hands-on working on large projects that cover a vast scope, rather than just creating a to-do app or hello world app.
Third Reason: Real life problem solving involve working on multiple things
In real life projects, most of the systems we build are a combination of multiple tech stacks, solution interfaces and is more complex to integrate them than just to develop or build.
Imagine you are making a big building, the major work not only involves building the individual ceramic, glass, doors, elevator or balcony but how it fits together to form a solid building. Each part should be linked with other with solid linkage otherwise chances of mishap can come anytime.
In enterprise systems as well, the software is the central nerve. If it does not coordinate properly, then the business gets impacted. At the end, it is not the fault of the individual parts, which might have been built with quality, but the integration and connection of the parts that make the entire business RUN.
Imagine if you logon to your most favorite e-commerce store that always have your kind of products. The UI is awesome and you want to buy the yellow T-Shirt, which you saw last time in your nearby store, and now you are getting an 80% off on it. You cannot believe it is happening. You click on the prime for next day delivery and suddenly you realize that the payment gateway is down. The offer is ending in 2 hrs and you cannot believe that because of the payment gateway error you won’t finish your transaction, losing the opportunity of the week. Does it sound familiar? This is the reason why big companies hire experienced developers and pay them well so that they can make money by ensuring the business is always running.