Monday, February 29, 2016

TopCoder


I agree with this business model for a number of reasons. In the article it stated that from 2001 to 2009 there were, on average, 25,000 new programmers per year. This was the time in which TopCoder decided to dedicate their entire business around the idea of competition. Something that is interesting about the idea of competition is that TopCoder had roughly 200,000 programmers, but only 35,000 had competed in contests. The chief technological officer, Mike Lydon states that the remaing 82.5% of the computer programmers are interested in the idea but have no decided to enter any contests, therefore, making them the “latent pool.” This pool is obviously determined because their registration to TopCoder, but has not yet made the decision to enter any contests. But, TopCoder is also home to .5% of the most elite programmers in the world, thus making it an admirable service to young programmers. It is said in the article that the majority of computer programmers that are recruited are in their twenties, are highly competitive, and are single. This is because their main focus is usually the contests that they have entered to obtain a stable yearly salary. In the article it also states that a few of the average contestants in TopCoder contests, are making anywhere from $100-300 thousand, yearly. This is because TopCoder is paying out over $20 million in prizes to contest winners and finalists. Many of the programmers talk about how the contest is fun to win, but the financials are what are most intriguing. Overall, TopCoder gives out millions of dollars a year because they believe in their core assumption of competition resulting in the best quality product. Although these programmers say the financials are the main drive in their desire to code, it is clear that TopCoder has found a reliable way to receive the best programs they can possibly find.

Instructions for TopCoder

I'm not exactly sure what part of the assignment was read, but on the TopCoder page on this blog. I thought I was pretty clear about what was expected for this assignment.  (It was also linked from the Assignment link on Bb.)  In those instructions, I specifically stated:
Because we are commenting and posting ideas on a blog, the goal is to be interactive (see Gee above). The questions posted are mostly to provide a way to respond to the case and other readings. Finally, please read what others wrote. Do your best not to post a "new" comment or post, if it has already been mentioned previously. Rather, add to the post/comment. Please consider the questions posted below, and address the ones you want to answer according to the cases, but also add your opinions and/or experiences.  You do not need to answer all of the questions; perhaps explore one or two in depth.  Comments count.
Given that this was the assignment,  and there were only a few comments to the posts, I'm going to deduct points if I find that comments were repeated from earlier ones posted.  Not sure what happened here, and except for a few of you, it is certainly not interactive.

Sunday, February 28, 2016

Top Coder Case - Question 1 & 4

1. If you were a senior manager at TopCoder, what are the main capabilities you would need to develop to succeed at running the firm? Are these capabilities similar or unique from managing a more traditional firm? 


If I were a senior manager at TopCoder,  the main capabilities that I would need to develop is effective process management. TopCoder is a community of over 409,000 members and  direct the process of competition-based software development. I believe promote company to attract more talents and ability to retain talents and clients are the necessary for a senior manager. 

To run many competition simultaneously and solve problems for many clients, attracting new members into the community is primary goal.  The host of fortnightly online competitive programming competitions as well as weekly competitions in graphic design and development is a good promotion of company image. 

Senior manager should be able to find several ways to retain talents. Great prize and rewards can effectively retain members. TopCoders offers well-paid, creative and challenged task for members. The norms and procedures are also necessary to maintain a community. TopCoder personnel strictly monitored competitions and tolerated no form of cheating and plagiarism. 
   
Also, TopCoders has numerous clients including Amazon, Facebook, IBM and Microsoft. To retain clients, senior manager should make strict procedure and standard of review and evaluation of project to satisfy clients. Senior manager may also improve efficiency of project to response clients'  request quick. 

The management job at TopCoder is unique, because the community is diverted and members are all over the world. TopCoder can not manage them like the normal company. The developers are even not employees  so we can not require for loyalty. Therefore, senior managers are required to have skills to attract and retain talents. 

4. Find an example of collective action or an information sharing app. Describe and link to the digital tool. Explain what it does, how it works, and the types of problems it is working to solve. Do not use examples from those discussed specifically in the article (e.g., Airbnb, Lyft, Uber), but there are NEW examples of these and others that you can discuss.


Wikipedia perhaps is the pioneers of crowdsourcing. The not-for-profit Wikipedia Foundation launched its free, web-based, multilingual and collaborative encyclopaedia in 2001. It has over 17m articles written collaboratively by the community and is the most popular reference site on the internet.

