This Festive Season, enjoy 10% discount on all courses Use Coupon NY10 Click to Copy

Search

DevOps In 5 letters: Should We Say CALMS or CALMR?

When someone asks me to explain what DevOps is about, I usually do this using the different letters of the acronym CALMS.CultureCulture is the foundation of DevOps. If you omit culture, you're only doing some symptoms of DevOps (like using a whiteboard, working in timeboxes and doing daily standup meetings won't make you an Agile team).Culture is about the people, about self-organized teams, about T-shaped profiles, about tearing down the wall between Development and Operations. A DevOps team takes end-to-end responsibility of an application or system: "you build it, you run it".If your organization has always been working in a command-and-control style, then the first thing to do is to instill a culture of team empowerment. And don’t underestimate this: this will probably take years to change.AutomationThis is where a lot of focus goes into and can be considered as the easiest to obtain. The heart of DevOps is the CI/CD pipeline: the continuous flow process that is triggered upon check-in of new versions of code. Continuous integration was already known in eXtreme Programming. In a DevOps context, the continuous delivery/deployment makes the story complete. To make your CI/CD pipeline work at its full capacity, you have to consider everything as code:Your source code of courseYour automated tests - unit tests, integration tests and so onYour configurationIncluding your infrastructure configurationYour database changesYour documentationBut automation is also about closing the feedback loop: getting observations, metrics from running system fed back into your team’s product backlog.Lean principlesDevOps is not about moving big chunks of changes to production, but instead, moving to a constant flow of small and easier to control changes. Flow, as in Kanban: limited work in progress, small batches. And moving to the production does not automatically mean: "going live". If there is a dependency with other code that is not yet ready, you can still disable your code via feature toggling until everything is ready to be activated.MeasuringThis is crucial to improving: define metrics on your process. How good are the things going in your organisation? Where is room for improvement? And the apply the typical Plan-Do-Check-Act/Adjust approach to gradually improve your way of working.SharingDevOps teams take full responsibility over their system. But this does not mean that they have to reinvent the wheel over and over again. They learn from their peers.Common senseThere are plenty of resources on the internet - blogs, pictures, slide decks and videos - that explain DevOps using this CALMS acronym. So by now, this acronym has become common sense for anyone who searched for some kind of definition of DevOps. Or hasn't it…?DevOps according to SAFe®, in 5 slightly different lettersRecently I had a discussion with a colleague who is a certified SAFe® Program Consultant and trainer. According to this colleague, SAFe® doesn’t talk about CALMS but about CALMR instead. She wanted to be sure we tell the same story and don’t confuse the people we train and coach. I am not going to give a full explanation of SAFe's definition of Devops, you can read it yourself on the SAFe® site (more specifically on this page www.scaledagileframework.com/devops).But I will briefly explain what the acronym CALMR stands for according to SAFe®:Culture of sharing responsibilityAutomation of continuous delivery pipelineLean flow accelerates deliveryMeasurement of everythingRecovery enables low-risk releasesThis discussion made me wonder: if a large part of the world talks about CALMS to define the principles of DevOps, then why does SAFe® talk about CALMR and what is the difference? And why do they call it "SAFe® DevOps"? So I did some investigation and this is what I found.What's the difference?In all honesty, whether you speak about CALMS or CALMR, in the end, both are equal, or better, equivalent. Let me explain why.In the CALMS acronym, the S stand for sharing. Sharing of knowledge, of experiences. Call it communities, or chapters and guilds if you are more into the way Spotify works. I deliberately don't call it "the Spotify model" because there is no Spotify Model (says Marcin Floryan, a Spotify chapter lead in this presentation: https://www.infoq.com/presentations/spotify-culture-stc).But that’s entirely different story.Sharing in CALMRIn "SAFe® DevOps", sharing is a part of the Culture. People work in teams. But teams together form a release train. So, these teams will not only need to align planning-wise, they also inspect and adapt during the IP sprint. And they learn continuously. OK, fair point. But sharing clearly is there in both definitions.Recovery in CALMSSo, what about the recovery aspect of SAFe® DevOps? Is it a part of the CALMS acronym too? In my opinion, yes, of course, divided over other aspects. The first thing that the SAFe® site tells about Recovery is "Stop the line mentality".Now, that is a Lean principle. Mary Poppendieck (Lean Software Development) mentions this in her presentations: "The greatest productivity comes from not tolerating defects. Create ways to detect defects the moment they occur” (see slide deck https://accu.org/content/conf2007/Poppendieck-Stop_the_Line_Quality.pdf ).The other parts, Plan for and rehearse failure and Build the environment and capability to fix forward and roll back, these are typically automation aspects. Plan for and rehearse failure talks about the chaos monkey.The Simian Army is a bunch of tools and concepts that will create chaos in your ecosystem: kill processes, slow down processing and so on. Chaos engineering is really great, but most likely not the first thing you will implement (even though it is a very good enabler for resilience). More information on the Simian Army can be found on the Blog of Netflix. (https://medium.com/netflix-techblog/the-netflix-simian-army-16e57fbab116).Fix forward or roll back: these are the capabilities of your CI/CD pipeline, the heart of your automation efforts in DevOps. Your Continuous deployment should allow to roll back changes. Or do canary releases: for certain changes you don't go full park all the way, but deploy on a very limited set of servers/containers as a try-out and roll back if "the canary dies".ConclusionI could not find any explanation on the internet why SAFe® talks about SAFe® DevOps. The only thing I can think of is that they want to stress how DevOps culture, principles and practices seamlessly integrate with SAFe®. Similarly, SAFe® talks about SAFe® ScrumXP, where the good practices of Scrum and eXtreme Programming help to deliver good quality software every iteration and every program increment, not only on team level, but integrated with the other teams of the Agile Release Train.As far as the difference between CALMS and CALMR is concerned: they both cover the same ideas. In my humble opinion, the difference between CALMS and CALMR could be a matter of focus: maybe the initial focus of CALMS was to stress the importance of sharing knowledge, whereas the CALMR stresses more the need to be able to roll back a failing change.Bottomline, CALMS and CALMR may not be entirely equal, but they are definitely equivalent.Anyway:
Rated 4.0/5 based on 0 customer reviews

DevOps In 5 letters: Should We Say CALMS or CALMR?

433
DevOps In 5 letters: Should We Say CALMS or CALMR?

When someone asks me to explain what DevOps is about, I usually do this using the different letters of the acronym CALMS.

Culture

Culture is the foundation of DevOps. If you omit culture, you're only doing some symptoms of DevOps (like using a whiteboard, working in timeboxes and doing daily standup meetings won't make you an Agile team).

