From 98d0aa5103c9f6efa1086f249de417fc29847b39 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Fri, 8 Jun 2018 18:14:13 +0400 Subject: [PATCH] Update backend roadmap --- backend.md | 1 - devops.md | 1 - frontend.md | 181 --------------------------------------- project/backend-map.json | 2 +- 4 files changed, 1 insertion(+), 184 deletions(-) delete mode 100644 backend.md delete mode 100644 devops.md delete mode 100644 frontend.md diff --git a/backend.md b/backend.md deleted file mode 100644 index 0ffdd02fc..000000000 --- a/backend.md +++ /dev/null @@ -1 +0,0 @@ -// TODO \ No newline at end of file diff --git a/devops.md b/devops.md deleted file mode 100644 index 0ffdd02fc..000000000 --- a/devops.md +++ /dev/null @@ -1 +0,0 @@ -// TODO \ No newline at end of file diff --git a/frontend.md b/frontend.md deleted file mode 100644 index b83baaae1..000000000 --- a/frontend.md +++ /dev/null @@ -1,181 +0,0 @@ -> Textual form of the roadmap, feel free to fork and track as you learn - -## Frontend Developer Roadmap – 2018 - -This file contains the frontend roadmap translated in the checklist form to make it easier for others to contribute and to fork and keep a check on their progress. You can read the commentary on the frontend roadmap [in this medium article](https://medium.com/@kamranahmedse/modern-frontend-developer-in-2018-4c2072fa2b9c) - -## Step 1 – Learn the Basics - -First thing that you would want to do is learn the basics which includes learning the basics of HTML, CSS and some familiarization with JavaScript syntax. - -- [ ] Learn the basics of HTML - - [ ] Learn the basics and how to write semantic HTML - - [ ] Understand how to divide page into sections and to structure the DOM properly - - [ ] **Task** Make at least 5 HTML pages – focus on structure, don't worry about the *beauty* yet -- [ ] Learn the basics of CSS - - [ ] Learn the basics of CSS - - [ ] Learn how to use Grid and Flexbox - - [ ] Media queries and how to make responsive websites - - [ ] Understand CSS Specificity, Box-Model etc - - [ ] **Task** Style the HTML pages that you made in last step -- [ ] Basics of JavaScript - - [ ] Learn the syntax and the basic constructs - - [ ] Learn how to manipulate DOM - - [ ] Understand the concepts such as hoisting, event bubbling, prototypes etc - - [ ] Learn Ajax (XHR) - - [ ] Learn new features in ES6+ and how to write modular JavaScript -- [ ] Learn jQuery – **Optional (you can leave it for now and revisit later)** - -## Step 2 – Practice what you have learnt! - -I say this a lot and I will say it here again, you don’t learn anything without practice. You might have a momentary feeling that you understand something but it would soon go away if you don’t practice. Make sure that you practice as much as you can, while you are following this roadmap. - -Go ahead and make some responsive website and add interactivity with JavaScript. You can copy any existing webpage that you might find interesting but **remember to use everything that you have learnt till this point**. - -## Step 3 – Optional but Highly Recommended - -Before you go any further, I would recommend you to go and learn some [git](https://git-scm.com/) if you haven't learnt already. it is really going to help you as you go further. You don't have to learn everything about it, just learn the below listed and keep learning as you continue and face any issues. - -Its time to get into the real business now. Open [Github](https://github.com) and search for some projects and try to open some pull requests in some open-source projects. Some of the ideas for pull requested are listed below: -- Enhance the UI, make any demo pages responsive or improve the design -- Look at any of the open issues that you can solve -- Refactor any of the code that you think can be improved - -Link this repo and tell them you are learning and ask for feedback on your PR and how you can improve. - -## Step 4 – Learn about Package Managers - -NPM and Yarn both are almost same in usage; you can learn one of them and you automatically learn the other. - -- [ ] Learn how to use NPM -- [ ] Learn how to use Yarn -- [ ] Understand Semantic Versioning -- [ ] **Task** Install some external library using yarn or npm into the webpages that you made previously - -## Step 5 – Learn CSS Preprocessors - -Preprocessors enrich CSS with the functionality that it isn’t capable of by default. There are different many options Sass, Less, Stylus etc. If I were to pick one, I would go for Sass. However, PostCSS has been gaining a lot of traction lately, it is a nice-to-have and is sort of “Babel” for CSS. You can use it stand-alone or on top of Sass also. I would recommend you to learn Sass for now and revisit PostCSS later when you have time. - -- [ ] Pick one of these - - [ ] **Sass (Recommended)** - - [ ] Less - - [ ] **PostCSS (do this later)** - - [ ] Stylus - -## Step 6 – Learn any CSS Framework - -This used to be way up in the chart, but I moved it down below as they aren't really needed any more and can be mastered without much effort. If you would want to pick any, there is one under every rock. The ones that I liked the most among the ones that I tried are Bootstrap, Materialize and Bulma. But if you look at their demand in market I would pick Bootstrap if I was starting today. - -- [ ] **Bootstrap (Recommended)** -- [ ] Materialize CSS -- [ ] Bulma - -## Step 7 – Learn how to organize CSS - -As your applications grow, CSS start to become messy and unmaintainable. There are multiple ways to structure your CSS better for scalability - -- [ ] **BEM – Recommended** -- [ ] OOCSS -- [ ] SMACSS -- [ ] SUITCSS -- [ ] Atomic - -## Step 8 – Learn the Build tools - -These are the tools that help you in bundling, building and development of your frontend applications - -There used to be alot of stuff in the task runners but today I would just pick NPM scripts, however if you want to pick something else, have a look at gulp - -- [ ] **NPM Scripts (Recommended)** -- [ ] Gulp - -There are several linters, but I would go for ESLint. Feel free to have a look at others and see why one over the other - -- [ ] **ESLint (Recommended)** -- [ ] JSLint -- [ ] JSHint -- [ ] JSCS - -**Use Webpack for apps and Rollup for libraries**. However, you don't need rollup for now; everything that it does, you can do it with Webpack also, so go for Webpack and look into Rollup later - -- [ ] **Webpack (Recommended)** -- [ ] Rollup -- [ ] Parcel - -## Step 9 – Create something – Maybe a library - -Go to Github and Have a look at the source code of libraries that people have made, pick an idea and make some library with the below listed requirements - -- [ ] It should use Sass for styling -- [ ] It should be written in ES6 -- [ ] It should be a UMD library -- [ ] It should be using Babel to allow usage in older browsers - -## Step 10 – Learn any Framework - -There are several options, when it comes to frameworks. However, below listed frameworks are the ones that I would recommend. You can pick any of them, however if you ask me for the personal picks I would choose React or Angular. However, have a look at any of them and see what you like - -- [ ] **React** - - [ ] Redux - For large scale apps and can be used outside react also - - [ ] Mobx - For smaller apps and can be used outside react also -- [ ] **Angular (Important – Learn Angular 2+)** - - [ ] Rx.js – Is really powerful can be used out of angular also - - [ ] Ngrx -- [ ] Vue.js - - [ ] Vuex - Similar to redux but for Vue - -## Step 11 – Practical Time - -Now you know *everything* that one might need to build a modern JavaScript application. Go ahead and make some application with whatever framework you picked. You can find some of the ideas in the `ideas` directory in the repository; pick anything and start! - -## Step 12 – Learn about Performance - -Once you are done making the application from Step 9, read about how to **measure and improve performance**. For example look at **Interactivity Time**, **Page Speed Index**, and **Lighthouse Score** etc. - -## Step 13 – Testing your Apps - -There are lots and lots of different tools for different purposes. I mostly find myself using a combination of Jest, Mocha, Karma and Enzyme. However, before you jump and pick any, it would be better if you **first understand the different testing types**, look at all the options available and use the ones most suitable for your needs. - -Here is a really nice summary to get you started – [An Overview of JavaScript Testing in 2018](https://medium.com/welldone-software/an-overview-of-javascript-testing-in-2018-f68950900bc3) - -- [ ] **Jest** -- [ ] **Mocha** -- [ ] **Protractor** -- [ ] **Karma** -- [ ] **Enzyme** - -## Step 14 – Progressive Webapps - -Learn about Service Workers and how to make Progressive Webapps - -## Step 15 – Static Type Checkers - -Static type checkers help you to add type checking to JavaScript. You don’t need to learn these but they really give you superpowers and can be learnt in a few hours and then you can keep . There is mainly TypeScript and Flow. I love TypeScript and would pick it but feel free to check both and pick one of your liking. - -- [ ] **TypeScript (Recommended)** -- [ ] Flow - -## Step 16 – Learn about Server Side Rendering - -There are different options, depending on what framework you are using - -- [ ] React - - [ ] Next.js - - [ ] After.js -- [ ] Angular - - [ ] Universal -- [ ] Vue.js - - [ ] Nuxt.js - -## Step 17 – All the things not mentioned - -Canvas, HTML-5 APIs, SVG, sourcemaps, functional programming, TC39, Progressive enhancement, graceful degradation etc. Go Figure! - -## Journey Never Ends - -And the journey doesn't end here. There is still a lot of stuff you can learn about, you just have to keep a healthy appetite for learning and not settling. - -Good luck 👏 - - - diff --git a/project/backend-map.json b/project/backend-map.json index 8e17df010..858c84199 100644 --- a/project/backend-map.json +++ b/project/backend-map.json @@ -1 +1 @@ -{"mockup":{"controls":{"control":[{"ID":"0","measuredH":"40","measuredW":"146","properties":{"bold":"true","size":"32","text":"Back-end"},"typeID":"Label","x":"598","y":"127","zOrder":"53"},{"ID":"1","h":"71","measuredH":"70","measuredW":"12","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":6,"y":0,"length":6},"p1":{"x":0.5214417744916817,"y":-0.11497227356746767,"length":0.533966429538699},"p2":{"x":12,"y":70,"length":71.02112361825881},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"13","x":"663","y":"40","zOrder":"54"},{"ID":"2","measuredH":"32","measuredW":"32","properties":{"color":"10027263","icon":{"ID":"github","size":"medium"}},"typeID":"Icon","x":"955","y":"59","zOrder":"55"},{"ID":"3","measuredH":"25","measuredW":"295","properties":{"bold":"true","color":"10027263","size":"17","text":"kamranahmedse/developer-roadmap"},"typeID":"Label","x":"994","y":"63","zOrder":"56"},{"ID":"4","measuredH":"32","measuredW":"32","properties":{"color":"10027263","icon":{"ID":"twitter","size":"medium"}},"typeID":"Icon","x":"955","y":"105","zOrder":"57"},{"ID":"5","measuredH":"25","measuredW":"133","properties":{"bold":"true","color":"10027263","size":"17","text":"kamranahmedse"},"typeID":"Label","x":"995","y":"110","zOrder":"58"},{"ID":"6","h":"79","measuredH":"78","measuredW":"13","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.4416543574593796,"y":0.14967996061053668},"p2":{"x":3,"y":78},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"14","x":"702","y":"177","zOrder":"59"},{"ID":"7","h":"71","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"400","x":"528","y":"237","zOrder":"60"},{"ID":"8","measuredH":"25","measuredW":"132","properties":{"bold":"true","size":"17","text":"Pick a Language"},"typeID":"Label","x":"576","y":"249","zOrder":"61"},{"ID":"9","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"542","y":"249","zOrder":"62"},{"ID":"10","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"1"},"typeID":"Label","x":"550","y":"251","zOrder":"63"},{"ID":"24","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"314","zOrder":"64"},{"ID":"27","measuredH":"25","measuredW":"166","properties":{"bold":"true","size":"17","text":"Scripting Languages"},"typeID":"Label","w":"371","x":"547","y":"322","zOrder":"65"},{"ID":"29","h":"8","measuredH":"7","measuredW":"73","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":73,"y":1,"length":73.00684899377592},"p1":{"x":0.3537744641192917,"y":-0.02907735321528425,"length":0.35496741249429986},"p2":{"x":0,"y":7,"length":7},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"74","x":"916","y":"335","zOrder":"52"},{"ID":"30","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"989","y":"316","zOrder":"66"},{"ID":"31","measuredH":"25","measuredW":"34","properties":{"bold":"true","size":"17","text":"PHP"},"typeID":"Label","w":"45","x":"1029","y":"325","zOrder":"67"},{"ID":"32","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"989","y":"361","zOrder":"68"},{"ID":"33","measuredH":"25","measuredW":"61","properties":{"bold":"true","size":"17","text":"Node.js"},"typeID":"Label","w":"68","x":"1029","y":"370","zOrder":"69"},{"ID":"34","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"989","y":"271","zOrder":"70"},{"ID":"35","measuredH":"25","measuredW":"40","properties":{"bold":"true","size":"17","text":"Ruby"},"typeID":"Label","w":"45","x":"1029","y":"280","zOrder":"71"},{"ID":"36","h":"36","measuredH":"35","measuredW":"76","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":76,"y":35,"length":83.6719785830358},"p1":{"x":0.4949292958148836,"y":-0.07470361376946151,"length":0.5005353511651633},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"77","x":"924","y":"348","zOrder":"49"},{"ID":"37","h":"53","measuredH":"52","measuredW":"92","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":92,"y":2,"length":92.02173656261873},"p1":{"x":0.321780372126961,"y":-0.08792411528639182,"length":0.33357646489981907},"p2":{"x":0,"y":52,"length":52},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"93","x":"915","y":"290","zOrder":"51"},{"ID":"39","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"989","y":"226","zOrder":"72"},{"ID":"40","measuredH":"25","measuredW":"56","properties":{"bold":"true","size":"17","text":"Python"},"typeID":"Label","w":"68","x":"1028","y":"235","zOrder":"73"},{"ID":"41","h":"101","measuredH":"100","measuredW":"81","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":81,"y":1,"length":81.00617260431454},"p1":{"x":0.266776677667767,"y":-0.05445544554455441,"length":0.2722777833333223},"p2":{"x":0,"y":100,"length":100},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"82","x":"914","y":"243","zOrder":"50"},{"ID":"42","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"361","zOrder":"74"},{"ID":"43","measuredH":"25","measuredW":"177","properties":{"bold":"true","size":"17","text":"Functional Languages"},"typeID":"Label","w":"191","x":"550","y":"369","zOrder":"75"},{"ID":"46","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"272","y":"367","zOrder":"76"},{"ID":"47","measuredH":"25","measuredW":"59","properties":{"bold":"true","size":"17","text":"Clojure"},"typeID":"Label","w":"61","x":"312","y":"376","zOrder":"77"},{"ID":"48","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"272","y":"412","zOrder":"78"},{"ID":"49","measuredH":"25","measuredW":"58","properties":{"bold":"true","size":"17","text":"Haskell"},"typeID":"Label","w":"68","x":"312","y":"421","zOrder":"79"},{"ID":"50","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"272","y":"322","zOrder":"80"},{"ID":"51","measuredH":"25","measuredW":"52","properties":{"bold":"true","size":"17","text":"Erlang"},"typeID":"Label","w":"61","x":"312","y":"331","zOrder":"81"},{"ID":"52","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"272","y":"277","zOrder":"82"},{"ID":"53","measuredH":"25","measuredW":"46","properties":{"bold":"true","size":"17","text":"Scala"},"typeID":"Label","w":"68","x":"311","y":"286","zOrder":"83"},{"ID":"54","h":"86","measuredH":"85","measuredW":"140","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":3},"p1":{"x":0.26833582265545164,"y":0.06426381573775647},"p2":{"x":140,"y":85},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"141","x":"402","y":"299","zOrder":"48"},{"ID":"55","h":"46","measuredH":"45","measuredW":"151","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":5},"p1":{"x":0.26833582265545164,"y":0.06426381573775647},"p2":{"x":151,"y":45},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"152","x":"398","y":"341","zOrder":"47"},{"ID":"56","h":"16","measuredH":"15","measuredW":"152","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":15},"p1":{"x":0.26833582265545164,"y":0.06426381573775647},"p2":{"x":152,"y":2},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"153","x":"392","y":"380","zOrder":"45"},{"ID":"57","h":"60","measuredH":"59","measuredW":"151","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":1,"y":59,"length":59.00847396772772},"p1":{"x":0.2683358226554517,"y":0.06426381573775639,"length":0.27592381508915526},"p2":{"x":151,"y":0,"length":151},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"152","x":"396","y":"382","zOrder":"46"},{"ID":"58","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"407","zOrder":"84"},{"ID":"59","measuredH":"25","measuredW":"206","properties":{"bold":"true","size":"17","text":"Multiparadigm Languages"},"typeID":"Label","w":"213","x":"550","y":"415","zOrder":"85"},{"ID":"64","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","text":""},"typeID":"TextArea","w":"141","x":"272","y":"232","zOrder":"86"},{"ID":"65","measuredH":"25","measuredW":"40","properties":{"bold":"true","size":"17","text":"Elixir"},"typeID":"Label","w":"61","x":"312","y":"241","zOrder":"87"},{"ID":"66","h":"138","measuredH":"137","measuredW":"140","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":2},"p1":{"x":0.26833582265545164,"y":0.06426381573775647},"p2":{"x":140,"y":137},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"141","x":"403","y":"250","zOrder":"44"},{"ID":"67","h":"20","measuredH":"19","measuredW":"84","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":84,"y":19},"p1":{"x":0.4935957934474855,"y":0.02831333423216934},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"85","x":"919","y":"421","zOrder":"43"},{"ID":"68","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"993","y":"422","zOrder":"88"},{"ID":"69","measuredH":"25","measuredW":"57","properties":{"bold":"true","size":"17","text":"Golang"},"typeID":"Label","w":"68","x":"1033","y":"431","zOrder":"89"},{"ID":"72","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"994","y":"468","zOrder":"90"},{"ID":"73","measuredH":"25","measuredW":"38","properties":{"bold":"true","size":"17","text":"Rust"},"typeID":"Label","w":"68","x":"1034","y":"477","zOrder":"91"},{"ID":"74","h":"61","measuredH":"60","measuredW":"88","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":88,"y":60},"p1":{"x":0.6410437235543018,"y":-0.04019746121297602},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"89","x":"917","y":"431","zOrder":"42"},{"ID":"76","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"453","zOrder":"92"},{"ID":"77","measuredH":"25","measuredW":"162","properties":{"bold":"true","size":"17","text":"Enterprisey Options"},"typeID":"Label","w":"213","x":"550","y":"461","zOrder":"93"},{"ID":"78","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"272","y":"477","zOrder":"94"},{"ID":"79","measuredH":"25","measuredW":"37","properties":{"bold":"true","size":"17","text":"Java"},"typeID":"Label","w":"68","x":"312","y":"486","zOrder":"95"},{"ID":"80","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"273","y":"523","zOrder":"96"},{"ID":"81","measuredH":"25","measuredW":"39","properties":{"bold":"true","size":"17","text":".NET"},"typeID":"Label","w":"47","x":"313","y":"532","zOrder":"97"},{"ID":"83","h":"34","measuredH":"33","measuredW":"150","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":33},"p1":{"x":0.3477275391769901,"y":-0.04236195240142249},"p2":{"x":150,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"151","x":"393","y":"466","zOrder":"41"},{"ID":"84","h":"215","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"465","x":"838","y":"546","zOrder":"98"},{"ID":"92","measuredH":"25","measuredW":"413","properties":{"size":"17","text":"For the beginners, if you are just getting into backend"},"typeID":"Label","x":"852","y":"557","zOrder":"99"},{"ID":"93","measuredH":"25","measuredW":"429","properties":{"size":"17","text":"development, I would recommend you to pick one of the"},"typeID":"Label","x":"852","y":"583","zOrder":"100"},{"ID":"94","measuredH":"25","measuredW":"403","properties":{"size":"17","text":"scripting languages. For the quick-and-easy, go with"},"typeID":"Label","x":"852","y":"610","zOrder":"101"},{"ID":"95","measuredH":"25","measuredW":"441","properties":{"size":"17","text":"*Node.js* or *PHP*. If you have already been doing backend,"},"typeID":"Label","x":"852","y":"637","zOrder":"102"},{"ID":"96","measuredH":"25","measuredW":"410","properties":{"size":"17","text":"with some scripting language then don't pick another"},"typeID":"Label","x":"852","y":"665","zOrder":"103"},{"ID":"97","measuredH":"25","measuredW":"416","properties":{"size":"17","text":"scripting language and have a look at Golang, Rust or"},"typeID":"Label","x":"852","y":"691","zOrder":"104"},{"ID":"98","measuredH":"25","measuredW":"393","properties":{"size":"17","text":"Clojure, it will definitely give you a new perspective."},"typeID":"Label","x":"852","y":"720","zOrder":"105"},{"ID":"99","h":"255","measuredH":"254","measuredW":"78","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":4,"y":0},"p1":{"x":0.46391752577319545,"y":-0.10309278350515459},"p2":{"x":78,"y":254},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"79","x":"819","y":"292","zOrder":"40"},{"ID":"100","h":"127","measuredH":"126","measuredW":"33","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":33,"y":126},"p1":{"x":0.4701515620167028,"y":0.1905351067120322},"p2":{"x":16,"y":0},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"34","x":"669","y":"479","zOrder":"39"},{"ID":"101","h":"96","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"405","x":"366","y":"583","zOrder":"106"},{"ID":"102","measuredH":"25","measuredW":"198","properties":{"bold":"true","size":"17","text":"Practice what you learnt"},"typeID":"Label","x":"412","y":"595","zOrder":"107"},{"ID":"103","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"378","y":"595","zOrder":"108"},{"ID":"104","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"2"},"typeID":"Label","x":"386","y":"597","zOrder":"109"},{"ID":"106","measuredH":"25","measuredW":"315","properties":{"size":"17","text":"Excercise and make some command line"},"typeID":"Label","x":"412","y":"619","zOrder":"110"},{"ID":"107","measuredH":"25","measuredW":"297","properties":{"size":"17","text":"applications with your picked language"},"typeID":"Label","x":"412","y":"641","zOrder":"111"},{"ID":"109","h":"83","measuredH":"82","measuredW":"47","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":1,"y":82,"length":82.00609733428362},"p1":{"x":0.4278136688201293,"y":0.1396123767426046,"length":0.4500179451633659},"p2":{"x":47,"y":0,"length":47},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"48","x":"407","y":"657","zOrder":"38"},{"ID":"110","measuredH":"25","measuredW":"292","properties":{"size":"17","text":"There are myriads of different options"},"typeID":"Label","x":"575","y":"273","zOrder":"112"},{"ID":"112","h":"187","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"575","x":"152","y":"700","zOrder":"113"},{"ID":"113","measuredH":"25","measuredW":"111","properties":{"bold":"true","size":"17","text":"Sample Ideas"},"typeID":"Label","w":"131","x":"168","y":"714","zOrder":"114"},{"ID":"114","measuredH":"25","measuredW":"366","properties":{"size":"17","text":"Implement some command that you use e.g. `ls`"},"typeID":"Label","x":"168","y":"742","zOrder":"115"},{"ID":"118","measuredH":"25","measuredW":"507","properties":{"size":"17","text":"Command that fetches and saves reddit posts on /r/programming"},"typeID":"Label","x":"168","y":"768","zOrder":"116"},{"ID":"120","measuredH":"25","measuredW":"464","properties":{"size":"17","text":"Command that gives you directory structure in JSON format"},"typeID":"Label","x":"168","y":"794","zOrder":"117"},{"ID":"121","measuredH":"25","measuredW":"543","properties":{"size":"17","text":"Command that reads JSON from above and creates director structure"},"typeID":"Label","x":"168","y":"820","zOrder":"118"},{"ID":"124","measuredH":"25","measuredW":"511","properties":{"size":"17","text":"Think of some task that you do every day and try to automate that"},"typeID":"Label","x":"168","y":"846","zOrder":"119"},{"ID":"125","h":"187","measuredH":"268","measuredW":"35","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":91,"y":186},"p1":{"x":0.4750027536746258,"y":-0.12018259922407568},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"92","x":"720","y":"651","zOrder":"37"},{"ID":"126","h":"133","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"523","x":"766","y":"788","zOrder":"120"},{"ID":"127","measuredH":"25","measuredW":"195","properties":{"bold":"true","size":"17","text":"Learn Package Manager"},"typeID":"Label","x":"813","y":"803","zOrder":"121"},{"ID":"128","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"779","y":"803","zOrder":"122"},{"ID":"129","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"3"},"typeID":"Label","x":"787","y":"805","zOrder":"123"},{"ID":"132","h":"72","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"485","x":"241","y":"902","zOrder":"124"},{"ID":"133","h":"53","measuredH":"110","measuredW":"99","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":87,"y":0},"p1":{"x":0.44426229508196724,"y":-0.013114754098360656},"p2":{"x":0,"y":52},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"88","x":"692","y":"883","zOrder":"36"},{"ID":"134","measuredH":"25","measuredW":"442","properties":{"size":"17","text":"Package managers help you bring external dependencies"},"typeID":"Label","x":"254","y":"914","zOrder":"125"},{"ID":"135","measuredH":"25","measuredW":"432","properties":{"size":"17","text":"in your application and to distribute your own packages. "},"typeID":"Label","x":"254","y":"936","zOrder":"126"},{"ID":"136","measuredH":"25","measuredW":"445","properties":{"size":"17","text":"Learn how to use package manager for the language that"},"typeID":"Label","x":"813","y":"827","zOrder":"127"},{"ID":"137","measuredH":"25","measuredW":"451","properties":{"size":"17","text":"you picked, e.g. *PHP has composer, Node.js has NPM and*"},"typeID":"Label","x":"813","y":"852","zOrder":"128"},{"ID":"139","h":"153","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"575","x":"158","y":"985","zOrder":"129"},{"ID":"140","measuredH":"25","measuredW":"245","properties":{"bold":"true","size":"17","text":"Standards and Best Practices"},"typeID":"Label","x":"204","y":"1001","zOrder":"130"},{"ID":"141","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"170","y":"1001","zOrder":"131"},{"ID":"142","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"4"},"typeID":"Label","x":"178","y":"1003","zOrder":"132"},{"ID":"143","measuredH":"25","measuredW":"490","properties":{"size":"17","text":"Each of the language has its own standards and best practices"},"typeID":"Label","x":"204","y":"1028","zOrder":"133"},{"ID":"144","measuredH":"25","measuredW":"511","properties":{"size":"17","text":"of doing things. Study them for your picked language. For example"},"typeID":"Label","x":"204","y":"1050","zOrder":"134"},{"ID":"145","h":"123","measuredH":"14","measuredW":"121","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":118,"y":0},"p1":{"x":0.5006130932798996,"y":0.15479857642731107},"p2":{"x":0,"y":122},"rightArrow":"false","shape":"bezier","stroke":"solid"},"typeID":"Arrow","w":"119","x":"686","y":"902","zOrder":"35"},{"ID":"146","measuredH":"25","measuredW":"519","properties":{"size":"17","text":"*PHP has PHP-FIG and PSRs*, with Node.js there are many different"},"typeID":"Label","x":"204","y":"1075","zOrder":"135"},{"ID":"151","h":"23","measuredH":"60","measuredW":"112","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":22},"p1":{"x":0.5177460050462573,"y":-0.033389402859545836},"p2":{"x":145,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"146","x":"708","y":"1009","zOrder":"34"},{"ID":"152","h":"110","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"570","x":"806","y":"947","zOrder":"136"},{"ID":"156","measuredH":"25","measuredW":"504","properties":{"size":"17","text":"Make sure to read about the best practices for security. Read the"},"typeID":"Label","x":"820","y":"962","zOrder":"137"},{"ID":"157","measuredH":"25","measuredW":"531","properties":{"size":"17","text":"OWASP guidelines and understand different security issues and how"},"typeID":"Label","x":"820","y":"988","zOrder":"138"},{"ID":"162","measuredH":"25","measuredW":"311","properties":{"size":"17","text":"to avoid them in language of your choice"},"typeID":"Label","x":"823","y":"1015","zOrder":"139"},{"ID":"164","h":"323","measuredH":"140","measuredW":"200","properties":{"color":"16776960","textColor":"0"},"typeID":"TextArea","w":"576","x":"158","y":"1156","zOrder":"140"},{"ID":"165","measuredH":"25","measuredW":"350","properties":{"bold":"true","size":"17","text":"Make and Distribute Some Package/Library"},"typeID":"Label","x":"207","y":"1177","zOrder":"141"},{"ID":"166","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"173","y":"1177","zOrder":"142"},{"ID":"167","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"5"},"typeID":"Label","x":"181","y":"1179","zOrder":"143"},{"ID":"168","measuredH":"25","measuredW":"490","properties":{"size":"17","text":"Now go ahead and create a package and distribute it for others"},"typeID":"Label","x":"207","y":"1204","zOrder":"144"},{"ID":"172","h":"93","measuredH":"2","measuredW":"138","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":3,"y":92,"length":92.04890004774636},"p1":{"x":0.3850318471337579,"y":0.18089171974522292,"length":0.42540726084496694},"p2":{"x":67,"y":0,"length":67},"rightArrow":"false","shape":"bezier","stroke":"solid"},"typeID":"Arrow","w":"68","x":"512","y":"1129","zOrder":"33"},{"ID":"173","measuredH":"25","measuredW":"502","properties":{"size":"17","text":"to use, and make sure to follow the standards and best practices"},"typeID":"Label","x":"207","y":"1230","zOrder":"145"},{"ID":"174","measuredH":"25","measuredW":"211","properties":{"size":"17","text":"that you have learnt this far."},"typeID":"Label","x":"207","y":"1254","zOrder":"146"},{"ID":"175","h":"71","measuredH":"74","measuredW":"138","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":70},"p1":{"x":0.29983449443824334,"y":-0.05126823447904237},"p2":{"x":146,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"147","x":"395","y":"474","zOrder":"32"},{"ID":"184","measuredH":"25","measuredW":"322","properties":{"size":"17","text":"*yarn, Python has pip, Ruby has gems* etc"},"typeID":"Label","x":"813","y":"880","zOrder":"147"},{"ID":"185","measuredH":"25","measuredW":"329","properties":{"bold":"true","size":"17","text":"Contribute to Some Opensource Project"},"typeID":"Label","x":"207","y":"1292","zOrder":"148"},{"ID":"186","measuredH":"25","measuredW":"499","properties":{"size":"17","text":"Search for some projects on github and open some pull requests"},"typeID":"Label","x":"207","y":"1320","zOrder":"149"},{"ID":"187","measuredH":"25","measuredW":"344","properties":{"size":"17","text":"in opensource projects. Some ideas for that :"},"typeID":"Label","x":"207","y":"1345","zOrder":"150"},{"ID":"188","measuredH":"25","measuredW":"448","properties":{"size":"17","text":"Refactor and implement the best practices that you learnt"},"typeID":"Label","x":"209","y":"1385","zOrder":"151"},{"ID":"189","measuredH":"25","measuredW":"339","properties":{"size":"17","text":"Look into the open issues and try to resolve"},"typeID":"Label","x":"209","y":"1410","zOrder":"152"},{"ID":"190","measuredH":"25","measuredW":"240","properties":{"size":"17","text":"Add any additional functionality"},"typeID":"Label","x":"209","y":"1435","zOrder":"153"},{"ID":"191","h":"15","measuredH":"15","measuredW":"309","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":9},"p1":{"x":0.45184009522864793,"y":-0.09066560857057832},"p2":{"x":100,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid"},"typeID":"Arrow","w":"101","x":"713","y":"1429","zOrder":"31"},{"ID":"192","h":"138","measuredH":"140","measuredW":"200","properties":{"color":"16776960","text":""},"typeID":"TextArea","w":"595","x":"782","y":"1359","zOrder":"154"},{"ID":"193","measuredH":"25","measuredW":"163","properties":{"bold":"true","size":"17","text":"Learn about Testing"},"typeID":"Label","x":"830","y":"1375","zOrder":"155"},{"ID":"194","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"796","y":"1375","zOrder":"156"},{"ID":"195","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"6"},"typeID":"Label","x":"804","y":"1377","zOrder":"157"},{"ID":"196","measuredH":"25","measuredW":"535","properties":{"size":"17","text":"There are several different testing types, but for now learn about how"},"typeID":"Label","x":"830","y":"1402","zOrder":"158"},{"ID":"200","measuredH":"25","measuredW":"486","properties":{"size":"17","text":"to write *Unit and Integration tests* in the language you picked."},"typeID":"Label","x":"829","y":"1428","zOrder":"159"},{"ID":"201","measuredH":"25","measuredW":"529","properties":{"size":"17","text":"Understand different testing terminologies such as mocks, stubs etc"},"typeID":"Label","x":"829","y":"1454","zOrder":"160"},{"ID":"205","h":"84","measuredH":"136","measuredW":"232","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":8,"y":0,"length":8},"p1":{"x":0.5140765687406935,"y":0.038590533977204765,"length":0.5155229847842391},"p2":{"x":0,"y":83,"length":83},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"9","x":"978","y":"1310","zOrder":"30"},{"ID":"206","h":"252","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"603","x":"774","y":"1084","zOrder":"161"},{"ID":"207","measuredH":"25","measuredW":"573","properties":{"size":"17","text":"There are several different options, each having different uses, depending "},"typeID":"Label","x":"788","y":"1099","zOrder":"162"},{"ID":"208","measuredH":"25","measuredW":"553","properties":{"size":"17","text":"upon the language of your choice. *Google* around, see different options "},"typeID":"Label","x":"791","y":"1125","zOrder":"163"},{"ID":"209","measuredH":"25","measuredW":"312","properties":{"size":"17","text":"and pick the one suitable for your needs."},"typeID":"Label","x":"791","y":"1152","zOrder":"164"},{"ID":"210","measuredH":"25","measuredW":"342","properties":{"size":"17","text":"*For PHP* – &*{color:blue}PHPUnit{color}*&, PHPSpec, Codeception"},"typeID":"Label","x":"792","y":"1193","zOrder":"165"},{"ID":"214","measuredH":"25","measuredW":"454","properties":{"size":"17","text":"*For Node.js* – &*{color:blue}Mocha{color}*&, &*{color:blue}Chai{color}*&, &*{color:blue}Sinon{color}*&, &*{color:blue}Mockery{color}*&, Ava, Jasmine"},"typeID":"Label","x":"792","y":"1221","zOrder":"166"},{"ID":"218","measuredH":"25","measuredW":"562","properties":{"size":"17","text":"For others, I don't want to start any flamewars so I am not going to make"},"typeID":"Label","x":"791","y":"1264","zOrder":"167"},{"ID":"219","measuredH":"25","measuredW":"531","properties":{"size":"17","text":"any recommendations here, so look around and find the ones suitable"},"typeID":"Label","x":"791","y":"1290","zOrder":"168"},{"ID":"221","h":"75","measuredH":"6","measuredW":"91","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":74,"length":74},"p1":{"x":0.41040312093628173,"y":-0.05500650195058517,"length":0.4140729850293062},"p2":{"x":8,"y":0,"length":8},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"9","x":"975","y":"1482","zOrder":"29"},{"ID":"222","h":"117","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"594","x":"783","y":"1524","zOrder":"169"},{"ID":"223","measuredH":"25","measuredW":"336","properties":{"bold":"true","size":"17","text":"Write Tests for the practical steps above"},"typeID":"Label","x":"832","y":"1545","zOrder":"170"},{"ID":"224","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"798","y":"1545","zOrder":"171"},{"ID":"225","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"7"},"typeID":"Label","x":"806","y":"1547","zOrder":"172"},{"ID":"226","measuredH":"25","measuredW":"501","properties":{"size":"17","text":"Go ahead and write the unit tests for the practical tasks that you"},"typeID":"Label","x":"832","y":"1572","zOrder":"173"},{"ID":"227","measuredH":"25","measuredW":"252","properties":{"size":"17","text":"implemented in the steps before."},"typeID":"Label","x":"832","y":"1598","zOrder":"174"},{"ID":"239","measuredH":"25","measuredW":"191","properties":{"size":"17","text":"driven by community etc."},"typeID":"Label","x":"203","y":"1099","zOrder":"175"},{"ID":"240","h":"50","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"575","x":"158","y":"1498","zOrder":"176"},{"ID":"241","measuredH":"25","measuredW":"286","properties":{"size":"17","text":"Learn how to calculate test coverage"},"typeID":"Label","x":"208","y":"1511","zOrder":"177"},{"ID":"242","measuredH":"24","measuredW":"24","properties":{"icon":{"ID":"lightbulb-o","size":"small"}},"typeID":"Icon","x":"173","y":"1511","zOrder":"178"},{"ID":"243","h":"49","measuredH":"83","measuredW":"8","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":98,"y":48},"p1":{"x":0.5140765687406935,"y":0.038590533977204765},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"99","x":"698","y":"1529","zOrder":"28"},{"ID":"244","h":"2","measuredH":"74","measuredW":"8","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":1},"p1":{"x":0.5210234034113447,"y":-0.007338357794525982},"p2":{"x":71,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"72","x":"727","y":"1610","zOrder":"27"},{"ID":"245","h":"159","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"371","x":"366","y":"1570","zOrder":"179"},{"ID":"246","measuredH":"25","measuredW":"224","properties":{"bold":"true","size":"17","text":"Learn Relational Databases"},"typeID":"Label","w":"226","x":"411","y":"1584","zOrder":"180"},{"ID":"247","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"378","y":"1582","zOrder":"181"},{"ID":"248","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"8"},"typeID":"Label","w":"11","x":"386","y":"1584","zOrder":"182"},{"ID":"251","measuredH":"32","measuredW":"76","properties":{"align":"center","color":"16776960","size":"18","text":"MySQL"},"typeID":"TextInput","w":"121","x":"110","y":"1612","zOrder":"183"},{"ID":"252","measuredH":"32","measuredW":"83","properties":{"align":"center","color":"16776960","size":"18","text":"MariaDB"},"typeID":"TextInput","w":"119","x":"237","y":"1612","zOrder":"184"},{"ID":"253","measuredH":"32","measuredW":"114","properties":{"align":"center","color":"16776960","size":"18","text":"PostgreSQL"},"typeID":"TextInput","w":"246","x":"108","y":"1652","zOrder":"185"},{"ID":"254","measuredH":"32","measuredW":"67","properties":{"align":"center","color":"16770457","size":"18","text":"Oracle"},"typeID":"TextInput","w":"246","x":"109","y":"1570","zOrder":"186"},{"ID":"255","measuredH":"32","measuredW":"78","properties":{"align":"center","color":"16770457","size":"18","text":"MSSQL"},"typeID":"TextInput","w":"246","x":"108","y":"1695","zOrder":"187"},{"ID":"256","measuredH":"25","measuredW":"324","properties":{"size":"17","text":"There are several options here. However if"},"typeID":"Label","x":"382","y":"1613","zOrder":"188"},{"ID":"257","measuredH":"25","measuredW":"339","properties":{"size":"17","text":"if you learn one, others should be fairly easy."},"typeID":"Label","x":"382","y":"1637","zOrder":"189"},{"ID":"258","measuredH":"25","measuredW":"334","properties":{"size":"17","text":"Pick *MySQL* for now but learn how they are"},"typeID":"Label","x":"382","y":"1662","zOrder":"190"},{"ID":"259","measuredH":"25","measuredW":"209","properties":{"size":"17","text":"different and the usecases"},"typeID":"Label","x":"382","y":"1686","zOrder":"191"},{"ID":"260","h":"59","measuredH":"7","measuredW":"71","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":0,"y":0,"length":0},"p1":{"x":0.4275092936802974,"y":-0.19861922464152953,"length":0.47139557972071516},"p2":{"x":86,"y":58,"length":103.73041983911952},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"87","x":"716","y":"1682","zOrder":"26"},{"ID":"261","h":"190","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"603","x":"782","y":"1664","zOrder":"192"},{"ID":"262","measuredH":"25","measuredW":"118","properties":{"bold":"true","size":"17","text":"Practical Time"},"typeID":"Label","x":"829","y":"1681","zOrder":"193"},{"ID":"263","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"795","y":"1681","zOrder":"194"},{"ID":"264","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"9"},"typeID":"Label","x":"803","y":"1683","zOrder":"195"},{"ID":"265","measuredH":"25","measuredW":"533","properties":{"size":"17","text":"Create a simple application using everything that you have learnt this"},"typeID":"Label","x":"829","y":"1708","zOrder":"196"},{"ID":"266","measuredH":"25","measuredW":"495","properties":{"size":"17","text":"far. It should have registration, login and CRUD. Create a blog, for"},"typeID":"Label","x":"829","y":"1734","zOrder":"197"},{"ID":"267","measuredH":"25","measuredW":"506","properties":{"size":"17","text":"example. Where anyone can register and get a public profile page"},"typeID":"Label","x":"829","y":"1760","zOrder":"198"},{"ID":"268","measuredH":"25","measuredW":"524","properties":{"size":"17","text":"create, update and delete posts and public page will show the posts"},"typeID":"Label","x":"829","y":"1788","zOrder":"199"},{"ID":"269","measuredH":"25","measuredW":"129","properties":{"size":"17","text":"created by them."},"typeID":"Label","x":"829","y":"1813","zOrder":"200"},{"ID":"270","h":"108","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"585","x":"142","y":"1754","zOrder":"201"},{"ID":"271","measuredH":"25","measuredW":"505","properties":{"size":"17","text":"Make sure to write tests, follow the standards and best practices."},"typeID":"Label","x":"155","y":"1767","zOrder":"202"},{"ID":"273","h":"10","measuredH":"48","measuredW":"98","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":85,"y":9},"p1":{"x":0.5140765687406935,"y":0.03859053397720475},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"86","x":"715","y":"1801","zOrder":"25"},{"ID":"274","measuredH":"25","measuredW":"551","properties":{"size":"17","text":"Also for the database, add the indexes, use proper storage engines and"},"typeID":"Label","x":"155","y":"1793","zOrder":"203"},{"ID":"275","measuredH":"25","measuredW":"540","properties":{"size":"17","text":"make sure to analyze the queries before using them in the application."},"typeID":"Label","x":"155","y":"1820","zOrder":"204"},{"ID":"277","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"205","x":"1135","y":"361","zOrder":"205"},{"ID":"278","measuredH":"25","measuredW":"174","properties":{"bold":"true","size":"17","text":"TypeScript (Optional)"},"typeID":"Label","w":"175","x":"1151","y":"370","zOrder":"206"},{"ID":"281","h":"56","measuredH":"58","measuredW":"86","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":68,"y":0},"p1":{"x":0.45855018587360596,"y":0.14888475836431225},"p2":{"x":0,"y":55},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"69","x":"721","y":"1842","zOrder":"24"},{"ID":"282","h":"66","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"1878","zOrder":"207"},{"ID":"283","measuredH":"25","measuredW":"154","properties":{"bold":"true","size":"17","text":"Learn a Framework"},"typeID":"Label","x":"165","y":"1899","zOrder":"208"},{"ID":"284","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"1899","zOrder":"209"},{"ID":"285","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"10"},"typeID":"Label","x":"136","y":"1901","zOrder":"210"},{"ID":"288","h":"6","measuredH":"9","measuredW":"85","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":86,"y":0},"p1":{"x":0.5140765687406935,"y":0.03859053397720476},"p2":{"x":0,"y":4},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"87","x":"717","y":"1922","zOrder":"23"},{"ID":"289","h":"220","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"594","x":"791","y":"1871","zOrder":"211"},{"ID":"290","measuredH":"25","measuredW":"547","properties":{"size":"17","text":"Depending upon the project and the language you picked, you might or"},"typeID":"Label","x":"804","y":"1884","zOrder":"212"},{"ID":"293","measuredH":"25","measuredW":"491","properties":{"size":"17","text":"might not need a framework. There are several different options"},"typeID":"Label","x":"804","y":"1912","zOrder":"213"},{"ID":"294","measuredH":"25","measuredW":"558","properties":{"size":"17","text":"*For PHP* – &*{color:blue}Laravel{color}*& or &*{color:blue}Symfony{color}*& and Slim or Lumen for micro-frameworks"},"typeID":"Label","x":"804","y":"1952","zOrder":"214"},{"ID":"295","measuredH":"25","measuredW":"258","properties":{"size":"17","text":"*For Node.js* – &*{color:blue}Express.js{color}*&, Hapi.js"},"typeID":"Label","x":"804","y":"1980","zOrder":"215"},{"ID":"296","measuredH":"25","measuredW":"377","properties":{"size":"17","text":"*For Golang* – I prefer to code without framework"},"typeID":"Label","x":"804","y":"2009","zOrder":"216"},{"ID":"297","measuredH":"25","measuredW":"560","properties":{"size":"17","text":"For others, search and find the suitable ones for the language you picked"},"typeID":"Label","x":"804","y":"2048","zOrder":"217"},{"ID":"298","h":"80","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"637","x":"116","y":"1953","zOrder":"218"},{"ID":"299","measuredH":"25","measuredW":"114","properties":{"bold":"true","size":"17","text":"Practical time"},"typeID":"Label","x":"162","y":"1966","zOrder":"219"},{"ID":"300","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"129","y":"1965","zOrder":"220"},{"ID":"301","measuredH":"21","measuredW":"11","properties":{"bold":"true","color":"16777215","text":"11"},"typeID":"Label","x":"135","y":"1967","zOrder":"221"},{"ID":"302","measuredH":"25","measuredW":"576","properties":{"size":"17","text":"Make the same application you made in to the framework of your choice"},"typeID":"Label","x":"161","y":"1994","zOrder":"222"},{"ID":"303","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"467","y":"1994","zOrder":"223"},{"ID":"304","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"9"},"typeID":"Label","x":"475","y":"1996","zOrder":"224"},{"ID":"308","h":"179","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"2040","zOrder":"225"},{"ID":"309","measuredH":"25","measuredW":"207","properties":{"bold":"true","size":"17","text":"Learn a NoSQL Database"},"typeID":"Label","x":"165","y":"2058","zOrder":"226"},{"ID":"310","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"2058","zOrder":"227"},{"ID":"311","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"12"},"typeID":"Label","x":"136","y":"2060","zOrder":"228"},{"ID":"312","measuredH":"25","measuredW":"573","properties":{"size":"17","text":"Have a look at different options and see how they differ. If you have to pick"},"typeID":"Label","w":"574","x":"166","y":"2144","zOrder":"229"},{"ID":"313","measuredH":"25","measuredW":"149","properties":{"size":"17","text":"one, pick *MongoDB*"},"typeID":"Label","w":"574","x":"166","y":"2170","zOrder":"230"},{"ID":"314","measuredH":"25","measuredW":"527","properties":{"size":"17","text":"First understand what they are, how they are different from relational"},"typeID":"Label","w":"574","x":"166","y":"2091","zOrder":"231"},{"ID":"315","measuredH":"25","measuredW":"555","properties":{"size":"17","text":"databases and why they are needed. There are several different options"},"typeID":"Label","w":"574","x":"165","y":"2117","zOrder":"232"},{"ID":"316","h":"13","measuredH":"29","measuredW":"127","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":214,"y":8},"p1":{"x":0.5140765687406936,"y":0.03859053397720475},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"215","x":"683","y":"2151","zOrder":"21"},{"ID":"317","measuredH":"32","measuredW":"104","properties":{"align":"center","color":"16777215","size":"18","text":"Cassandra"},"typeID":"TextInput","w":"185","x":"1023","y":"2164","zOrder":"233"},{"ID":"318","measuredH":"32","measuredW":"92","properties":{"align":"center","color":"16776960","size":"18","text":"MongoDB"},"typeID":"TextInput","w":"185","x":"1023","y":"2123","zOrder":"234"},{"ID":"319","measuredH":"32","measuredW":"99","properties":{"align":"center","color":"16777215","size":"18","text":"RethinkDB"},"typeID":"TextInput","w":"157","x":"1215","y":"2123","zOrder":"235"},{"ID":"320","measuredH":"32","measuredW":"106","properties":{"align":"center","color":"16777215","size":"18","text":"Couchbase"},"typeID":"TextInput","w":"157","x":"1215","y":"2163","zOrder":"236"},{"ID":"322","h":"101","measuredH":"70","measuredW":"100","properties":{"color":"16777215"},"typeID":"Canvas","w":"591","x":"793","y":"2109","zOrder":"22"},{"ID":"323","h":"86","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"750","y":"2246","zOrder":"237"},{"ID":"324","measuredH":"25","measuredW":"65","properties":{"bold":"true","size":"17","text":"Caching"},"typeID":"Label","w":"101","x":"799","y":"2263","zOrder":"238"},{"ID":"325","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"765","y":"2263","zOrder":"239"},{"ID":"326","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"13"},"typeID":"Label","x":"770","y":"2265","zOrder":"240"},{"ID":"329","measuredH":"25","measuredW":"539","properties":{"size":"17","text":"Learn how to implement app level caching using Redis or Memcached"},"typeID":"Label","w":"574","x":"800","y":"2290","zOrder":"241"},{"ID":"331","measuredH":"32","measuredW":"113","properties":{"align":"center","color":"16776960","size":"18","text":"Memcached"},"typeID":"TextInput","w":"183","x":"472","y":"2255","zOrder":"242"},{"ID":"332","measuredH":"32","measuredW":"61","properties":{"align":"center","color":"16776960","size":"18","text":"Redis"},"typeID":"TextInput","w":"183","x":"472","y":"2291","zOrder":"243"},{"ID":"334","h":"103","measuredH":"55","measuredW":"68","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":106,"y":102},"p1":{"x":0.38414149443561213,"y":-0.11426868044515104},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"107","x":"692","y":"2155","zOrder":"20"},{"ID":"335","measuredH":"25","measuredW":"185","properties":{"size":"17","text":"Learn MongoDB for now"},"typeID":"Label","w":"193","x":"809","y":"2120","zOrder":"244"},{"ID":"336","measuredH":"25","measuredW":"201","properties":{"size":"17","text":"but make sure to look how"},"typeID":"Label","w":"200","x":"809","y":"2144","zOrder":"245"},{"ID":"337","measuredH":"25","measuredW":"181","properties":{"size":"17","text":"it compares with others"},"typeID":"Label","w":"190","x":"812","y":"2169","zOrder":"246"},{"ID":"338","h":"14","measuredH":"6","measuredW":"143","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":142,"y":13},"p1":{"x":0.535877637338317,"y":-0.007278807849309005},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"143","x":"622","y":"2273","zOrder":"17"},{"ID":"339","measuredH":"25","measuredW":"254","properties":{"size":"17","text":"Once you have learnt, implement"},"typeID":"Label","w":"258","x":"148","y":"2253","zOrder":"253"},{"ID":"340","measuredH":"25","measuredW":"234","properties":{"size":"17","text":"caching strategy in application"},"typeID":"Label","w":"258","x":"148","y":"2277","zOrder":"254"},{"ID":"341","measuredH":"25","measuredW":"140","properties":{"size":"17","text":"you built in step 11"},"typeID":"Label","w":"258","x":"147","y":"2303","zOrder":"255"},{"ID":"342","h":"142","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"2605","zOrder":"247"},{"ID":"343","measuredH":"25","measuredW":"139","properties":{"bold":"true","size":"17","text":"Message Brokers"},"typeID":"Label","w":"155","x":"165","y":"2622","zOrder":"248"},{"ID":"344","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"2622","zOrder":"249"},{"ID":"345","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"16"},"typeID":"Label","w":"14","x":"136","y":"2624","zOrder":"250"},{"ID":"346","measuredH":"25","measuredW":"542","properties":{"size":"17","text":"Learn about the message brokers, understand the \"Why\" and pick one."},"typeID":"Label","w":"574","x":"166","y":"2651","zOrder":"251"},{"ID":"347","h":"95","measuredH":"94","measuredW":"73","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":94},"p1":{"x":0.4552770914225203,"y":-0.18898693963995766},"p2":{"x":73,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"74","x":"739","y":"2544","zOrder":"19"},{"ID":"348","h":"12","measuredH":"23","measuredW":"192","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":162,"y":0},"p1":{"x":0.4910385289593246,"y":0.0004292920259006189},"p2":{"x":0,"y":11},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"163","x":"613","y":"2295","zOrder":"18"},{"ID":"349","h":"109","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"299","x":"131","y":"2237","zOrder":"252"},{"ID":"350","h":"45","measuredH":"11","measuredW":"162","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":373,"y":10},"p1":{"x":0.5494401310071896,"y":0.10588311343182814},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"374","x":"387","y":"2302","zOrder":"16"},{"ID":"351","measuredH":"25","measuredW":"554","properties":{"size":"17","text":"There are multiple options but I would go for *RabbitMQ* or *Kafka*. Learn"},"typeID":"Label","w":"574","x":"165","y":"2679","zOrder":"256"},{"ID":"353","measuredH":"32","measuredW":"95","properties":{"align":"center","color":"16776960","size":"18","text":"RabbitMQ"},"typeID":"TextInput","w":"183","x":"886","y":"2646","zOrder":"257"},{"ID":"354","measuredH":"32","measuredW":"63","properties":{"align":"center","color":"16770457","size":"18","text":"Kafka"},"typeID":"TextInput","w":"183","x":"886","y":"2682","zOrder":"258"},{"ID":"355","h":"19","measuredH":"14","measuredW":"178","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":168,"y":0,"length":168},"p1":{"x":0.4228667507356032,"y":0.0023118957545187053,"length":0.42287307048293643},"p2":{"x":0,"y":18,"length":18},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"169","x":"728","y":"2665","zOrder":"15"},{"ID":"356","measuredH":"25","measuredW":"409","properties":{"size":"17","text":"how to use RabbitMQ for now, if you want to pick one."},"typeID":"Label","w":"574","x":"166","y":"2707","zOrder":"259"},{"ID":"357","h":"5","measuredH":"12","measuredW":"173","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":157,"y":4,"length":157.05094714773293},"p1":{"x":0.47363590855998666,"y":-0.003754380110128481,"length":0.4736507882897012},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"158","x":"748","y":"2694","zOrder":"14"},{"ID":"358","h":"143","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"2755","zOrder":"260"},{"ID":"359","measuredH":"25","measuredW":"183","properties":{"bold":"true","size":"17","text":"Learn a Search Engine"},"typeID":"Label","w":"280","x":"164","y":"2772","zOrder":"261"},{"ID":"360","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"2772","zOrder":"262"},{"ID":"361","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"17"},"typeID":"Label","x":"136","y":"2774","zOrder":"263"},{"ID":"363","measuredH":"32","measuredW":"127","properties":{"align":"center","color":"16776960","size":"18","text":"ElasticSearch"},"typeID":"TextInput","w":"183","x":"886","y":"2771","zOrder":"264"},{"ID":"364","measuredH":"32","measuredW":"47","properties":{"align":"center","color":"16776960","size":"18","text":"Solr"},"typeID":"TextInput","w":"183","x":"886","y":"2807","zOrder":"265"},{"ID":"365","measuredH":"32","measuredW":"69","properties":{"align":"center","color":"16770457","size":"18","text":"Sphinx"},"typeID":"TextInput","w":"183","x":"888","y":"2843","zOrder":"266"},{"ID":"370","h":"29","measuredH":"19","measuredW":"154","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":148,"y":0,"length":148},"p1":{"x":0.4575163398692811,"y":-0.003267973856209201,"length":0.4575280110556166},"p2":{"x":0,"y":28,"length":28},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"149","x":"744","y":"2789","zOrder":"13"},{"ID":"371","h":"10","measuredH":"36","measuredW":"144","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":161,"y":0,"length":161},"p1":{"x":0.4575163398692811,"y":-0.003267973856209141,"length":0.4575280110556166},"p2":{"x":0,"y":9,"length":9},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"162","x":"747","y":"2823","zOrder":"12"},{"ID":"372","h":"16","measuredH":"16","measuredW":"160","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":161,"y":15,"length":161.69724796668618},"p1":{"x":0.457516339869281,"y":-0.0032679738562091465,"length":0.45752801105561647},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"162","x":"747","y":"2844","zOrder":"11"},{"ID":"373","measuredH":"25","measuredW":"564","properties":{"size":"17","text":"As the application grows, simple queries on your database aren't going to"},"typeID":"Label","w":"574","x":"165","y":"2802","zOrder":"267"},{"ID":"374","measuredH":"25","measuredW":"570","properties":{"size":"17","text":"cut it out and you will have to resort to a search engine. There are multiple"},"typeID":"Label","w":"574","x":"165","y":"2827","zOrder":"268"},{"ID":"375","measuredH":"25","measuredW":"313","properties":{"size":"17","text":"options, each having it's own differences."},"typeID":"Label","w":"574","x":"165","y":"2854","zOrder":"269"},{"ID":"376","h":"113","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"753","y":"2340","zOrder":"270"},{"ID":"377","measuredH":"25","measuredW":"184","properties":{"bold":"true","size":"17","text":"Creating RESTful APIs"},"typeID":"Label","w":"203","x":"802","y":"2357","zOrder":"271"},{"ID":"378","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"768","y":"2357","zOrder":"272"},{"ID":"379","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"14"},"typeID":"Label","x":"773","y":"2359","zOrder":"273"},{"ID":"380","measuredH":"25","measuredW":"571","properties":{"size":"17","text":"Understand REST and learn how to make RESTful APIs and make sure to"},"typeID":"Label","w":"574","x":"803","y":"2386","zOrder":"274"},{"ID":"381","measuredH":"25","measuredW":"503","properties":{"size":"17","text":"read the part about REST from the original paper of *Roy Fielding*"},"typeID":"Label","w":"574","x":"803","y":"2410","zOrder":"275"},{"ID":"382","h":"87","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"754","y":"2460","zOrder":"276"},{"ID":"383","measuredH":"25","measuredW":"354","properties":{"bold":"true","size":"17","text":"Authentication/Authorization Methodologies"},"typeID":"Label","w":"377","x":"805","y":"2477","zOrder":"277"},{"ID":"384","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"771","y":"2477","zOrder":"278"},{"ID":"385","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"15"},"typeID":"Label","x":"776","y":"2479","zOrder":"279"},{"ID":"386","measuredH":"25","measuredW":"431","properties":{"size":"17","text":"Learn about the differences and how to implement them"},"typeID":"Label","w":"495","x":"804","y":"2508","zOrder":"280"},{"ID":"389","measuredH":"32","measuredW":"63","properties":{"align":"center","color":"16776960","size":"18","text":"OAuth"},"typeID":"TextInput","w":"210","x":"386","y":"2400","zOrder":"281"},{"ID":"390","measuredH":"32","measuredW":"180","properties":{"align":"center","color":"16776960","size":"18","text":"Basic Authentication"},"typeID":"TextInput","w":"210","x":"386","y":"2436","zOrder":"282"},{"ID":"391","measuredH":"32","measuredW":"183","properties":{"align":"center","color":"16776960","size":"18","text":"Token Authentication"},"typeID":"TextInput","w":"210","x":"386","y":"2472","zOrder":"283"},{"ID":"392","measuredH":"32","measuredW":"55","properties":{"align":"center","color":"16776960","size":"18","text":"JWT"},"typeID":"TextInput","w":"210","x":"386","y":"2508","zOrder":"284"},{"ID":"393","measuredH":"32","measuredW":"77","properties":{"align":"center","color":"16776960","size":"18","text":"OpenID"},"typeID":"TextInput","w":"210","x":"387","y":"2545","zOrder":"285"},{"ID":"394","h":"72","measuredH":"18","measuredW":"168","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":183,"y":71,"length":196.29060089571277},"p1":{"x":0.42286675073560326,"y":0.002311895754518694,"length":0.4228730704829365},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"184","x":"591","y":"2417","zOrder":"10"},{"ID":"395","h":"46","measuredH":"45","measuredW":"199","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":199,"y":45,"length":204.0245083317198},"p1":{"x":0.42286675073560326,"y":0.0023118957545186824,"length":0.4228730704829365},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"200","x":"585","y":"2453","zOrder":"9"},{"ID":"396","h":"13","measuredH":"45","measuredW":"199","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":208,"y":12,"length":208.34586628968668},"p1":{"x":0.4228667507356033,"y":0.002311895754518708,"length":0.42287307048293654},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"209","x":"565","y":"2491","zOrder":"6"},{"ID":"397","h":"13","measuredH":"11","measuredW":"188","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":206,"y":0,"length":206},"p1":{"x":0.4228667507356031,"y":0.002311895754518704,"length":0.4228730704829363},"p2":{"x":0,"y":12,"length":12},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"207","x":"577","y":"2513","zOrder":"7"},{"ID":"398","h":"49","measuredH":"48","measuredW":"207","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":207,"y":0,"length":207},"p1":{"x":0.422866750735603,"y":0.0023118957545186923,"length":0.4228730704829362},"p2":{"x":0,"y":48,"length":48},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"208","x":"581","y":"2515","zOrder":"8"},{"ID":"400","h":"60","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"738","y":"2914","zOrder":"286"},{"ID":"401","measuredH":"25","measuredW":"207","properties":{"bold":"true","size":"17","text":"Learn How to Use Docker"},"typeID":"Label","w":"280","x":"788","y":"2930","zOrder":"287"},{"ID":"402","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"755","y":"2929","zOrder":"288"},{"ID":"403","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"18"},"typeID":"Label","w":"14","x":"760","y":"2931","zOrder":"289"},{"ID":"408","h":"112","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"738","y":"3170","zOrder":"290"},{"ID":"409","measuredH":"25","measuredW":"124","properties":{"bold":"true","size":"17","text":"Learn GraphQL"},"typeID":"Label","w":"153","x":"788","y":"3185","zOrder":"291"},{"ID":"410","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"755","y":"3184","zOrder":"292"},{"ID":"411","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"21"},"typeID":"Label","w":"14","x":"760","y":"3186","zOrder":"293"},{"ID":"412","measuredH":"25","measuredW":"556","properties":{"size":"17","text":"While it is not required, feel free to have a look at it and see what it is all"},"typeID":"Label","w":"574","x":"789","y":"3213","zOrder":"294"},{"ID":"413","measuredH":"25","measuredW":"367","properties":{"size":"17","text":"about and why they are calling it the new REST"},"typeID":"Label","w":"574","x":"789","y":"3240","zOrder":"295"},{"ID":"414","h":"114","measuredH":"140","measuredW":"200","properties":{"color":"16776960","text":""},"typeID":"TextArea","w":"638","x":"738","y":"2981","zOrder":"296"},{"ID":"415","measuredH":"25","measuredW":"219","properties":{"bold":"true","size":"17","text":"Knowledge of Web Servers"},"typeID":"Label","w":"280","x":"789","y":"2998","zOrder":"297"},{"ID":"416","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"755","y":"2996","zOrder":"298"},{"ID":"417","measuredH":"21","measuredW":"13","properties":{"bold":"true","color":"16777215","text":"19"},"typeID":"Label","w":"14","x":"760","y":"2998","zOrder":"299"},{"ID":"418","measuredH":"25","measuredW":"526","properties":{"size":"17","text":"There are several different options here, look at the different options,"},"typeID":"Label","w":"566","x":"789","y":"3026","zOrder":"300"},{"ID":"419","measuredH":"25","measuredW":"336","properties":{"size":"17","text":"understand their differences and limitations"},"typeID":"Label","w":"566","x":"790","y":"3053","zOrder":"301"},{"ID":"420","h":"91","measuredH":"94","measuredW":"73","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":1,"y":0,"length":1},"p1":{"x":0.47054747054747054,"y":-0.24636174636174635,"length":0.5311393716427282},"p2":{"x":97,"y":90,"length":132.32157798333574},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"98","x":"659","y":"2855","zOrder":"5"},{"ID":"421","measuredH":"32","measuredW":"76","properties":{"align":"center","color":"16776960","size":"18","text":"Apache"},"typeID":"TextInput","w":"183","x":"403","y":"2971","zOrder":"302"},{"ID":"422","measuredH":"32","measuredW":"60","properties":{"align":"center","color":"16776960","size":"18","text":"Nginx"},"typeID":"TextInput","w":"183","x":"403","y":"3007","zOrder":"303"},{"ID":"423","measuredH":"32","measuredW":"67","properties":{"align":"center","color":"16770457","size":"18","text":"Caddy"},"typeID":"TextInput","w":"183","x":"405","y":"3043","zOrder":"304"},{"ID":"424","h":"32","measuredH":"28","measuredW":"148","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":212,"y":31,"length":214.2545215392198},"p1":{"x":0.4575163398692812,"y":-0.003267973856209213,"length":0.4575280110556167},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"213","x":"576","y":"2992","zOrder":"4"},{"ID":"425","h":"8","measuredH":"31","measuredW":"212","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":229,"y":7,"length":229.10696191953662},"p1":{"x":0.4575163398692811,"y":-0.0032679738562092003,"length":0.4575280110556166},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"230","x":"569","y":"3026","zOrder":"3"},{"ID":"426","h":"18","measuredH":"7","measuredW":"229","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":199,"y":0,"length":199},"p1":{"x":0.4575163398692811,"y":-0.003267973856209203,"length":0.4575280110556166},"p2":{"x":0,"y":17,"length":17},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"200","x":"577","y":"3042","zOrder":"2"},{"ID":"427","measuredH":"32","measuredW":"70","properties":{"align":"center","color":"16770457","size":"18","text":"MS IIS"},"typeID":"TextInput","w":"183","x":"405","y":"3080","zOrder":"305"},{"ID":"428","h":"43","measuredH":"17","measuredW":"199","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":187,"y":0},"p1":{"x":0.45751633986928103,"y":-0.003267973856209196},"p2":{"x":0,"y":42},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"188","x":"577","y":"3054","zOrder":"1"},{"ID":"429","h":"60","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"739","y":"3102","zOrder":"306"},{"ID":"430","measuredH":"25","measuredW":"250","properties":{"bold":"true","size":"17","text":"Learn how to use Web Sockets"},"typeID":"Label","w":"282","x":"787","y":"3119","zOrder":"307"},{"ID":"431","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"754","y":"3118","zOrder":"308"},{"ID":"432","measuredH":"21","measuredW":"17","properties":{"bold":"true","color":"16777215","text":"20"},"typeID":"Label","w":"21","x":"758","y":"3120","zOrder":"309"},{"ID":"436","h":"112","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"216","y":"3313","zOrder":"310"},{"ID":"437","measuredH":"25","measuredW":"219","properties":{"bold":"true","size":"17","text":"Look into Graph Databases"},"typeID":"Label","w":"231","x":"266","y":"3328","zOrder":"311"},{"ID":"438","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"233","y":"3327","zOrder":"312"},{"ID":"439","measuredH":"21","measuredW":"17","properties":{"bold":"true","color":"16777215","text":"22"},"typeID":"Label","w":"29","x":"237","y":"3329","zOrder":"313"},{"ID":"440","measuredH":"25","measuredW":"529","properties":{"size":"17","text":"Again not required but you should have a little understanding of what"},"typeID":"Label","w":"574","x":"267","y":"3356","zOrder":"314"},{"ID":"441","measuredH":"25","measuredW":"136","properties":{"size":"17","text":"they have to offer"},"typeID":"Label","w":"574","x":"267","y":"3383","zOrder":"315"},{"ID":"442","h":"109","measuredH":"94","measuredW":"73","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":108},"p1":{"x":0.4770542904147545,"y":0.2455190925621266},"p2":{"x":124,"y":1},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"125","x":"629","y":"3227","zOrder":"0"},{"ID":"443","h":"147","measuredH":"146","measuredW":"14","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":14,"y":0,"length":14},"p1":{"x":0.5864611260053622,"y":0.008042895442359291,"length":0.5865162746954035},"p2":{"x":0,"y":146,"length":146},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"15","x":"537","y":"3448","zOrder":"316"},{"ID":"444","measuredH":"32","measuredW":"170","properties":{"bold":"true","size":"24","text":"Keep Exploring"},"typeID":"Label","x":"449","y":"3618","zOrder":"317"},{"ID":"445","h":"87","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"637","x":"216","y":"3436","zOrder":"318"},{"ID":"446","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"230","y":"3450","zOrder":"319"},{"ID":"447","measuredH":"22","measuredW":"18","properties":{"bold":"true","color":"16777215","size":"14","text":"23"},"typeID":"Label","w":"16","x":"234","y":"3452","zOrder":"320"},{"ID":"448","measuredH":"26","measuredW":"371","properties":{"bold":"true","size":"18","text":"All the things that weren't mentioned above"},"typeID":"Label","w":"391","x":"261","y":"3449","zOrder":"321"},{"ID":"449","measuredH":"25","measuredW":"367","properties":{"size":"17","text":"Profiling, Static Analysis, DDD, SOAP. Go Figure!"},"typeID":"Label","x":"262","y":"3476","zOrder":"322"}]},"measuredH":"3650","measuredW":"1392","mockupH":"3610","mockupW":"1284","version":"1.0"}} \ No newline at end of file +{"mockup":{"controls":{"control":[{"ID":"0","h":"109","measuredH":"108","measuredW":"124","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":108},"p1":{"x":0.4770542904147545,"y":0.2455190925621266},"p2":{"x":124,"y":1},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"125","x":"629","y":"3227","zOrder":"0"},{"ID":"1","h":"43","measuredH":"42","measuredW":"187","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":187,"y":0},"p1":{"x":0.45751633986928103,"y":-0.003267973856209196},"p2":{"x":0,"y":42},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"188","x":"577","y":"3054","zOrder":"1"},{"ID":"2","h":"18","measuredH":"17","measuredW":"199","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":199,"x":199,"y":0},"p1":{"length":0.4575280110556166,"x":0.4575163398692811,"y":-0.003267973856209203},"p2":{"length":17,"x":0,"y":17},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"200","x":"577","y":"3042","zOrder":"2"},{"ID":"3","h":"8","measuredH":"7","measuredW":"229","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":229.10696191953664,"x":229,"y":7},"p1":{"length":0.4575280110556166,"x":0.4575163398692811,"y":-0.0032679738562092003},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"230","x":"569","y":"3026","zOrder":"3"},{"ID":"4","h":"32","measuredH":"31","measuredW":"212","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":214.2545215392198,"x":212,"y":31},"p1":{"length":0.4575280110556167,"x":0.4575163398692812,"y":-0.003267973856209213},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"213","x":"576","y":"2992","zOrder":"4"},{"ID":"5","h":"91","measuredH":"90","measuredW":"97","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"length":1,"x":1,"y":0},"p1":{"length":0.5311393716427282,"x":0.47054747054747054,"y":-0.24636174636174635},"p2":{"length":132.32157798333574,"x":97,"y":90},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"98","x":"659","y":"2855","zOrder":"5"},{"ID":"6","h":"13","measuredH":"12","measuredW":"208","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":208.34586628968668,"x":208,"y":12},"p1":{"length":0.42287307048293654,"x":0.4228667507356033,"y":0.002311895754518708},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"209","x":"565","y":"2491","zOrder":"6"},{"ID":"7","h":"13","measuredH":"12","measuredW":"206","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":206,"x":206,"y":0},"p1":{"length":0.4228730704829363,"x":0.4228667507356031,"y":0.002311895754518704},"p2":{"length":12,"x":0,"y":12},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"207","x":"577","y":"2513","zOrder":"7"},{"ID":"8","h":"49","measuredH":"48","measuredW":"207","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":207,"x":207,"y":0},"p1":{"length":0.4228730704829362,"x":0.422866750735603,"y":0.0023118957545186923},"p2":{"length":48,"x":0,"y":48},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"208","x":"581","y":"2515","zOrder":"8"},{"ID":"9","h":"46","measuredH":"45","measuredW":"199","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":204.0245083317198,"x":199,"y":45},"p1":{"length":0.4228730704829365,"x":0.42286675073560326,"y":0.0023118957545186824},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"200","x":"585","y":"2453","zOrder":"9"},{"ID":"10","h":"72","measuredH":"71","measuredW":"183","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":196.29060089571277,"x":183,"y":71},"p1":{"length":0.4228730704829365,"x":0.42286675073560326,"y":0.002311895754518694},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"184","x":"591","y":"2417","zOrder":"10"},{"ID":"11","h":"16","measuredH":"15","measuredW":"161","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":161.69724796668618,"x":161,"y":15},"p1":{"length":0.45752801105561647,"x":0.457516339869281,"y":-0.0032679738562091465},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"162","x":"747","y":"2844","zOrder":"11"},{"ID":"12","h":"10","measuredH":"9","measuredW":"161","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":161,"x":161,"y":0},"p1":{"length":0.4575280110556166,"x":0.4575163398692811,"y":-0.003267973856209141},"p2":{"length":9,"x":0,"y":9},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"162","x":"747","y":"2823","zOrder":"12"},{"ID":"13","h":"29","measuredH":"28","measuredW":"148","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":148,"x":148,"y":0},"p1":{"length":0.4575280110556166,"x":0.4575163398692811,"y":-0.003267973856209201},"p2":{"length":28,"x":0,"y":28},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"149","x":"744","y":"2789","zOrder":"13"},{"ID":"14","h":"5","measuredH":"4","measuredW":"157","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"length":157.05094714773293,"x":157,"y":4},"p1":{"length":0.4736507882897012,"x":0.47363590855998666,"y":-0.003754380110128481},"p2":{"length":0,"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"158","x":"748","y":"2694","zOrder":"14"},{"ID":"15","h":"19","measuredH":"18","measuredW":"168","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":168,"x":168,"y":0},"p1":{"length":0.4228730704829364,"x":0.4228667507356032,"y":0.0023118957545187053},"p2":{"length":18,"x":0,"y":18},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"169","x":"728","y":"2665","zOrder":"15"},{"ID":"16","h":"45","measuredH":"44","measuredW":"373","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":373,"y":10},"p1":{"x":0.5494401310071896,"y":0.10588311343182814},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"374","x":"387","y":"2302","zOrder":"16"},{"ID":"17","h":"14","measuredH":"13","measuredW":"142","properties":{"color":"2848996","curvature":"0","direction":"top","leftArrow":"false","p0":{"x":142,"y":13},"p1":{"x":0.535877637338317,"y":-0.007278807849309005},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"143","x":"622","y":"2273","zOrder":"17"},{"ID":"18","h":"12","measuredH":"11","measuredW":"162","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":162,"y":0},"p1":{"x":0.4910385289593246,"y":0.0004292920259006189},"p2":{"x":0,"y":11},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"163","x":"613","y":"2295","zOrder":"18"},{"ID":"19","h":"95","measuredH":"94","measuredW":"73","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":94},"p1":{"x":0.4552770914225203,"y":-0.1889869396399577},"p2":{"x":73,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"74","x":"739","y":"2544","zOrder":"19"},{"ID":"20","h":"103","measuredH":"102","measuredW":"106","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":106,"y":102},"p1":{"x":0.3841414944356122,"y":-0.11426868044515104},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"107","x":"692","y":"2155","zOrder":"20"},{"ID":"21","h":"13","measuredH":"12","measuredW":"214","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":214,"y":8},"p1":{"x":0.5140765687406936,"y":0.03859053397720475},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"215","x":"683","y":"2151","zOrder":"21"},{"ID":"22","h":"101","measuredH":"70","measuredW":"100","properties":{"color":"16777215"},"typeID":"Canvas","w":"591","x":"793","y":"2109","zOrder":"22"},{"ID":"23","h":"6","measuredH":"5","measuredW":"86","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":86,"y":0},"p1":{"x":0.5140765687406935,"y":0.03859053397720476},"p2":{"x":0,"y":4},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"87","x":"717","y":"1922","zOrder":"23"},{"ID":"24","h":"56","measuredH":"55","measuredW":"68","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":68,"y":0},"p1":{"x":0.4585501858736059,"y":0.14888475836431225},"p2":{"x":0,"y":55},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"69","x":"721","y":"1842","zOrder":"24"},{"ID":"25","h":"10","measuredH":"9","measuredW":"85","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":85,"y":9},"p1":{"x":0.5140765687406935,"y":0.03859053397720475},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"86","x":"715","y":"1801","zOrder":"25"},{"ID":"26","h":"59","measuredH":"58","measuredW":"86","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"length":0,"x":0,"y":0},"p1":{"length":0.4713955797207152,"x":0.4275092936802974,"y":-0.1986192246415295},"p2":{"length":103.73041983911952,"x":86,"y":58},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"87","x":"716","y":"1682","zOrder":"26"},{"ID":"27","h":"2","measuredH":"1","measuredW":"71","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":1},"p1":{"x":0.5210234034113447,"y":-0.007338357794525982},"p2":{"x":71,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"72","x":"727","y":"1610","zOrder":"27"},{"ID":"28","h":"49","measuredH":"48","measuredW":"98","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":98,"y":48},"p1":{"x":0.5140765687406935,"y":0.038590533977204765},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"99","x":"698","y":"1529","zOrder":"28"},{"ID":"29","h":"75","measuredH":"74","measuredW":"8","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"length":74,"x":0,"y":74},"p1":{"length":0.4140729850293062,"x":0.4104031209362818,"y":-0.05500650195058517},"p2":{"length":8,"x":8,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid","text":""},"typeID":"Arrow","w":"9","x":"975","y":"1482","zOrder":"29"},{"ID":"30","h":"84","measuredH":"83","measuredW":"8","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"length":8,"x":8,"y":0},"p1":{"length":0.5155229847842391,"x":0.5140765687406935,"y":0.038590533977204765},"p2":{"length":83,"x":0,"y":83},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"9","x":"978","y":"1310","zOrder":"30"},{"ID":"31","h":"15","measuredH":"14","measuredW":"100","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":9},"p1":{"x":0.45184009522864793,"y":-0.09066560857057832},"p2":{"x":100,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid"},"typeID":"Arrow","w":"101","x":"713","y":"1429","zOrder":"31"},{"ID":"32","h":"92","measuredH":"70","measuredW":"146","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":91,"length":91},"p1":{"x":0.2998344944382434,"y":-0.051268234479042475,"length":0.3041860547783792},"p2":{"x":133,"y":0,"length":133},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"134","x":"406","y":"442","zOrder":"32"},{"ID":"33","h":"93","measuredH":"92","measuredW":"67","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"length":92.04890004774636,"x":3,"y":92},"p1":{"length":0.42540726084496694,"x":0.3850318471337579,"y":0.18089171974522292},"p2":{"length":67,"x":67,"y":0},"rightArrow":"false","shape":"bezier","stroke":"solid"},"typeID":"Arrow","w":"68","x":"512","y":"1129","zOrder":"33"},{"ID":"34","h":"23","measuredH":"22","measuredW":"145","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":22},"p1":{"x":0.5177460050462573,"y":-0.033389402859545836},"p2":{"x":145,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"146","x":"708","y":"1009","zOrder":"34"},{"ID":"35","h":"123","measuredH":"122","measuredW":"118","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":118,"y":0},"p1":{"x":0.5006130932798996,"y":0.15479857642731107},"p2":{"x":0,"y":122},"rightArrow":"false","shape":"bezier","stroke":"solid"},"typeID":"Arrow","w":"119","x":"686","y":"902","zOrder":"35"},{"ID":"36","h":"53","measuredH":"52","measuredW":"87","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":87,"y":0},"p1":{"x":0.4442622950819672,"y":-0.013114754098360656},"p2":{"x":0,"y":52},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"88","x":"692","y":"883","zOrder":"36"},{"ID":"37","h":"187","measuredH":"186","measuredW":"91","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":91,"y":186},"p1":{"x":0.4750027536746258,"y":-0.12018259922407568},"p2":{"x":0,"y":0},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"92","x":"720","y":"651","zOrder":"37"},{"ID":"38","h":"83","measuredH":"82","measuredW":"47","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"length":82.00609733428362,"x":1,"y":82},"p1":{"length":0.4500179451633659,"x":0.4278136688201293,"y":0.1396123767426046},"p2":{"length":47,"x":47,"y":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"48","x":"407","y":"657","zOrder":"38"},{"ID":"39","h":"165","measuredH":"126","measuredW":"33","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":36,"y":164},"p1":{"x":0.4701515620167028,"y":0.1905351067120322},"p2":{"x":27,"y":0},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"37","x":"666","y":"441","zOrder":"39"},{"ID":"40","h":"255","measuredH":"254","measuredW":"78","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":4,"y":0},"p1":{"x":0.46391752577319545,"y":-0.1030927835051546},"p2":{"x":78,"y":254},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"79","x":"819","y":"292","zOrder":"40"},{"ID":"41","h":"60","measuredH":"33","measuredW":"150","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":59,"length":59},"p1":{"x":0.5349434965654775,"y":0.019632173720363407,"length":0.5353036210999189},"p2":{"x":127,"y":0,"length":127},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"128","x":"407","y":"434","zOrder":"41"},{"ID":"42","h":"61","measuredH":"60","measuredW":"88","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":88,"y":60,"length":106.50821564555478},"p1":{"x":0.6410437235543018,"y":-0.04019746121297602,"length":0.642302803509632},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted","text":""},"typeID":"Arrow","w":"89","x":"917","y":"441","zOrder":"42"},{"ID":"43","h":"20","measuredH":"19","measuredW":"84","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":84,"y":19,"length":86.12200647918046},"p1":{"x":0.4935957934474855,"y":0.02831333423216934,"length":0.49440717248478033},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"85","x":"919","y":"431","zOrder":"43"},{"ID":"44","h":"138","measuredH":"137","measuredW":"140","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":2,"length":2},"p1":{"x":0.26833582265545164,"y":0.06426381573775647,"length":0.2759238150891552},"p2":{"x":140,"y":137,"length":195.88006534611938},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"141","x":"403","y":"260","zOrder":"44"},{"ID":"45","h":"16","measuredH":"15","measuredW":"152","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":15,"length":15},"p1":{"x":0.2683358226554517,"y":0.0642638157377565,"length":0.27592381508915526},"p2":{"x":152,"y":2,"length":152.0131573252789},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"153","x":"392","y":"390","zOrder":"45"},{"ID":"46","h":"60","measuredH":"59","measuredW":"151","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":1,"y":59,"length":59.00847396772772},"p1":{"x":0.2683358226554517,"y":0.06426381573775616,"length":0.2759238150891552},"p2":{"x":151,"y":0,"length":151},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"152","x":"396","y":"392","zOrder":"46"},{"ID":"47","h":"46","measuredH":"45","measuredW":"151","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":5,"length":5},"p1":{"x":0.26833582265545164,"y":0.06426381573775647,"length":0.2759238150891552},"p2":{"x":151,"y":45,"length":157.56268593801008},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"152","x":"398","y":"351","zOrder":"47"},{"ID":"48","h":"86","measuredH":"85","measuredW":"140","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":3,"length":3},"p1":{"x":0.26833582265545164,"y":0.06426381573775647,"length":0.2759238150891552},"p2":{"x":140,"y":85,"length":163.783393541592},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"141","x":"402","y":"309","zOrder":"48"},{"ID":"49","h":"36","measuredH":"35","measuredW":"76","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":76,"y":35,"length":83.6719785830358},"p1":{"x":0.4949292958148836,"y":-0.07470361376946151,"length":0.5005353511651633},"p2":{"x":0,"y":0,"length":0},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"77","x":"924","y":"358","zOrder":"49"},{"ID":"50","h":"101","measuredH":"100","measuredW":"81","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":81,"y":1,"length":81.00617260431454},"p1":{"x":0.266776677667767,"y":-0.05445544554455441,"length":0.2722777833333223},"p2":{"x":0,"y":100,"length":100},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"82","x":"914","y":"253","zOrder":"50"},{"ID":"51","h":"53","measuredH":"52","measuredW":"92","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":92,"y":2,"length":92.02173656261873},"p1":{"x":0.321780372126961,"y":-0.08792411528639182,"length":0.33357646489981907},"p2":{"x":0,"y":52,"length":52},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"93","x":"915","y":"300","zOrder":"51"},{"ID":"52","h":"8","measuredH":"7","measuredW":"73","properties":{"color":"2848996","curvature":"1","direction":"bottom","leftArrow":"false","p0":{"x":73,"y":1,"length":73.00684899377592},"p1":{"x":0.3537744641192917,"y":-0.02907735321528425,"length":0.35496741249429986},"p2":{"x":0,"y":7,"length":7},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"74","x":"916","y":"345","zOrder":"52"},{"ID":"53","measuredH":"40","measuredW":"146","properties":{"bold":"true","size":"32","text":"Back-end"},"typeID":"Label","x":"598","y":"137","zOrder":"53"},{"ID":"54","h":"71","measuredH":"70","measuredW":"12","properties":{"color":"2848996","curvature":"-1","direction":"top","leftArrow":"false","p0":{"x":6,"y":0,"length":6},"p1":{"x":0.5214417744916817,"y":-0.11497227356746767,"length":0.533966429538699},"p2":{"x":12,"y":70,"length":71.02112361825881},"rightArrow":"false","shape":"bezier","stroke":"dotted"},"typeID":"Arrow","w":"13","x":"663","y":"50","zOrder":"54"},{"ID":"55","measuredH":"32","measuredW":"32","properties":{"color":"10027263","icon":{"ID":"github","size":"medium"}},"typeID":"Icon","x":"955","y":"69","zOrder":"55"},{"ID":"56","measuredH":"25","measuredW":"295","properties":{"bold":"true","color":"10027263","size":"17","text":"kamranahmedse/developer-roadmap"},"typeID":"Label","x":"994","y":"73","zOrder":"56"},{"ID":"57","measuredH":"32","measuredW":"32","properties":{"color":"10027263","icon":{"ID":"twitter","size":"medium"}},"typeID":"Icon","x":"955","y":"115","zOrder":"57"},{"ID":"58","measuredH":"25","measuredW":"133","properties":{"bold":"true","color":"10027263","size":"17","text":"kamranahmedse"},"typeID":"Label","x":"995","y":"120","zOrder":"58"},{"ID":"59","h":"79","measuredH":"78","measuredW":"13","properties":{"color":"2848996","curvature":"1","direction":"top","leftArrow":"false","p0":{"x":0,"y":0,"length":0},"p1":{"x":0.4416543574593796,"y":0.14967996061053668,"length":0.4663289204748396},"p2":{"x":3,"y":78,"length":78.05767098754612},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"14","x":"702","y":"187","zOrder":"59"},{"ID":"60","h":"71","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"400","x":"528","y":"247","zOrder":"60"},{"ID":"61","measuredH":"25","measuredW":"132","properties":{"bold":"true","size":"17","text":"Pick a Language"},"typeID":"Label","x":"576","y":"259","zOrder":"61"},{"ID":"62","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"542","y":"259","zOrder":"62"},{"ID":"63","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"1"},"typeID":"Label","x":"550","y":"261","zOrder":"63"},{"ID":"64","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"324","zOrder":"64"},{"ID":"65","measuredH":"25","measuredW":"166","properties":{"bold":"true","size":"17","text":"Scripting Languages"},"typeID":"Label","w":"371","x":"547","y":"332","zOrder":"65"},{"ID":"66","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"989","y":"326","zOrder":"66"},{"ID":"67","measuredH":"25","measuredW":"34","properties":{"bold":"true","size":"17","text":"PHP"},"typeID":"Label","w":"45","x":"1029","y":"335","zOrder":"67"},{"ID":"68","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"989","y":"371","zOrder":"68"},{"ID":"69","measuredH":"25","measuredW":"61","properties":{"bold":"true","size":"17","text":"Node.js"},"typeID":"Label","w":"68","x":"1029","y":"380","zOrder":"69"},{"ID":"70","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"989","y":"281","zOrder":"70"},{"ID":"71","measuredH":"25","measuredW":"40","properties":{"bold":"true","size":"17","text":"Ruby"},"typeID":"Label","w":"45","x":"1029","y":"290","zOrder":"71"},{"ID":"72","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"989","y":"236","zOrder":"72"},{"ID":"73","measuredH":"25","measuredW":"56","properties":{"bold":"true","size":"17","text":"Python"},"typeID":"Label","w":"68","x":"1028","y":"245","zOrder":"73"},{"ID":"74","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"371","zOrder":"74"},{"ID":"75","measuredH":"25","measuredW":"177","properties":{"bold":"true","size":"17","text":"Functional Languages"},"typeID":"Label","w":"191","x":"550","y":"379","zOrder":"75"},{"ID":"76","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"272","y":"377","zOrder":"76"},{"ID":"77","measuredH":"25","measuredW":"59","properties":{"bold":"true","size":"17","text":"Clojure"},"typeID":"Label","w":"61","x":"312","y":"386","zOrder":"77"},{"ID":"78","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"272","y":"422","zOrder":"78"},{"ID":"79","measuredH":"25","measuredW":"58","properties":{"bold":"true","size":"17","text":"Haskell"},"typeID":"Label","w":"68","x":"312","y":"431","zOrder":"79"},{"ID":"80","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"272","y":"332","zOrder":"80"},{"ID":"81","measuredH":"25","measuredW":"52","properties":{"bold":"true","size":"17","text":"Erlang"},"typeID":"Label","w":"61","x":"312","y":"341","zOrder":"81"},{"ID":"82","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"141","x":"272","y":"287","zOrder":"82"},{"ID":"83","measuredH":"25","measuredW":"46","properties":{"bold":"true","size":"17","text":"Scala"},"typeID":"Label","w":"68","x":"311","y":"296","zOrder":"83"},{"ID":"84","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"400","x":"528","y":"417","zOrder":"84"},{"ID":"85","measuredH":"25","measuredW":"116","properties":{"bold":"true","size":"17","text":"Other Options"},"typeID":"Label","w":"213","x":"550","y":"425","zOrder":"85"},{"ID":"86","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","text":""},"typeID":"TextArea","w":"141","x":"272","y":"242","zOrder":"86"},{"ID":"87","measuredH":"25","measuredW":"40","properties":{"bold":"true","size":"17","text":"Elixir"},"typeID":"Label","w":"61","x":"312","y":"251","zOrder":"87"},{"ID":"88","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"993","y":"432","zOrder":"88"},{"ID":"89","measuredH":"25","measuredW":"57","properties":{"bold":"true","size":"17","text":"Golang"},"typeID":"Label","w":"68","x":"1033","y":"441","zOrder":"89"},{"ID":"90","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"994","y":"478","zOrder":"90"},{"ID":"91","measuredH":"25","measuredW":"38","properties":{"bold":"true","size":"17","text":"Rust"},"typeID":"Label","w":"68","x":"1034","y":"487","zOrder":"91"},{"ID":"94","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"272","y":"468","zOrder":"92"},{"ID":"95","measuredH":"25","measuredW":"37","properties":{"bold":"true","size":"17","text":"Java"},"typeID":"Label","w":"68","x":"312","y":"477","zOrder":"93"},{"ID":"96","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"141","x":"273","y":"514","zOrder":"94"},{"ID":"97","measuredH":"25","measuredW":"39","properties":{"bold":"true","size":"17","text":".NET"},"typeID":"Label","w":"47","x":"313","y":"523","zOrder":"95"},{"ID":"98","h":"215","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"465","x":"838","y":"546","zOrder":"96"},{"ID":"99","measuredH":"25","measuredW":"413","properties":{"size":"17","text":"For the beginners, if you are just getting into backend"},"typeID":"Label","x":"852","y":"557","zOrder":"97"},{"ID":"100","measuredH":"25","measuredW":"429","properties":{"size":"17","text":"development, I would recommend you to pick one of the"},"typeID":"Label","x":"852","y":"583","zOrder":"98"},{"ID":"101","measuredH":"25","measuredW":"403","properties":{"size":"17","text":"scripting languages. For the quick-and-easy, go with"},"typeID":"Label","x":"852","y":"610","zOrder":"99"},{"ID":"102","measuredH":"25","measuredW":"441","properties":{"size":"17","text":"*Node.js* or *PHP*. If you have already been doing backend,"},"typeID":"Label","x":"852","y":"637","zOrder":"100"},{"ID":"103","measuredH":"25","measuredW":"410","properties":{"size":"17","text":"with some scripting language then don't pick another"},"typeID":"Label","x":"852","y":"665","zOrder":"101"},{"ID":"104","measuredH":"25","measuredW":"416","properties":{"size":"17","text":"scripting language and have a look at Golang, Rust or"},"typeID":"Label","x":"852","y":"691","zOrder":"102"},{"ID":"105","measuredH":"25","measuredW":"393","properties":{"size":"17","text":"Clojure, it will definitely give you a new perspective."},"typeID":"Label","x":"852","y":"720","zOrder":"103"},{"ID":"106","h":"96","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"405","x":"366","y":"583","zOrder":"104"},{"ID":"107","measuredH":"25","measuredW":"198","properties":{"bold":"true","size":"17","text":"Practice what you learnt"},"typeID":"Label","x":"412","y":"595","zOrder":"105"},{"ID":"108","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"378","y":"595","zOrder":"106"},{"ID":"109","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"2"},"typeID":"Label","x":"386","y":"597","zOrder":"107"},{"ID":"110","measuredH":"25","measuredW":"315","properties":{"size":"17","text":"Excercise and make some command line"},"typeID":"Label","x":"412","y":"619","zOrder":"108"},{"ID":"111","measuredH":"25","measuredW":"297","properties":{"size":"17","text":"applications with your picked language"},"typeID":"Label","x":"412","y":"641","zOrder":"109"},{"ID":"112","measuredH":"25","measuredW":"292","properties":{"size":"17","text":"There are myriads of different options"},"typeID":"Label","x":"575","y":"283","zOrder":"110"},{"ID":"113","h":"187","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"575","x":"152","y":"700","zOrder":"111"},{"ID":"114","measuredH":"25","measuredW":"111","properties":{"bold":"true","size":"17","text":"Sample Ideas"},"typeID":"Label","w":"131","x":"168","y":"714","zOrder":"112"},{"ID":"115","measuredH":"25","measuredW":"366","properties":{"size":"17","text":"Implement some command that you use e.g. `ls`"},"typeID":"Label","x":"168","y":"742","zOrder":"113"},{"ID":"116","measuredH":"25","measuredW":"507","properties":{"size":"17","text":"Command that fetches and saves reddit posts on /r/programming"},"typeID":"Label","x":"168","y":"768","zOrder":"114"},{"ID":"117","measuredH":"25","measuredW":"464","properties":{"size":"17","text":"Command that gives you directory structure in JSON format"},"typeID":"Label","x":"168","y":"794","zOrder":"115"},{"ID":"118","measuredH":"25","measuredW":"543","properties":{"size":"17","text":"Command that reads JSON from above and creates director structure"},"typeID":"Label","x":"168","y":"820","zOrder":"116"},{"ID":"119","measuredH":"25","measuredW":"511","properties":{"size":"17","text":"Think of some task that you do every day and try to automate that"},"typeID":"Label","x":"168","y":"846","zOrder":"117"},{"ID":"120","h":"133","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"523","x":"766","y":"788","zOrder":"118"},{"ID":"121","measuredH":"25","measuredW":"195","properties":{"bold":"true","size":"17","text":"Learn Package Manager"},"typeID":"Label","x":"813","y":"803","zOrder":"119"},{"ID":"122","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"779","y":"803","zOrder":"120"},{"ID":"123","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"3"},"typeID":"Label","x":"787","y":"805","zOrder":"121"},{"ID":"124","h":"72","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"485","x":"241","y":"902","zOrder":"122"},{"ID":"125","measuredH":"25","measuredW":"442","properties":{"size":"17","text":"Package managers help you bring external dependencies"},"typeID":"Label","x":"254","y":"914","zOrder":"123"},{"ID":"126","measuredH":"25","measuredW":"432","properties":{"size":"17","text":"in your application and to distribute your own packages. "},"typeID":"Label","x":"254","y":"936","zOrder":"124"},{"ID":"127","measuredH":"25","measuredW":"445","properties":{"size":"17","text":"Learn how to use package manager for the language that"},"typeID":"Label","x":"813","y":"827","zOrder":"125"},{"ID":"128","measuredH":"25","measuredW":"451","properties":{"size":"17","text":"you picked, e.g. *PHP has composer, Node.js has NPM and*"},"typeID":"Label","x":"813","y":"852","zOrder":"126"},{"ID":"129","h":"153","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"575","x":"158","y":"985","zOrder":"127"},{"ID":"130","measuredH":"25","measuredW":"245","properties":{"bold":"true","size":"17","text":"Standards and Best Practices"},"typeID":"Label","x":"204","y":"1001","zOrder":"128"},{"ID":"131","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"170","y":"1001","zOrder":"129"},{"ID":"132","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"4"},"typeID":"Label","x":"178","y":"1003","zOrder":"130"},{"ID":"133","measuredH":"25","measuredW":"490","properties":{"size":"17","text":"Each of the language has its own standards and best practices"},"typeID":"Label","x":"204","y":"1028","zOrder":"131"},{"ID":"134","measuredH":"25","measuredW":"511","properties":{"size":"17","text":"of doing things. Study them for your picked language. For example"},"typeID":"Label","x":"204","y":"1050","zOrder":"132"},{"ID":"135","measuredH":"25","measuredW":"519","properties":{"size":"17","text":"*PHP has PHP-FIG and PSRs*, with Node.js there are many different"},"typeID":"Label","x":"204","y":"1075","zOrder":"133"},{"ID":"136","h":"110","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"570","x":"806","y":"947","zOrder":"134"},{"ID":"137","measuredH":"25","measuredW":"504","properties":{"size":"17","text":"Make sure to read about the best practices for security. Read the"},"typeID":"Label","x":"820","y":"962","zOrder":"135"},{"ID":"138","measuredH":"25","measuredW":"531","properties":{"size":"17","text":"OWASP guidelines and understand different security issues and how"},"typeID":"Label","x":"820","y":"988","zOrder":"136"},{"ID":"139","measuredH":"25","measuredW":"311","properties":{"size":"17","text":"to avoid them in language of your choice"},"typeID":"Label","x":"823","y":"1015","zOrder":"137"},{"ID":"140","h":"323","measuredH":"140","measuredW":"200","properties":{"color":"16776960","textColor":"0"},"typeID":"TextArea","w":"576","x":"158","y":"1156","zOrder":"138"},{"ID":"141","measuredH":"25","measuredW":"350","properties":{"bold":"true","size":"17","text":"Make and Distribute Some Package/Library"},"typeID":"Label","x":"207","y":"1177","zOrder":"139"},{"ID":"142","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"173","y":"1177","zOrder":"140"},{"ID":"143","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"5"},"typeID":"Label","x":"181","y":"1179","zOrder":"141"},{"ID":"144","measuredH":"25","measuredW":"490","properties":{"size":"17","text":"Now go ahead and create a package and distribute it for others"},"typeID":"Label","x":"207","y":"1204","zOrder":"142"},{"ID":"145","measuredH":"25","measuredW":"502","properties":{"size":"17","text":"to use, and make sure to follow the standards and best practices"},"typeID":"Label","x":"207","y":"1230","zOrder":"143"},{"ID":"146","measuredH":"25","measuredW":"211","properties":{"size":"17","text":"that you have learnt this far."},"typeID":"Label","x":"207","y":"1254","zOrder":"144"},{"ID":"147","measuredH":"25","measuredW":"322","properties":{"size":"17","text":"*yarn, Python has pip, Ruby has gems* etc"},"typeID":"Label","x":"813","y":"880","zOrder":"145"},{"ID":"148","measuredH":"25","measuredW":"329","properties":{"bold":"true","size":"17","text":"Contribute to Some Opensource Project"},"typeID":"Label","x":"207","y":"1292","zOrder":"146"},{"ID":"149","measuredH":"25","measuredW":"499","properties":{"size":"17","text":"Search for some projects on github and open some pull requests"},"typeID":"Label","x":"207","y":"1320","zOrder":"147"},{"ID":"150","measuredH":"25","measuredW":"344","properties":{"size":"17","text":"in opensource projects. Some ideas for that :"},"typeID":"Label","x":"207","y":"1345","zOrder":"148"},{"ID":"151","measuredH":"25","measuredW":"448","properties":{"size":"17","text":"Refactor and implement the best practices that you learnt"},"typeID":"Label","x":"209","y":"1385","zOrder":"149"},{"ID":"152","measuredH":"25","measuredW":"339","properties":{"size":"17","text":"Look into the open issues and try to resolve"},"typeID":"Label","x":"209","y":"1410","zOrder":"150"},{"ID":"153","measuredH":"25","measuredW":"240","properties":{"size":"17","text":"Add any additional functionality"},"typeID":"Label","x":"209","y":"1435","zOrder":"151"},{"ID":"154","h":"138","measuredH":"140","measuredW":"200","properties":{"color":"16776960","text":""},"typeID":"TextArea","w":"595","x":"782","y":"1359","zOrder":"152"},{"ID":"155","measuredH":"25","measuredW":"163","properties":{"bold":"true","size":"17","text":"Learn about Testing"},"typeID":"Label","x":"830","y":"1375","zOrder":"153"},{"ID":"156","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"796","y":"1375","zOrder":"154"},{"ID":"157","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"6"},"typeID":"Label","x":"804","y":"1377","zOrder":"155"},{"ID":"158","measuredH":"25","measuredW":"535","properties":{"size":"17","text":"There are several different testing types, but for now learn about how"},"typeID":"Label","x":"830","y":"1402","zOrder":"156"},{"ID":"159","measuredH":"25","measuredW":"486","properties":{"size":"17","text":"to write *Unit and Integration tests* in the language you picked."},"typeID":"Label","x":"829","y":"1428","zOrder":"157"},{"ID":"160","measuredH":"25","measuredW":"529","properties":{"size":"17","text":"Understand different testing terminologies such as mocks, stubs etc"},"typeID":"Label","x":"829","y":"1454","zOrder":"158"},{"ID":"161","h":"252","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"603","x":"774","y":"1084","zOrder":"159"},{"ID":"162","measuredH":"25","measuredW":"573","properties":{"size":"17","text":"There are several different options, each having different uses, depending "},"typeID":"Label","x":"788","y":"1099","zOrder":"160"},{"ID":"163","measuredH":"25","measuredW":"553","properties":{"size":"17","text":"upon the language of your choice. *Google* around, see different options "},"typeID":"Label","x":"791","y":"1125","zOrder":"161"},{"ID":"164","measuredH":"25","measuredW":"312","properties":{"size":"17","text":"and pick the one suitable for your needs."},"typeID":"Label","x":"791","y":"1152","zOrder":"162"},{"ID":"165","measuredH":"25","measuredW":"342","properties":{"size":"17","text":"*For PHP* – &*{color:blue}PHPUnit{color}*&, PHPSpec, Codeception"},"typeID":"Label","x":"792","y":"1193","zOrder":"163"},{"ID":"166","measuredH":"25","measuredW":"454","properties":{"size":"17","text":"*For Node.js* – &*{color:blue}Mocha{color}*&, &*{color:blue}Chai{color}*&, &*{color:blue}Sinon{color}*&, &*{color:blue}Mockery{color}*&, Ava, Jasmine"},"typeID":"Label","x":"792","y":"1221","zOrder":"164"},{"ID":"167","measuredH":"25","measuredW":"562","properties":{"size":"17","text":"For others, I don't want to start any flamewars so I am not going to make"},"typeID":"Label","x":"791","y":"1264","zOrder":"165"},{"ID":"168","measuredH":"25","measuredW":"531","properties":{"size":"17","text":"any recommendations here, so look around and find the ones suitable"},"typeID":"Label","x":"791","y":"1290","zOrder":"166"},{"ID":"169","h":"117","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"594","x":"783","y":"1524","zOrder":"167"},{"ID":"170","measuredH":"25","measuredW":"336","properties":{"bold":"true","size":"17","text":"Write Tests for the practical steps above"},"typeID":"Label","x":"832","y":"1545","zOrder":"168"},{"ID":"171","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"798","y":"1545","zOrder":"169"},{"ID":"172","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"7"},"typeID":"Label","x":"806","y":"1547","zOrder":"170"},{"ID":"173","measuredH":"25","measuredW":"501","properties":{"size":"17","text":"Go ahead and write the unit tests for the practical tasks that you"},"typeID":"Label","x":"832","y":"1572","zOrder":"171"},{"ID":"174","measuredH":"25","measuredW":"252","properties":{"size":"17","text":"implemented in the steps before."},"typeID":"Label","x":"832","y":"1598","zOrder":"172"},{"ID":"175","measuredH":"25","measuredW":"191","properties":{"size":"17","text":"driven by community etc."},"typeID":"Label","x":"203","y":"1099","zOrder":"173"},{"ID":"176","h":"50","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"575","x":"158","y":"1498","zOrder":"174"},{"ID":"177","measuredH":"25","measuredW":"286","properties":{"size":"17","text":"Learn how to calculate test coverage"},"typeID":"Label","x":"208","y":"1511","zOrder":"175"},{"ID":"178","measuredH":"24","measuredW":"24","properties":{"icon":{"ID":"lightbulb-o","size":"small"}},"typeID":"Icon","x":"173","y":"1511","zOrder":"176"},{"ID":"179","h":"159","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"371","x":"366","y":"1570","zOrder":"177"},{"ID":"180","measuredH":"25","measuredW":"224","properties":{"bold":"true","size":"17","text":"Learn Relational Databases"},"typeID":"Label","w":"226","x":"411","y":"1584","zOrder":"178"},{"ID":"181","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"378","y":"1582","zOrder":"179"},{"ID":"182","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"8"},"typeID":"Label","w":"11","x":"386","y":"1584","zOrder":"180"},{"ID":"183","measuredH":"32","measuredW":"76","properties":{"align":"center","color":"16776960","size":"18","text":"MySQL"},"typeID":"TextInput","w":"121","x":"110","y":"1612","zOrder":"181"},{"ID":"184","measuredH":"32","measuredW":"83","properties":{"align":"center","color":"16776960","size":"18","text":"MariaDB"},"typeID":"TextInput","w":"119","x":"237","y":"1612","zOrder":"182"},{"ID":"185","measuredH":"32","measuredW":"114","properties":{"align":"center","color":"16776960","size":"18","text":"PostgreSQL"},"typeID":"TextInput","w":"246","x":"108","y":"1652","zOrder":"183"},{"ID":"186","measuredH":"32","measuredW":"67","properties":{"align":"center","color":"16770457","size":"18","text":"Oracle"},"typeID":"TextInput","w":"246","x":"109","y":"1570","zOrder":"184"},{"ID":"187","measuredH":"32","measuredW":"78","properties":{"align":"center","color":"16770457","size":"18","text":"MSSQL"},"typeID":"TextInput","w":"246","x":"108","y":"1695","zOrder":"185"},{"ID":"188","measuredH":"25","measuredW":"324","properties":{"size":"17","text":"There are several options here. However if"},"typeID":"Label","x":"382","y":"1613","zOrder":"186"},{"ID":"189","measuredH":"25","measuredW":"339","properties":{"size":"17","text":"if you learn one, others should be fairly easy."},"typeID":"Label","x":"382","y":"1637","zOrder":"187"},{"ID":"190","measuredH":"25","measuredW":"334","properties":{"size":"17","text":"Pick *MySQL* for now but learn how they are"},"typeID":"Label","x":"382","y":"1662","zOrder":"188"},{"ID":"191","measuredH":"25","measuredW":"209","properties":{"size":"17","text":"different and the usecases"},"typeID":"Label","x":"382","y":"1686","zOrder":"189"},{"ID":"192","h":"190","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"603","x":"782","y":"1664","zOrder":"190"},{"ID":"193","measuredH":"25","measuredW":"118","properties":{"bold":"true","size":"17","text":"Practical Time"},"typeID":"Label","x":"829","y":"1681","zOrder":"191"},{"ID":"194","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"795","y":"1681","zOrder":"192"},{"ID":"195","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"9"},"typeID":"Label","x":"803","y":"1683","zOrder":"193"},{"ID":"196","measuredH":"25","measuredW":"533","properties":{"size":"17","text":"Create a simple application using everything that you have learnt this"},"typeID":"Label","x":"829","y":"1708","zOrder":"194"},{"ID":"197","measuredH":"25","measuredW":"495","properties":{"size":"17","text":"far. It should have registration, login and CRUD. Create a blog, for"},"typeID":"Label","x":"829","y":"1734","zOrder":"195"},{"ID":"198","measuredH":"25","measuredW":"506","properties":{"size":"17","text":"example. Where anyone can register and get a public profile page"},"typeID":"Label","x":"829","y":"1760","zOrder":"196"},{"ID":"199","measuredH":"25","measuredW":"524","properties":{"size":"17","text":"create, update and delete posts and public page will show the posts"},"typeID":"Label","x":"829","y":"1788","zOrder":"197"},{"ID":"200","measuredH":"25","measuredW":"129","properties":{"size":"17","text":"created by them."},"typeID":"Label","x":"829","y":"1813","zOrder":"198"},{"ID":"201","h":"108","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"585","x":"142","y":"1754","zOrder":"199"},{"ID":"202","measuredH":"25","measuredW":"505","properties":{"size":"17","text":"Make sure to write tests, follow the standards and best practices."},"typeID":"Label","x":"155","y":"1767","zOrder":"200"},{"ID":"203","measuredH":"25","measuredW":"551","properties":{"size":"17","text":"Also for the database, add the indexes, use proper storage engines and"},"typeID":"Label","x":"155","y":"1793","zOrder":"201"},{"ID":"204","measuredH":"25","measuredW":"540","properties":{"size":"17","text":"make sure to analyze the queries before using them in the application."},"typeID":"Label","x":"155","y":"1820","zOrder":"202"},{"ID":"205","h":"41","measuredH":"140","measuredW":"200","properties":{"color":"16770457","textColor":"16776960"},"typeID":"TextArea","w":"205","x":"1135","y":"371","zOrder":"203"},{"ID":"206","measuredH":"25","measuredW":"174","properties":{"bold":"true","size":"17","text":"TypeScript (Optional)"},"typeID":"Label","w":"175","x":"1151","y":"380","zOrder":"204"},{"ID":"207","h":"66","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"1878","zOrder":"205"},{"ID":"208","measuredH":"25","measuredW":"154","properties":{"bold":"true","size":"17","text":"Learn a Framework"},"typeID":"Label","x":"165","y":"1899","zOrder":"206"},{"ID":"209","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"1899","zOrder":"207"},{"ID":"210","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"10"},"typeID":"Label","x":"136","y":"1901","zOrder":"208"},{"ID":"211","h":"220","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"594","x":"791","y":"1871","zOrder":"209"},{"ID":"212","measuredH":"25","measuredW":"547","properties":{"size":"17","text":"Depending upon the project and the language you picked, you might or"},"typeID":"Label","x":"804","y":"1884","zOrder":"210"},{"ID":"213","measuredH":"25","measuredW":"491","properties":{"size":"17","text":"might not need a framework. There are several different options"},"typeID":"Label","x":"804","y":"1912","zOrder":"211"},{"ID":"214","measuredH":"25","measuredW":"558","properties":{"size":"17","text":"*For PHP* – &*{color:blue}Laravel{color}*& or &*{color:blue}Symfony{color}*& and Slim or Lumen for micro-frameworks"},"typeID":"Label","x":"804","y":"1952","zOrder":"212"},{"ID":"215","measuredH":"25","measuredW":"258","properties":{"size":"17","text":"*For Node.js* – &*{color:blue}Express.js{color}*&, Hapi.js"},"typeID":"Label","x":"804","y":"1980","zOrder":"213"},{"ID":"216","measuredH":"25","measuredW":"377","properties":{"size":"17","text":"*For Golang* – I prefer to code without framework"},"typeID":"Label","x":"804","y":"2009","zOrder":"214"},{"ID":"217","measuredH":"25","measuredW":"560","properties":{"size":"17","text":"For others, search and find the suitable ones for the language you picked"},"typeID":"Label","x":"804","y":"2048","zOrder":"215"},{"ID":"218","h":"80","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"637","x":"116","y":"1953","zOrder":"216"},{"ID":"219","measuredH":"25","measuredW":"114","properties":{"bold":"true","size":"17","text":"Practical time"},"typeID":"Label","x":"162","y":"1966","zOrder":"217"},{"ID":"220","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"129","y":"1965","zOrder":"218"},{"ID":"221","measuredH":"21","measuredW":"11","properties":{"bold":"true","color":"16777215","text":"11"},"typeID":"Label","x":"135","y":"1967","zOrder":"219"},{"ID":"222","measuredH":"25","measuredW":"576","properties":{"size":"17","text":"Make the same application you made in to the framework of your choice"},"typeID":"Label","x":"161","y":"1994","zOrder":"220"},{"ID":"223","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"467","y":"1994","zOrder":"221"},{"ID":"224","measuredH":"21","measuredW":"10","properties":{"bold":"true","color":"16777215","text":"9"},"typeID":"Label","x":"475","y":"1996","zOrder":"222"},{"ID":"225","h":"179","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"2040","zOrder":"223"},{"ID":"226","measuredH":"25","measuredW":"207","properties":{"bold":"true","size":"17","text":"Learn a NoSQL Database"},"typeID":"Label","x":"165","y":"2058","zOrder":"224"},{"ID":"227","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"2058","zOrder":"225"},{"ID":"228","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"12"},"typeID":"Label","x":"136","y":"2060","zOrder":"226"},{"ID":"229","measuredH":"25","measuredW":"573","properties":{"size":"17","text":"Have a look at different options and see how they differ. If you have to pick"},"typeID":"Label","w":"574","x":"166","y":"2144","zOrder":"227"},{"ID":"230","measuredH":"25","measuredW":"149","properties":{"size":"17","text":"one, pick *MongoDB*"},"typeID":"Label","w":"574","x":"166","y":"2170","zOrder":"228"},{"ID":"231","measuredH":"25","measuredW":"527","properties":{"size":"17","text":"First understand what they are, how they are different from relational"},"typeID":"Label","w":"574","x":"166","y":"2091","zOrder":"229"},{"ID":"232","measuredH":"25","measuredW":"555","properties":{"size":"17","text":"databases and why they are needed. There are several different options"},"typeID":"Label","w":"574","x":"165","y":"2117","zOrder":"230"},{"ID":"233","measuredH":"32","measuredW":"104","properties":{"align":"center","color":"16777215","size":"18","text":"Cassandra"},"typeID":"TextInput","w":"185","x":"1023","y":"2164","zOrder":"231"},{"ID":"234","measuredH":"32","measuredW":"92","properties":{"align":"center","color":"16776960","size":"18","text":"MongoDB"},"typeID":"TextInput","w":"185","x":"1023","y":"2123","zOrder":"232"},{"ID":"235","measuredH":"32","measuredW":"99","properties":{"align":"center","color":"16777215","size":"18","text":"RethinkDB"},"typeID":"TextInput","w":"157","x":"1215","y":"2123","zOrder":"233"},{"ID":"236","measuredH":"32","measuredW":"106","properties":{"align":"center","color":"16777215","size":"18","text":"Couchbase"},"typeID":"TextInput","w":"157","x":"1215","y":"2163","zOrder":"234"},{"ID":"237","h":"86","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"750","y":"2246","zOrder":"235"},{"ID":"238","measuredH":"25","measuredW":"65","properties":{"bold":"true","size":"17","text":"Caching"},"typeID":"Label","w":"101","x":"799","y":"2263","zOrder":"236"},{"ID":"239","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"765","y":"2263","zOrder":"237"},{"ID":"240","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"13"},"typeID":"Label","x":"770","y":"2265","zOrder":"238"},{"ID":"241","measuredH":"25","measuredW":"539","properties":{"size":"17","text":"Learn how to implement app level caching using Redis or Memcached"},"typeID":"Label","w":"574","x":"800","y":"2290","zOrder":"239"},{"ID":"242","measuredH":"32","measuredW":"113","properties":{"align":"center","color":"16776960","size":"18","text":"Memcached"},"typeID":"TextInput","w":"183","x":"472","y":"2255","zOrder":"240"},{"ID":"243","measuredH":"32","measuredW":"61","properties":{"align":"center","color":"16776960","size":"18","text":"Redis"},"typeID":"TextInput","w":"183","x":"472","y":"2291","zOrder":"241"},{"ID":"244","measuredH":"25","measuredW":"185","properties":{"size":"17","text":"Learn MongoDB for now"},"typeID":"Label","w":"193","x":"809","y":"2120","zOrder":"242"},{"ID":"245","measuredH":"25","measuredW":"201","properties":{"size":"17","text":"but make sure to look how"},"typeID":"Label","w":"200","x":"809","y":"2144","zOrder":"243"},{"ID":"246","measuredH":"25","measuredW":"181","properties":{"size":"17","text":"it compares with others"},"typeID":"Label","w":"190","x":"812","y":"2169","zOrder":"244"},{"ID":"247","h":"142","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"2605","zOrder":"245"},{"ID":"248","measuredH":"25","measuredW":"139","properties":{"bold":"true","size":"17","text":"Message Brokers"},"typeID":"Label","w":"155","x":"165","y":"2622","zOrder":"246"},{"ID":"249","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"2622","zOrder":"247"},{"ID":"250","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"16"},"typeID":"Label","w":"14","x":"136","y":"2624","zOrder":"248"},{"ID":"251","measuredH":"25","measuredW":"542","properties":{"size":"17","text":"Learn about the message brokers, understand the \"Why\" and pick one."},"typeID":"Label","w":"574","x":"166","y":"2651","zOrder":"249"},{"ID":"252","h":"109","measuredH":"140","measuredW":"200","properties":{"color":"16770457"},"typeID":"TextArea","w":"299","x":"131","y":"2237","zOrder":"250"},{"ID":"253","measuredH":"25","measuredW":"254","properties":{"size":"17","text":"Once you have learnt, implement"},"typeID":"Label","w":"258","x":"148","y":"2253","zOrder":"251"},{"ID":"254","measuredH":"25","measuredW":"234","properties":{"size":"17","text":"caching strategy in application"},"typeID":"Label","w":"258","x":"148","y":"2277","zOrder":"252"},{"ID":"255","measuredH":"25","measuredW":"140","properties":{"size":"17","text":"you built in step 11"},"typeID":"Label","w":"258","x":"147","y":"2303","zOrder":"253"},{"ID":"256","measuredH":"25","measuredW":"554","properties":{"size":"17","text":"There are multiple options but I would go for *RabbitMQ* or *Kafka*. Learn"},"typeID":"Label","w":"574","x":"165","y":"2679","zOrder":"254"},{"ID":"257","measuredH":"32","measuredW":"95","properties":{"align":"center","color":"16776960","size":"18","text":"RabbitMQ"},"typeID":"TextInput","w":"183","x":"886","y":"2646","zOrder":"255"},{"ID":"258","measuredH":"32","measuredW":"63","properties":{"align":"center","color":"16770457","size":"18","text":"Kafka"},"typeID":"TextInput","w":"183","x":"886","y":"2682","zOrder":"256"},{"ID":"259","measuredH":"25","measuredW":"409","properties":{"size":"17","text":"how to use RabbitMQ for now, if you want to pick one."},"typeID":"Label","w":"574","x":"166","y":"2707","zOrder":"257"},{"ID":"260","h":"143","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"116","y":"2755","zOrder":"258"},{"ID":"261","measuredH":"25","measuredW":"183","properties":{"bold":"true","size":"17","text":"Learn a Search Engine"},"typeID":"Label","w":"280","x":"164","y":"2772","zOrder":"259"},{"ID":"262","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"131","y":"2772","zOrder":"260"},{"ID":"263","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"17"},"typeID":"Label","x":"136","y":"2774","zOrder":"261"},{"ID":"264","measuredH":"32","measuredW":"127","properties":{"align":"center","color":"16776960","size":"18","text":"ElasticSearch"},"typeID":"TextInput","w":"183","x":"886","y":"2771","zOrder":"262"},{"ID":"265","measuredH":"32","measuredW":"47","properties":{"align":"center","color":"16776960","size":"18","text":"Solr"},"typeID":"TextInput","w":"183","x":"886","y":"2807","zOrder":"263"},{"ID":"266","measuredH":"32","measuredW":"69","properties":{"align":"center","color":"16770457","size":"18","text":"Sphinx"},"typeID":"TextInput","w":"183","x":"888","y":"2843","zOrder":"264"},{"ID":"267","measuredH":"25","measuredW":"564","properties":{"size":"17","text":"As the application grows, simple queries on your database aren't going to"},"typeID":"Label","w":"574","x":"165","y":"2802","zOrder":"265"},{"ID":"268","measuredH":"25","measuredW":"570","properties":{"size":"17","text":"cut it out and you will have to resort to a search engine. There are multiple"},"typeID":"Label","w":"574","x":"165","y":"2827","zOrder":"266"},{"ID":"269","measuredH":"25","measuredW":"313","properties":{"size":"17","text":"options, each having it's own differences."},"typeID":"Label","w":"574","x":"165","y":"2854","zOrder":"267"},{"ID":"270","h":"113","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"753","y":"2340","zOrder":"268"},{"ID":"271","measuredH":"25","measuredW":"184","properties":{"bold":"true","size":"17","text":"Creating RESTful APIs"},"typeID":"Label","w":"203","x":"802","y":"2357","zOrder":"269"},{"ID":"272","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"768","y":"2357","zOrder":"270"},{"ID":"273","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"14"},"typeID":"Label","x":"773","y":"2359","zOrder":"271"},{"ID":"274","measuredH":"25","measuredW":"571","properties":{"size":"17","text":"Understand REST and learn how to make RESTful APIs and make sure to"},"typeID":"Label","w":"574","x":"803","y":"2386","zOrder":"272"},{"ID":"275","measuredH":"25","measuredW":"503","properties":{"size":"17","text":"read the part about REST from the original paper of *Roy Fielding*"},"typeID":"Label","w":"574","x":"803","y":"2410","zOrder":"273"},{"ID":"276","h":"87","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"754","y":"2460","zOrder":"274"},{"ID":"277","measuredH":"25","measuredW":"354","properties":{"bold":"true","size":"17","text":"Authentication/Authorization Methodologies"},"typeID":"Label","w":"377","x":"805","y":"2477","zOrder":"275"},{"ID":"278","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"771","y":"2477","zOrder":"276"},{"ID":"279","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"15"},"typeID":"Label","x":"776","y":"2479","zOrder":"277"},{"ID":"280","measuredH":"25","measuredW":"431","properties":{"size":"17","text":"Learn about the differences and how to implement them"},"typeID":"Label","w":"495","x":"804","y":"2508","zOrder":"278"},{"ID":"281","measuredH":"32","measuredW":"63","properties":{"align":"center","color":"16776960","size":"18","text":"OAuth"},"typeID":"TextInput","w":"210","x":"386","y":"2400","zOrder":"279"},{"ID":"282","measuredH":"32","measuredW":"180","properties":{"align":"center","color":"16776960","size":"18","text":"Basic Authentication"},"typeID":"TextInput","w":"210","x":"386","y":"2436","zOrder":"280"},{"ID":"283","measuredH":"32","measuredW":"183","properties":{"align":"center","color":"16776960","size":"18","text":"Token Authentication"},"typeID":"TextInput","w":"210","x":"386","y":"2472","zOrder":"281"},{"ID":"284","measuredH":"32","measuredW":"55","properties":{"align":"center","color":"16776960","size":"18","text":"JWT"},"typeID":"TextInput","w":"210","x":"386","y":"2508","zOrder":"282"},{"ID":"285","measuredH":"32","measuredW":"77","properties":{"align":"center","color":"16776960","size":"18","text":"OpenID"},"typeID":"TextInput","w":"210","x":"387","y":"2545","zOrder":"283"},{"ID":"286","h":"60","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"738","y":"2914","zOrder":"284"},{"ID":"287","measuredH":"25","measuredW":"207","properties":{"bold":"true","size":"17","text":"Learn How to Use Docker"},"typeID":"Label","w":"280","x":"788","y":"2930","zOrder":"285"},{"ID":"288","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"755","y":"2929","zOrder":"286"},{"ID":"289","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"18"},"typeID":"Label","w":"14","x":"760","y":"2931","zOrder":"287"},{"ID":"290","h":"112","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"738","y":"3170","zOrder":"288"},{"ID":"291","measuredH":"25","measuredW":"124","properties":{"bold":"true","size":"17","text":"Learn GraphQL"},"typeID":"Label","w":"153","x":"788","y":"3185","zOrder":"289"},{"ID":"292","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"755","y":"3184","zOrder":"290"},{"ID":"293","measuredH":"21","measuredW":"14","properties":{"bold":"true","color":"16777215","text":"21"},"typeID":"Label","w":"14","x":"760","y":"3186","zOrder":"291"},{"ID":"294","measuredH":"25","measuredW":"556","properties":{"size":"17","text":"While it is not required, feel free to have a look at it and see what it is all"},"typeID":"Label","w":"574","x":"789","y":"3213","zOrder":"292"},{"ID":"295","measuredH":"25","measuredW":"367","properties":{"size":"17","text":"about and why they are calling it the new REST"},"typeID":"Label","w":"574","x":"789","y":"3240","zOrder":"293"},{"ID":"296","h":"114","measuredH":"140","measuredW":"200","properties":{"color":"16776960","text":""},"typeID":"TextArea","w":"638","x":"738","y":"2981","zOrder":"294"},{"ID":"297","measuredH":"25","measuredW":"219","properties":{"bold":"true","size":"17","text":"Knowledge of Web Servers"},"typeID":"Label","w":"280","x":"789","y":"2998","zOrder":"295"},{"ID":"298","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"755","y":"2996","zOrder":"296"},{"ID":"299","measuredH":"21","measuredW":"13","properties":{"bold":"true","color":"16777215","text":"19"},"typeID":"Label","w":"14","x":"760","y":"2998","zOrder":"297"},{"ID":"300","measuredH":"25","measuredW":"526","properties":{"size":"17","text":"There are several different options here, look at the different options,"},"typeID":"Label","w":"566","x":"789","y":"3026","zOrder":"298"},{"ID":"301","measuredH":"25","measuredW":"336","properties":{"size":"17","text":"understand their differences and limitations"},"typeID":"Label","w":"566","x":"790","y":"3053","zOrder":"299"},{"ID":"302","measuredH":"32","measuredW":"76","properties":{"align":"center","color":"16776960","size":"18","text":"Apache"},"typeID":"TextInput","w":"183","x":"403","y":"2971","zOrder":"300"},{"ID":"303","measuredH":"32","measuredW":"60","properties":{"align":"center","color":"16776960","size":"18","text":"Nginx"},"typeID":"TextInput","w":"183","x":"403","y":"3007","zOrder":"301"},{"ID":"304","measuredH":"32","measuredW":"67","properties":{"align":"center","color":"16770457","size":"18","text":"Caddy"},"typeID":"TextInput","w":"183","x":"405","y":"3043","zOrder":"302"},{"ID":"305","measuredH":"32","measuredW":"70","properties":{"align":"center","color":"16770457","size":"18","text":"MS IIS"},"typeID":"TextInput","w":"183","x":"405","y":"3080","zOrder":"303"},{"ID":"306","h":"60","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"739","y":"3102","zOrder":"304"},{"ID":"307","measuredH":"25","measuredW":"250","properties":{"bold":"true","size":"17","text":"Learn how to use Web Sockets"},"typeID":"Label","w":"282","x":"787","y":"3119","zOrder":"305"},{"ID":"308","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"754","y":"3118","zOrder":"306"},{"ID":"309","measuredH":"21","measuredW":"17","properties":{"bold":"true","color":"16777215","text":"20"},"typeID":"Label","w":"21","x":"758","y":"3120","zOrder":"307"},{"ID":"310","h":"112","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"638","x":"216","y":"3313","zOrder":"308"},{"ID":"311","measuredH":"25","measuredW":"219","properties":{"bold":"true","size":"17","text":"Look into Graph Databases"},"typeID":"Label","w":"231","x":"266","y":"3328","zOrder":"309"},{"ID":"312","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"233","y":"3327","zOrder":"310"},{"ID":"313","measuredH":"21","measuredW":"17","properties":{"bold":"true","color":"16777215","text":"22"},"typeID":"Label","w":"29","x":"237","y":"3329","zOrder":"311"},{"ID":"314","measuredH":"25","measuredW":"529","properties":{"size":"17","text":"Again not required but you should have a little understanding of what"},"typeID":"Label","w":"574","x":"267","y":"3356","zOrder":"312"},{"ID":"315","measuredH":"25","measuredW":"136","properties":{"size":"17","text":"they have to offer"},"typeID":"Label","w":"574","x":"267","y":"3383","zOrder":"313"},{"ID":"316","h":"147","measuredH":"146","measuredW":"14","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"length":14,"x":14,"y":0},"p1":{"length":0.5865162746954035,"x":0.5864611260053622,"y":0.008042895442359291},"p2":{"length":146,"x":0,"y":146},"rightArrow":"false","shape":"bezier"},"typeID":"Arrow","w":"15","x":"537","y":"3448","zOrder":"314"},{"ID":"317","measuredH":"32","measuredW":"170","properties":{"bold":"true","size":"24","text":"Keep Exploring"},"typeID":"Label","x":"449","y":"3618","zOrder":"315"},{"ID":"318","h":"87","measuredH":"140","measuredW":"200","properties":{"color":"16776960"},"typeID":"TextArea","w":"637","x":"216","y":"3436","zOrder":"316"},{"ID":"319","measuredH":"24","measuredW":"24","properties":{"color":"10027263","icon":{"ID":"circle","size":"small"}},"typeID":"Icon","x":"230","y":"3450","zOrder":"317"},{"ID":"320","measuredH":"22","measuredW":"18","properties":{"bold":"true","color":"16777215","size":"14","text":"23"},"typeID":"Label","w":"16","x":"234","y":"3452","zOrder":"318"},{"ID":"321","measuredH":"26","measuredW":"371","properties":{"bold":"true","size":"18","text":"All the things that weren't mentioned above"},"typeID":"Label","w":"391","x":"261","y":"3449","zOrder":"319"},{"ID":"322","measuredH":"25","measuredW":"367","properties":{"size":"17","text":"Profiling, Static Analysis, DDD, SOAP. Go Figure!"},"typeID":"Label","x":"262","y":"3476","zOrder":"320"}]},"measuredH":"3650","measuredW":"1392","mockupH":"3600","mockupW":"1284","version":"1.0"}} \ No newline at end of file