Unlike traditional encyclopedias, Wikipedia follows the procrastination principle regarding the security of its content.It started almost entirely open—anyone could create articles, and any Wikipedia article could be edited by any reader, even those who did not have a Wikipedia account. Modifications to all articles would be published immediately. As a result, any article could contain inaccuracies such as errors, ideological biases, and nonsensical or irrelevant text. Wikipedia presents a mixture of "truths, half truths, and some falsehoods".

In view of such condition, Wikipedia has the big problem: truthfulness and accuracy. Users would worry about the authenticity of the source and academic essay is usually not allowed to use reference from Wikipedia. Wikipedia is working to solve this problem by adding the function of review of change. Wikipedia provides certain tools allowing anyone to review changes made by others. The "History" page of each article links to each revision. On most articles, anyone can undo others' changes by clicking a link on the article's history page. Anyone can view the latest changes to articles, and anyone may maintain a "watchlist"of articles that interest them so they can be notified of any changes. 

However,  articles and changes are not systematically reviewed. Articles reviewed by public users still can not increase measurement of accuracy. 

In conclusion, Wikipedia's still has a big problem to prove its credibility.








Top Coder brings Entreprenuers to Software Development

I think that Top Coder's method of of crowd sourcing brings something unique to the SDLC that is not commonly seen. I find surprisingly similar to a free enterprise system. The only difference that I can find between the two are that Top Coder specifies a specific problem for developers to solve, while a free enterprise system rewards those who both find a problem and create a solution. Both crowd sourcing and a free enterprise both reward those with money who can come up with the most efficient and effective way of solving a problem. With Top Coder's crowd sourcing method, I think they open the doors to an even greater amount of contributors by defining a problem. Many people struggle with being entrepreneurs since they cannot think on such a large scale, and work much better with defined task. With Top Coder, developers are given a defined task, but given the freedom to solve the problem on their own time and by whatever means they prefer. They have the same incentive to succeed as entrepreneurs; a fortune if they are successful. Except in this case, they do not lose their money if they do not succeed, only the time and effort they have spent.

Money Motivation Video

I posted this in a comment but I wanted to share it here, as well. It is in reference to question 3. 

Top Coder Question 4

This app is not all that different from Uber or Lyft. It is an app that will get you in contact with another human but instead of a car this human will bring style to your house. This is an app that caught my interest long ago and I know many others in class will also find it interesting. It is called GLAMSQUAD. It is an app that will connect you with a makeup/stylist that will come to your home and give you a complete glamor makeover. It is just like Uber where you download the app and then make an appointment for someone to stop by at certain time. Instead of picking a location to be dropped off at, you get to pick a style package. Maybe the Bronzed Beauty or the Dreamer? The problem it is trying to solve is an interesting one. At first the company designed this for wedding emergencies. When a hair stylist didn’t show or maybe the bride thought she can do her own hair (yikes), but then it evolved and now it has expanded to help the everyday woman. This will make it so a mom doesn’t have to find the time or a babysitter to get her hair done; and any busy women can easily have her hair done in the comfort of her home, office, or hotel. This is great because if you are on vacation finding a trusting hairstylist can be hard but with this app a woman can see rating and reviews and know she is getting good service. Currently this app is only available in some big cities (phoenix was just recently added to the list!), but it is believed this app will expand to even further and become the norm.



Tech Musing 2 & Q4- Chegg

Tech Musing 2 and Q4:

Chegg is a learning platform that contributes to help students in high school and college. It puts students first and provides service of online textbook rentals, homework help, online tutoring, and scholarships. The creators of Chegg noticed students’ needs and expected to reduce the level of students concerns, such as lowing costs of education and improving learning efficiency. Student is able to share information and learn materials at Chegg.com

Chegg empowers students to take control of their education to save money. The company rent books to students who are seeking textbooks with cheaper price, including physical textbook and digital version. The price normally rent half the retail price, but savings various from book to book. For instance, the textbook priced at $240, but students can rent on Chegg at $60.  Students are able to save more than half of the original price.