Culture is about the people, about self-organized teams, about T-shaped profiles, about tearing down the wall between Development and Operations. A DevOps team takes end-to-end responsibility of an application or system: "you build it, you run it".

If your organization has always been working in a command-and-control style, then the first thing to do is to instill a culture of team empowerment. And don’t underestimate this: this will probably take years to change.

Automation
AutomationThis is where a lot of focus goes into and can be considered as the easiest to obtain. The heart of DevOps is the CI/CD pipeline: the continuous flow process that is triggered upon check-in of new versions of code. Continuous integration was already known in eXtreme Programming. In a DevOps context, the continuous delivery/deployment makes the story complete. To make your CI/CD pipeline work at its full capacity, you have to consider everything as code:

  • Your source code of course
  • Your automated tests - unit tests, integration tests and so on
  • Your configuration
  • Including your infrastructure configuration
  • Your database changes
  • Your documentation

But automation is also about closing the feedback loop: getting observations, metrics from running system fed back into your team’s product backlog.

Lean principles

DevOps is not about moving big chunks of changes to production, but instead, moving to a constant flow of small and easier to control changes. Flow, as in Kanban: limited work in progress, small batches. And moving to the production does not automatically mean: "going live". If there is a dependency with other code that is not yet ready, you can still disable your code via feature toggling until everything is ready to be activated.

Measuring

This is crucial to improving: define metrics on your process. How good are the things going in your organisation? Where is room for improvement? And the apply the typical Plan-Do-Check-Act/Adjust approach to gradually improve your way of working.

Sharing

DevOps teams take full responsibility over their system. But this does not mean that they have to reinvent the wheel over and over again. They learn from their peers.

Common sense

There are plenty of resources on the internet - blogs, pictures, slide decks and videos - that explain DevOps using this CALMS acronym. So by now, this acronym has become common sense for anyone who searched for some kind of definition of DevOps. Or hasn't it…?
Common senseDevOps according to SAFe®, in 5 slightly different letters

Recently I had a discussion with a colleague who is a certified SAFe® Program Consultant and trainer. According to this colleague, SAFe® doesn’t talk about CALMS but about CALMR instead. She wanted to be sure we tell the same story and don’t confuse the people we train and coach. I am not going to give a full explanation of SAFe's definition of Devops, you can read it yourself on the SAFe® site (more specifically on this page www.scaledagileframework.com/devops).
DevOps according to SAFBut I will briefly explain what the acronym CALMR stands for according to SAFe®:

  • Culture of sharing responsibility
  • Automation of continuous delivery pipeline
  • Lean flow accelerates delivery
  • Measurement of everything
  • Recovery enables low-risk releases

This discussion made me wonder: if a large part of the world talks about CALMS to define the principles of DevOps, then why does SAFe® talk about CALMR and what is the difference? And why do they call it "SAFe® DevOps"? So I did some investigation and this is what I found.

What's the difference?

In all honesty, whether you speak about CALMS or CALMR, in the end, both are equal, or better, equivalent. Let me explain why.

In the CALMS acronym, the S stand for sharing. Sharing of knowledge, of experiences. Call it communities, or chapters and guilds if you are more into the way Spotify works. 

I deliberately don't call it "the Spotify model" because there is no Spotify Model (says Marcin Floryan, a Spotify chapter lead in this presentation: https://www.infoq.com/presentations/spotify-culture-stc).

But that’s entirely different story.

Sharing in CALMR

In "SAFe® DevOps", sharing is a part of the Culture. People work in teams. But teams together form a release train. So, these teams will not only need to align planning-wise, they also inspect and adapt during the IP sprint. And they learn continuously. OK, fair point. But sharing clearly is there in both definitions.

Recovery in CALMS

So, what about the recovery aspect of SAFe® DevOps? Is it a part of the CALMS acronym too? In my opinion, yes, of course, divided over other aspects. The first thing that the SAFe® site tells about Recovery is "Stop the line mentality".

Now, that is a Lean principle. Mary Poppendieck (Lean Software Development) mentions this in her presentations: "The greatest productivity comes from not tolerating defects. Create ways to detect defects the moment they occur” (see slide deck https://accu.org/content/conf2007/Poppendieck-Stop_the_Line_Quality.pdf ).

The other parts, Plan for and rehearse failure and Build the environment and capability to fix forward and roll back, these are typically automation aspects. Plan for and rehearse failure talks about the chaos monkey.

