Learn tech by debating

Debating Technology Helps You Learn Non-Technical Perspectives

At our company, Fifth Tribe, we launched an 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 get really technical, 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 to 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. Preperation for it was simply Googling and taking as many notes on a Google doc as possible within 30 to 40 minutes before the debate. I skimmed around 10–15 articles on React. I then skimmed another 5 to 10 articles on AngularJS, some criticizing it. I took some notes — mostly 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 had 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 in a way I would never would have done otherwise.

 

Why one over the other

I had to come up with reasons why React was better in a real life scenario. I never thought about frameworks in that way before. I usually picked what I was comfortable with and what I knew could get the job done. Usually, when I change or learning something new, it’s because it looks interesting and appealing to me. I generally feel that many of these frameworks can more or less solve the majority of a company’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 whereas React wasn’t necessarily as comprehensive as 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 decide what stack to pick when developing their applications.

 

Technical stability for growth within a company’s engineering team

During the debate there was a question and answer session and some of the questions were, 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? I thought just find any JavaScript developer. Wait. I am defending React against Angular. That answer can also apply to Angular. 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 its 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 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 a convincing manner you can bend the truth and facts. It’s sort of like political debates.

 

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

 

I look forward to participating 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.

Amir Sahib