Chegg allows students to master their study efficiently. They can just post their question on Chegg and looking for answers with explanations. For instance, if a student doesn’t know how to solve a math problem, he can search the problem on Chegg. Although numbers in question might be different, there are steps and explain how to solve it. In addition, online tutoring is available on Chegg. Students can get answers and explanation at once. Moreover, Chegg offers a broad range of leaning materials, course solutions, and other content in different learning styles.

Chegg offers various free services to students, such like helping high-school students find college. It helps students search college base on their interests and passion. With students’ request, then Chegg send their profile to college, including test score and GPA. In addition, Chegg contributes to search scholarship opportunities for students that they might don’t know before.

Link:

References:
"Chegg." Wikipedia. Wikimedia Foundation. Web. 29 Feb. 2016. <https://en.wikipedia.org/wiki/Chegg#Business_model>.

“Prospectus.” Mergent Online. Web. 29 Feb. 2016.




TopCoder Question1 & Question4

Q1:
TopCoder is a software company which eager to review a particularly complex software development through crowdsourcing. TopCoder hired a global community of more than 225,000 programmers to compete to design software for TopCoder clients. In order to run the firm successfully, the senior managers are required to have some unique capabilities. The main capability that the senior managers need to develop is a high level of communication skill. Based on the crowdsourcing model, the work is separated and programs are coding by different teams. The managers need to communicate with each team to ensure the work status. If I were a senior manager, I would like to combine each team together, and let the coders know each other at first, then they should report their work to me so that I can get notification about the work status and ask them about details or solve some problems. Meanwhile, they can share their creative ideas with each other. This process needs communication skill. The senior manager not just manage the entire firm, but also communicates with the programmers to catch some information about their work.

It differs from traditional business. TopCoder shifted its business model of helping other software firms to solve clients’ problems by developing a competition-based business model. It is much difficult to develop a competition, process a program, and offer clients’ need. Different teams compete each other, and they all want to win out in the end. We can see it is more difficult to manage a traditional firm.