The Simian Army is a bunch of tools and concepts that will create chaos in your ecosystem: kill processes, slow down processing and so on. Chaos engineering is really great, but most likely not the first thing you will implement (even though it is a very good enabler for resilience). More information on the Simian Army can be found on the Blog of Netflix. (https://medium.com/netflix-techblog/the-netflix-simian-army-16e57fbab116).

Fix forward or roll back: these are the capabilities of your CI/CD pipeline, the heart of your automation efforts in DevOps. Your Continuous deployment should allow to roll back changes. Or do canary releases: for certain changes you don't go full park all the way, but deploy on a very limited set of servers/containers as a try-out and roll back if "the canary dies".

Conclusion

I could not find any explanation on the internet why SAFe® talks about SAFe® DevOps. The only thing I can think of is that they want to stress how DevOps culture, principles and practices seamlessly integrate with SAFe®. Similarly, SAFe® talks about SAFe® ScrumXP, where the good practices of Scrum and eXtreme Programming help to deliver good quality software every iteration and every program increment, not only on team level, but integrated with the other teams of the Agile Release Train.

As far as the difference between CALMS and CALMR is concerned: they both cover the same ideas. In my humble opinion, the difference between CALMS and CALMR could be a matter of focus: maybe the initial focus of CALMS was to stress the importance of sharing knowledge, whereas the CALMR stresses more the need to be able to roll back a failing change.

Bottomline, CALMS and CALMR may not be entirely equal, but they are definitely equivalent.

Anyway:
Conclusion

Koen

Koen Vastmans

Blog Author

I am an IT professional working in a major Belgian bank for over 26 years. I have been into software development for several years, mostly in Java, from COTS software integration over web applications to digital signing. The past 6 years I was an agile coach and trainer. I recently joined a team of cloud native development, to focus on DevOps processes and organisation.

My passion for agile and DevOps is my main driver to share my ideas about these topics.

Join the Discussion

Your email address will not be published. Required fields are marked *

Suggested Blogs

Top 10 Trending Courses in Information Technology for IT Aspirants

The best part to jump to the bandwagon of information technology or IT is, there is an enormous possibility for an individual if he or she starts studying a diploma or a degree, does either a master degree or a research course. He or she can get full-fledged engineering degree. We have listed down here in order of priority, top to down for a beginners to advanced level technical course that an IT aspirant look for. Java or J2E and Its Frameworks Java or J2EE is one of the most trusted, powerful and widely used technology by almost all the medium and big organizations around domains, like banking and insurance, life science, telecom, financial services, retail and much, much more. You have many things to learn in Java or J2EE, like the core part – J2SE, JSP, STRUTS, SPRING and/or HIBERNATE. This is one of the best and most advanced sophisticated applications. If you want to learn Java, you need to start from the ab initio to the advanced level step-by-step. There are many different frameworks as well as supporting technologies to learn for Java aspirants but the given things are must learn and highly demanding in current software market. CISCO Technologies Whether you are fascinated about learning network and switching technologies, then CISCO technologies would be your choice. You can learn CCNA, CCNP and more from CISCO academy. These types of certificates are global certifications. You will get global prospects after completing and learning these types of courses. If you are not coming from engineering backgrounds, then also you can learn CCNA or CCNP, or both. Then you need to take some ad hoc classes for non-engineering students. The great number of fresher and experienced candidate, these days, are pursuing networking courses, if you are one of them, then CISCO technologies can be your choice. A majority of CISCO institutes want degree – graduation in any discipline. SAS – Statistical Analysis System SAS is a popular course. This can be your career as SAS consultant that many medium and large organizations looking for fresher and experienced SAS qualified candidates. This is nothing but a data analytics course that can give you global exposure. The demand for SAS – data analytics is growing day-by-day and the business intelligence domain has emerged one of the most trusted and lucrative option for science graduate. These days, SAS is a’ la mode for fresher and experienced science graduate. It is an integrated system of software products that help to perform critical data-entry, data-retrieval, data-management, data-mining, report writing and graphics. DBA – MySQL – SQL Server In this highly competitive as well as dynamic Software/IT industry, there is one course the one course, which is very popular and can give you stable career is, DBA. This is a course or an ad hoc for students who are interested in learning MySQL and SQL server and like to create, manage as well as maintain the huge data files and other database flavors available in the market. DBA can be your best bet for career-oriented course, when you will be conversant with database with other supporting technologies; you can easily and quickly learn MySQL and DB2 in a much shorter period. The demand for DBA courses are increasing day-by-day and the demand shows the popular it is and the effective career you get after completing these technologies. Microsoft Technologies Microsoft technologies are high in popularity these days. You can be a database developer or a MS technology developer after passing one or multiple certifications, like MCSE, MCAD, MCSD, MCDST, MCDBA, MCAS and others. For enterprise and application development MCITP is one of the best for beginners and advanced level developers. Albeit, this type of certification is not at all a programming certification, but a system maintenance kind of, but have good future prospect. Cloud Computing Today’s biggest buzz in all small, medium and large IT town is all about cloud computing. You must use Google, Amazon etc. some of the big gun of cloud technology. If you are thinking of pursuing a course that can set your future-career in cloud computing, then IaaS, PaaS, SaaS, DaaS etc. would be learnt alpha and omega of cloud computing.
Rated 4.0/5 based on 2 customer reviews
1804
Top 10 Trending Courses in Information Technology ...

The best part to jump to the bandwagon of informat... Read More

Evolution Of Technology, It’s Important To Life

Our conflicting views on whether technology is a boon or bane can be best described by inventor and best selling author Daniel H Wilson, when he says, “We humans have a love-hate relationship with our technology. We love each new advance and we hate how fast our world is changing”. The use of technology is what distinguishes us from other animals and this has been evident throughout history. For our evolution has been deeply linked with the evolution of technology. From discovering the technological potential of fire more than 250,000 years ago to developing watermills as a source of power in the medieval ages, technology today is so futuristic as would have been unimaginable just a few decades back. The industrial age’s greatest aspect was technology. New innovations and devices made life easier. Machines that seem mundane today like the levers, pulleys, wheel and axles, screws and wedges helped usher in an age of productivity. The industrial revolution was to an extent a worldwide phenomenon and this saw technology bringing in progress to the world as a whole. Steam engines, electricity, petroleum and other technological advancements had repercussions throughout society. Coal industry, textile industry, locomotive industry, chemical industry etc brought the world closer. Another important technological advancement was in the field of medicine. Advances in areas of anatomy and physiology enhanced life expectancy and reduced illnesses. By the end of 19th century, the importance of technology had been firmly established and it was clear that dependence on it would only grow. The 20th century saw a range of technologies that evoked both awe and fear in humankind. The airplane, rockets, electronics, antibiotics, and nuclear power managed to create a social situation that offered security but always had danger looming in the fringes. The use and abuse of natural resources brought about rapid growth and prosperity to countries but with such terrible side effects as pollution and depletion of resources. And as we go into the 21st century, technology has reached a whole different level. Communication as we knew it, has changed and has turned passive and more indirect. Pagers, desktop computers and telephones have now been replaced with laptops, tablets and smartphones. People would rather message each other on various platforms rather than talk face to face. In fact, there are almost as many cell phone subscriptions (6.8 billion) as there are people living on this planet (7 billion). By 2014 there were more than 3.8 billion email accounts and this number only keeps growing. Technology today has increased our independence. Need to know where you get the best cakes in town? Just search on the internet. Don’t know how to get to the new mall? Let your GPS take you. Even when it comes to medical care, we have become more self-reliant. The need for doctors to assess our primary health conditions has reduced dramatically with the availability of blood pressure and diabetes monitors. The greatest advantage is the creation of a boundary-less communication channel. Irrespective of your nationality, sex, race or religion, you can communicate with like-minded people from across the world. But as the old adage goes, too much of anything is not good. And this holds true for technology too. Increased use of cell phones and microwave ovens have been linked to diseases caused due to radiations. An over exposure to the virtual world has created a warped sense of reality for many. We have become so attuned to communicating via social media that any face to face communication seems awkward. Technology today does not require us to leave our house. One can work from home, shop from home and receive medical care at home. This has led to isolation, a lack of social skills and an inability to conduct ourselves in public. Technology can also be credited to the creation of a great number of couch potatoes. Video games, YouTube, and social media are robbing us of our exercise time. Depression, stress and poor sleep habits are increasingly becoming common medical occurrences. And of course, there is the question of privacy and security. With our entire life being online, our lives are being constantly snooped on. Your entire life history can be accessed by any stranger with a few entries on a website. Phishing, viruses, and hacking are the new forms of robbery which not only result in huge losses but also keep the perpetrator anonymous. Addiction, lack of empathy, more violence, development issues in children, lack of attention and many more issues have been associated with technology. But can we ignore the advantages that technology has offered and go back to the basics. Can we once again live like people did in the stone ages? That thought seems more far-fetched than anything else. The bottom line is—you cannot escape technology. So how you use it and how much you allow it to pervade your life is entirely in your hands. Whether you love it or hate it, technology is here to stay!
Rated 4.0/5 based on 2 customer reviews
1173
Evolution Of Technology, It’s Important To Life

Our conflicting views on whether technology is a b... Read More

What (Software) Industry Wants

Recently, I attended a meetup where Baishampayan Ghosh, of Helpshift spoke. BG, for those who do not know, designed ClearTrip’s flight interface, which I immediately fell in love with. He went on to found Helpshift, an In-App mobile customer support sdk. This has been installed in billions of devices, and his company is on its way to creating an unusual animal – a profitable Indian Unicorn. BG, of course is an outlier (in the same sense that if everyone followed Bruce Lees tips on training, he would still not be a Bruce Lee!). But his thoughts on the Indian Computer education system was telling. He said he dropped out of college for two years because nothing worthwhile was taught there, spent some time finding the curriculum of the best institutions in the world, got the relevant books, studied them himself, and then went and cleared exams as a formality. I am myself involved in a small way in technical education ( I guide a group of students), and my observations are grim too. The stated and actual aim of computer science education is to help people get gainful employment, yet there is no correspondence between what is required in industry and what is taught in academia. In industry, only a very small proportion of people are developers. You have development, research, project management, Business Analysts, Designers, UI, UX, devops, System administrators, DBAs, QA, cloud specialists, Data science specialists, AI and machine learning specialists. In college, we have Computer science, MCS, MCA. Msc courses. All of them teach similar things. QA is not taught, neither is UI, UX, system administration or many of the things mentioned above. This gap is filled by the NIITs and Aptechs (and increasingly, the Courseras, Udemys and Udacity’s) of the world. For too many years, in too many colleges – Computer science is still a theoretical subject, it is a science not a craft. So you have lots of tomes of all the prescribed textbooks, which students dutifully ingest, and as dutifully spew out on exam day, and pass out with flying colours – without knowing much about the art or craft of programming. Often, their first encounter with a programming exercise is at their workplace – with disastrous and predictable results. Most of the college passouts do not know basic operating system commands. They do not know how to keep their laptops in good shape. They do not know about processes, threads, sockets or memory allocation. They do not know about operating system paths, bashrc files, basic logging techniques, or debugging. They have never learnt to test the programs they have written, nor to write unit tests. Many of the students have a very fancy project on their CV. This could be on the Bluetooth protocol, steganography, the ant scheduling problem or some such. They can spew information on these areas without any doubt or uncertainty, but the same people are unable to write a small basic program. Rumours abound that many of these projects are purchased off the shelf, there is even a website where one can purchase college projects. It is a great site, with options to choose area (Ecommerce, system software, middleware, electronics etc). When will academia try to understand what Industry requires and provide that? When will they try to do what is best for their students and prepare them for a long and rewarding career? We do not require much, you know? Over the years, expectations from freshers have really reduced. We want someone who loves coding – this is the first prerequisite. We want someone who can communicate well enough to understand very quickly, what needs to be done. This need not be confused with a person with great language skills. On the contrary, technical requirements can be communicated and understood with very few words. We want someone who knows their operating system well. They should be able to navigate well throughout the system, know shortcuts for doing different things, understand what processor their laptop runs on, whether it is a 32 bit or 64 bit operating system, know how to ensure that disk space is available, defragment hard disks etc It would be great if they know their way around a shell – be it bash, or sh. They should be very comfortable with one editor or IDE They should write clean code and have knowledge of Basic OO principles, SOLID principles They should know enough to test their creations It would be desirable if they read up on software technology regularly. If they know the heroes of computer science – Ritchie, Stevens, Djikshtra etc Over the last decade and a half or so of Metadesign, I have seen a common thread amongst the best programmers that I have the privilege of working with. Most of them got a computer when they were in 6th to 9th standard, fell in love with coding, and started coding with small programs (basic perhaps), and then went to increasingly complex programs and systems. So one of my favorite interview questions is ‘When did you write your first line of code?”. If this brings a smile to their face, and sparks some memory of a computer being brought home, of writing that first line of code, and the joy thereof; then I know I am on to a good thing. So, it is a no brainer really – what universities should do to bring out more relevant programmers. First of all, they should create relevant courses. The single monolithic computer science course should give way to separate courses for development, research, Testing, system administration, UI, UX etc Admission should be granted based on aptitude and interest. General aptitude is not the same as programming aptitude, which is not the same as QA aptitude, UX aptitude or UI aptitude.There are significant differences in the wiring of a System administrators mind versus a programmers mind. Admission should be granted for people who are genuinely interested, not for those who are getting into it for the money. This is of course easier said than done. Curriculum should be devised with great care. A Business analyst need not be subjected to the rigors of computer science – perhaps she needs to know psychology, human nature, sociology, systems thinking, ethnology etc more than computer science. Colleges need to admit to the shocking truth that programming is an art/craft as well as a science. Tinkering laboratories need to be established. Students need more coding time than theory. Theory should supplement coding, rather than the other way round. Colleges should instill a love of software in kids. Currently, there is an atmosphere of terror and fear that is generated. Students are taught to fear deadlines, and failures. So kids end up having fun in non academic activities for most of the year (because of lack of interesting things to learn) and a brief period of abject terror in the last days before the exams. There should be a gentle curve. Start with some small things to do, easy wins. Gradually raise the bar till students are finally doing extremely complicated and theoretical things. NCST had a very nice curriculum, where coding, programming and algorithms were taught first, and then concepts like databases, graphics, networking and OOPs were taught. CDAC has a similar aim, but their courses while professing to teach the latest technology is heavily overloaded with theory, and too less practice. Technology coursses should leverage technology. There are innumerable online courses on MOOCs.The world’s best teachers have put videos online. Students should be informed about them and develop the habit of watching these. There should be regular online grading. There are many online graders available. They can be used to automate the task of verifying knowledge. Colleges should hold meetups and hackathons. They should become hubs of innovation, where people get together to create beautiful things, not weighed down by thoughts of commercialisation, money etc. Industry should help too. The best minds in industry should regularly spend time in colleges, educating, inspiring and learning. Worldwide, brick and mortar universities are losing relevance. Indian IT services industry with its focus on labour intensive billing is also losing relevance. Perhaps the two can get together to create something wonderful.
Rated 4.0/5 based on 20 customer reviews
What (Software) Industry Wants

Recently, I attended a meetup where Baishampayan G... Read More