Debating Technology Helps You Learn Non-Technical Perspectives

At our company, Fifth Tribe, we launched this event called TekFeuds and our first event (iOS vs Android) was a great success. The concept of TekFeuds is to get debaters to present their argument in an educational and entertaining way engaging the audience whether they are a full stack engineer or a salesperson. Anyone and everyone can walk away with something.

The next topic for the upcoming TekFeuds event is related to JavaScript frameworks. The TekFeuds leadership team weren't sure how this would work since it could be really technically so they asked one of our lead engineers and myself to do a "mock debate" where we would try to defend a framework. He was given AngularJS and I was given React.

My experience with React was simply watching Facebook Developer conference videos, and then playing around with it in building "Hello World" apps. Nothing substantial or in a real life production level scenario. On the other hand we have been using AngularJS on several projects in production. Our experience with it has been very positive and I am a big fan of it.

The debates are Oxford-styled, but honestly we did a really basic faux version of it. When preparing for it which was simply Googling and taking as much notes on a Google doc as much as possible within 30 to 40 minutes before the debate. I skimmed aounrd 10-15 articles on React. I then skimmed another 5 to 10 articles on AngularJS (some crticizing it). I took some notes (most copy and pasting nice one liners) to prepare for the debate.

When it came time to speak I felt more comfortable just freestyling and summarizing what I read. It worked out well in the end as the "judges" (my co-workers) said I won with style, but my fellow co-worker and debater won with substance. They say "substance over style", so I guess I lost. Either way it forced me to do learn differently of which I would never would have done otherwise.

Why one over the other

I had to come up with reasons why React is better a real life scenario. I never thought about frameworks in that way before. I usually picked what I was comfortable with and what I know can get the job done. Usually when it comes to changing or learning something new, it's usually because it looks interesting and appealing to me. I generally feel that many of these frameworks can more or less solve the majority of comapny's technological problems, but being part of this debate forced me to really prove why React is better than Angular.

My number one reason was for peformance for very large scale applications where the DOM has to handle a ton of data and it needs to be changed without interrupting the user experience. I said React does a better job of this with their virtual DOM than Angular JS.

My co-worker countered saying Angular is a full fledged system where as React wasn't necessarily as comprhensive like Angular. This caught the attention of the judges and I really didn't have an answer, because technically this is true. React focuses on the UI. It forced me to really think about how non technical companies look at frameworks and deciding what stack to pick when developing their application.

Technical stability for growth within a company's engineering team

During the debate there was a question and answer session and one of the questions was what is the job market like for the React framework, is it easy for a company to find developers who know it and can they find good developers? Do you see growth with React job market? Wait a minute, he's asking about the job market and hiring developers for React? Of course, just find any JavaScript developer. Wait. I am defending React against Angular. That answer can also apply to Angular as well. So I had to be very creative with my answer and I responded that it is true that Angular JS is in a much higher demand in the market thus making it a safe bet that companies can use it and know that there are plenty of developers who know it. I then emphasized that React is younger and fresher in the JavaScript scene and the growth has sky rocketed due to the use by Facebook, Instagram, Netflix, Khan Academy, Atlassian and other big brand companies.

Profitability

How can you make money off React? Good question. What company's want to know when it comes to technology is how fast, secure and efficient can I build a product/application with a technology stack that will cost the cheapest. Are React developers cheaper or more expensive than Angular JS developers? Are server costs and bandwidth costs cheaper or more expensive of whether you choose React or Angular JS? These are some of the questions I was thinking about when I was preparing to debate. I didn't really have a strong answer. I basically said React would cost less for rendering lots of data in the browser thus reducing cost of bandwidth and servers. This is not backed by any actual concrete evidence. Again I only had around 30 minutes to prepare for this "mock debate".

Debating is fun and healthy

I had a lot of fun debating for React. After the debate was over I felt pretty good about what I had said. I may have lacked in substance but my style was good and it shows you that sometimes if you can deliver a point in an convincing matter you can bend the truth and facts. It's sort of like polticial debates.

Anyways the key point here is that debating can help you learn and understan a concept or topic from different angles and force you to cover all bases. Our debate was probably no longer than 10 minutes but it was a fun and new experience.

I look forward to particiapting in real debates in the future. Our company may be thinking about doing this more often with varying topics and have employees battle it out.