Q4:
Google Docs(https://www.google.com/docs/about/) is a word processor that allows users to create or edit documents online with others at the same time. It works as the normal word document, but it based on website, and more than one user can join in the same page and edit together. Documents, presentations, and tables can be created by Google Docs, and those documents are automatically saved on Google servers, and the edit history can be kept so that users can view it. It is easy for people to share information with each other.


Reference: Lakhani, K. Garvin, D. Lonstein, E. (12, May 31). TopCoder (A): Developing Software through Crowdsourcing. Retrieved Feruary 28, 2016, from Harvard Business School.



The Pitfalls of the Sharing economy

Many people applaud the collaborative sharing economy as being one of the most revolutionary concepts that have recently come about. After all, if one did not need to buy a power tool that they will only use one time, but can instead rent it from neighbors, valuable resources such as raw materials and physical labor can be saved from not needing to manufacture. Furthermore, the sharing economy has allowed the free market to bypass government regulation and obtain substantially identical goods or services at a fraction of the cost—which advocates claim is good for the entire society. However, this assertion is very myopic. There is never anything that is without fault regardless of its benefits, including services that employ the concept of collaborative economy.
            The proliferation of the sharing economy has actually been the subject of much debate. Like all new technology, its widespread adaption causes the disruption and eventual elimination of an entire industry. A great example of this phenomena is farming tools. When tractors and automated tools were created society suddenly needed fewer farmers. This resulted in a multitude of families losing not only their jobs, but their entire way of life. Another example is Uber whose entry into the marketplace has also caused the taxi industry to be disrupted. Many people will assert however, that this disruption is a good thing because it lowers prices in the given market. However, for those who paid an investment of hundreds of thousands in order to obtain a license to operate a taxi, their way of life is heavily impacted in a very negative way.  This example even applies to borrowing power tools, if there is suddenly less demand for the purchase of these tools then there will be less workers that need to be employed and less materials which need to be bought—which will also impact workers who supply the raw materials.
            There is an argument that when a new disruptive technology eliminates an industry it also simultaneously creates  a new one. Examing Uber through this perspective, one can see that while Uber eliminated many jobs from the transportation industry, it also created a great deal of new jobs for flex-drivers. Nevertheless, it would be too soon to say that this is a good thing. Uber is currently battling regulation across multiple states to be able to operate. They have also been in the spotlight for their workers being contracted—meaning that these workers have no benefits and the amount of money that a driver will make can at times be even below minimum wage. All of these things leave the sharing economy open to much debate. What do you all think?


http://journalistsresource.org/studies/economics/business/airbnb-lyft-uber-bike-share-sharing-economy-research-roundup 

TopCoder Q4 (Tech Musing #2) - Fon

Fon is a global WiFi network. https://fon.com/ It was founded in Madrid 10 years ago. It asks people to give other people free access to their home WiFi network, and they will get free WiFi at any of the 18,789,989 Fon Spots around the world. People become Foneros if they agree to share their bandwidth with others, and  they can download the Fon App to their smart devices. After users set up their accounts, their devices will automatically connect to other Fon Spots when they go out. For nonmembers, people can just buy hourly pass, day pass, or monthly pass as they need.




Fon solves the problem of lack of WiFi network or expensive roaming while traveling. It is not very popular in the U.S., but It has almost full coverage in some European countries, such as France, Netherlands, and Luxembourg. It also has 950,000 Fon Spots available in Japan, which means that Foneros can enjoy free WiFi almost everywhere in Japan. 

I personally love this idea because WiFi is really a technology that makes life easier, but I probably will not become a Fon user. I use WiFi a lot, but as a MIS student, I have learned a lot about information security. I don't want to share my network with strangers or connect to unknown WiFi network because I know people with ability can easily steal my personal information or any data stored in my devices through the network. 

Question 4 and Tech Musing 2: Stack Overflow

Here is my short response to question four. In this response, I discuss how the website Stack Overflow, and the community behind it acts as a source of collective action as well as a source of knowledge sharing.


It is a simple fact that coding can be extremely difficult and frustrating. Beginners and experts alike often encounter an issue that they just cannot seem to solve. One resource available to them is a website called Stack Overflow. http://stackoverflow.com/
Stack Overflow is a useful tool because it allows for beginner and expert coders to ask for and receive help from each other. Any user can post a piece of code that they are having issues with. By including the intent of the program, along with a list of things that they have tried to use to solve the issue, they can ask for assistance from others. Stack Overflow is more of a source of collective action than it is an information-sharing tool. The important part that makes the Stack Overflow community so helpful at solving these coding issues is that providing a solution of working code for the individual is not accepted. The community is dedicated to helping everyone learn to be a better coder. By providing solutions, nobody has learned from the interaction. This community has developed around the central idea of enhancing their ability to code. The goal is that anyone who visits the website can find or receive the assistance they need in order to complete their objective. This goal is what the collective action of the Stack Overflow community is trying to achieve.
Stack Overflow works much like a public forum such as reddit. Users can search for threads about the problem that they face, or might know how to solve. Users can also rate solutions if it worked to solve their issue. Furthermore, the original poster can select the solution that best helped them in order to make it easier for others with similar problems find the help that they may need. In coding, as there are many languages and many approaches to solving an issue, there is not one central problem that the Stack Overflow community is taking action to address. Instead, the type of problem that Stack Overflow tries to address is the problem that the solution to an issue encountered while coding is often difficult to find. Thusly, this website acts as a tool to cut the distance between code problem and code solution.

The Concerns of a TopCoder Client

Hello class! The following is my response to the TopCoder case question two. I do not believe that the concerns I addressed are comprehensive of what an actual client would have, however, I believe that I have addressed some of the top core concerns that a client would have. I welcome any comments or questions that anyone may have about what I have said.
Source: TopCoder(A):Developing Software through Crowdsourcing

As a client of TopCoder, my main areas of concern are Quality, Intellectual Property, Security, and integration of the code. TopCoder does do a significant job of addressing these primary concerns. Contestants want to win; winning motivates them to deliver both high quality and bug-free code. It has also been seen that of the previous projects that TopCoder has completed, having developed the solution in house, their version would have had a significantly larger number of bugs. This is not to say that firms shouldn’t just go out and hire these members of the community to replace their current employees. Instead, TopCoder takes advantage of many teams of coders and rigorously evaluate contest submissions and developed an unbiased way of selecting contest winners.
TopCoder addresses other concerns such as Intellectual Property and Security in just as creative a fashion as the solutions that the community provides. TopCoder produced a white paper that served to detail the confidentiality policies and intellectual property assignment rules. Clients of TopCoder can have their companies name remain anonymous during the competition. To reduce the security risk, TopCoder helps their clients develop test data in order to minimize the risk of exposing sensitive information. Furthermore, if requested by the client, contestants can be required to sign a confidentiality agreement in order to be allowed entry into the contest.
As security is such a large concern, TopCoder took an even further step to ensure the safety of their clients systems. Clients can hold additional testing contests on the back-end to ensure the security and quality of the code. Moreover, TopCoder employees selected and vetted peer reviewers based on performance in prior competitions. By compartmentalizing the software development process, it becomes extremely more difficult for a single competitor to insert dangerous code into a program. This is so difficult because each contest only addresses a single small piece of the overall program. As each contest produces only a small piece of code as a portion of a larger program, integrating the code becomes much easier. Code fragments can be adjusted and fixed in order to fit into the puzzle and remain malleable to changes as the systems change over time.
Without its clients, TopCoder’s business model would not succeed. Therefore, it was increasingly important that they address their clients concerns. In this venture, TopCoder has succeeded. The anonymity of the company, confidentiality, and intellectual property arrangements made serve to protect the company. By no means does TopCoder replace the programming staff of a client. Instead, those employees are no longer the entire unit, but now act as the final layer of the project. It is those employees who evaluate the winning approaches and work to ensure that no security threats or bugs exist. Even though, from a pessimistic perspective, more can always be done, TopCoder does an incredible job to overcome the concerns of their clients.

Because somehow I'm always the one playing devil's advocate...

The CEO believes that project demand will automatically create programmer supply. What are the reasons for doubting or agreeing with this core assumption of the business model? 

I have to doubt the CEO's assumption that an increase in demand will lead to an increase the amount of programmers needed.  One of the perks of object oriented programming is the concept of Object Reuse.  sections of code, or entire files can be used in other classes, programs and projects.  Which means that a programmer working to fulfill the needs of one client may be able to reuse elements of the same code to accommodate other clients in the future.  

By recycling good code into other applications, the efficiency of the current volume of coders is increased and leads to a plateau if not an eventual decrease in demand for additional coders.
There may always be room for new coders to compete, but the barriers for entry will be created by the more established programmers, which have already been awarded for their work in the past to the point where they can reuse code from previous clients in methods which would be able to fulfill new clients needs as well.

TopCoder Question 1-Senior Manger


Question 1-TopCoder

If I were a senior manager at TopCoder at this point I would focus on maintaining a family like atmosphere. It is said in the article that a man named Wu Yanbo comments on the way all the programmers always worked together and that the “competition at TopCoder was never disrespectful or nasty and that people liked to help each other, even when they competed in the same arena. So, I would simply focus on sustaining this type of environment, and even expanding on it. For example, if there were to be conventions or even small get togethers that got the programmers to get to know each other, it would be extremely beneficial for some. A lot of the time computer programmers are introverted and like to keep to themselves. It is important to make these type of people feel at home and also provide them with any sort of motivation. The idea of contests creates motivation, and the use of conventions or get togethers would create the camaraderie that could help produce some of the best computer programs in the world.  It says in the article that .5% of TopCoder’s population is among the best in the world at computer programming. With that being said, if someone were to excel at something that one of those elite programmers could not do that well, it could very easily be the result of some of the best coding ever. That is what makes TopCoder so amazing. the idea of competition evokes determination, but the idea of being a friendly environment allows very intelligent people to converse over stuff they really enjoy doing. 

Another big component of TopCoder is marketing. Expanding the community does nothing but great things for TopCoder, and for that reason, they must focus on expanding at the rate they have been, or close to it. The expansion of members in the TopCoder community will only do positive things. As stated above, more people creates more opportunity for very intelligent people to get help on stuff that might not come that easy to them. 

I believe that the capabilities of running a company like TopCoder are much different to those of traditional companies. This is because of how difficult it is to develop a significant avenue of competition, along with keeping a sense of togetherness. For example, a large majority of people get very angry when losing a sport of any kind. If you were to compare TopCoder to a sporting example it would be like having a tournament with very competitive 20 year olds and having the prize be a large quantity of money, and telling the teams that they must be friendly, and help other teams as much as they could. This would make no sense to a team because they want to win and get the money for themselves. Obviously they could all work together and get better for the future, but there are often more fights in sports, than encouraging words. This is because competition sparks controversy and anger. The fact that TopCoder wants to focus on competition but also a friendly environment is, in a sense, an oxymoron. But, if that can be accomplished, it can benefit everyone.

Overall, top level management at TopCoder needs to focus on all of these things. They need to make sure that it stays competitive but also remains friendly. TopCoder must also maintain their yearly averages on new members. By doing all of these things, TopCoder could be extremely successful.

John M. Brown

Top Coder question 2 & 4

2. As a client of TopCoder what would your main areas of concern be with this type of outsourcing? Has TopCoder done enough to overcome them?


As a client I feel some of my major concerns would be dedication, continuity, and security. I would be concerned that a prize may not be suitable or provide enough motivation for a coder to go above and beyond to really produce his or her best work. If that same coder is also working on other projects and competitions to try to win contests they may not be dedicated to my needs and I may not get the best possible result. Also, if in the near future I need edits or additional work done on my software and the same engineer isn't available someone else will have to work backwards to figure out how to access and edit the software, costing more time and money. Thirdly, if someone is creating my software and wins the competition and does a great job, and then goes and uses this successful code on another project and creates near identical work for both of us; someone who accessed the other companies network would find it easy to then access mine due to the similarities. I think the idea is great for coders to be able to drive themselves to better than one another, similar to the sporting field or a competitive workplace, competition challenges the competitors to be better versions of themselves. However, I don’t feel I could ever be entirely confident in the product i'd be receiving


4.Find an example of collective action or an information sharing app. Describe and link to the digital tool. Explain what it does, how it works, and the types of problems it is working to solve. Do not use examples from those discussed specifically in the article (e.g., Airbnb, Lyft, Uber), but there are NEW examples of these and others that you can discuss.


Dropbox service is file sharing and document collaboration app which can be performed on multiple platforms. It is basically a cloud storage service. If someone create a file, Dropbox let him put the file in one place, which people can later access it on their cell phones(Android and IOS), computers or on the Dropbox website. So that people can bring whatever kinds of documents and files wherever they want. The sync service makes everything saved in Dropbox automatically synced to all the devices connected with Dropbox. It also let people share information with everyone. Whenever you edit a file, people in your team that you share the file with will get automatic update on the file, so they save the time to announce they made changes and email the changes back and forth, they can just work on it together.

source: https://www.dropbox.com/business?home=true&_tk=sem_b_goog&_camp=sem-b-goog-us-eng-top-exact&_kw=dropbox|e&_ad=48169009662|1t1|c&gclid=CPeR1JyKnMsCFQlafgodyzMMag

Question 3 & 4



TopCoder Inc., CEO, Jack Hughes, believes that project demand will lead to creating more programmer supply in the long run but will have to face some problems. Jack Hughes believed, “that contest demand would spur the supply of TopCoder participants, who would in turn create high-quality software solutions”.  In addition, he views "the hours-based services approach to be a broken, inefficient model.” One reason to agree with the statement that project demand will automatically create programmer supply is that Mike Morris, vice president of sales, saw unlimited potential: “If sales grow at a linear rate, membership grows at an exponential rate. The supply of community members is not going to limit growth. If you throw enough money out there, you will get enough programmers.” Mike believes if you have more assignments and money you will have more programmers.

Hightail formerly known as, YouSendIt, is a cloud based service that allows users to receive, send, digitally sign, and synchronize files. Early on, Hightail's main objective was to assist users in sending files that were too large for email. Now due to their large expansion, their application can be used through a “mobile device, web, a desktop client, or from within business applications with a Hightail plugin”.  Hightail is a global company that offers services to customers and to businesses. According to Hightail.com, collaboration starts with your files. When using HighTail, you “[u]pload your project files to create a Space then share the unique link to bring your project team together in one place. Everyone can view images and stream videos instantly or download the files". Hightail uses a feature called space. Space is a “visual project folder where you can upload files and then share a unique Space link with your team. People with this Space link can add comments, approve and download files and upload new versions”. Hightail offers two version; a lite and pro. The lite version is free, however, you are only allowed 250MB of space per month. The pro version is $15/month but you have unlimited space. Some additional features of Hightail are: high-resolution previews, contextual comments, visual versioning, and access code protection.



Source: