Sunday, February 28, 2016

The Importance of the TopCoder Community

TopCoder has achieved a large amount of success directly because of the community it has fostered.  Without the community TopCoder would be non existent.  The community relies on TopCoder's platform to participate in coding competitions, and in turn TopCoder relies on the community to develop software solutions for clients.  If I were a senior manager at TopCoder, the main key to achieving success would be to create and maintain a great community environment.  

Many internet communities are  malicious in nature.  The TopCoder community has developed a culture where constructive criticism is given in a very professional and non hurtful way.  This is very important for management because keeping the community happy is similarly important to the necessity of keeping employees happy at a large organization.  This comes at a large risk.  TopCoder does not have direct and personal access to every single one of their community members, and does not have an instant way to see if their community is happy.  If the community is dissatisfied, they just leave.  This was evident in 2008 when TopCoder reduced prize pools for contest winners.  Many community members decided that it was no longer worth their time to participate in TopCoder contests.  If TopCoder wishes to maintain the level of success that they have become accustom to, they need to manage the satisfaction of their community of users.

The TopCoder community does not exist solely for monetary gains.  The community is a learning environment for coders who are not as skilled as the others in the community.  Inexperienced coders can post questions in the forums and get quality answers from high level coders.  This exists so that a coder can get better and eventually win competitions.  This is part of the important community culture that TopCoder has created.  Management has done a good job of incorporating coders of all skill levels, many of whom are not likely to win an money from contests.  

This community environment is much different than a traditional software development company employee environment.  Crowdsourcing code allows TopCoder access to many different opinions while traditional companies are limited to the knowledge of their employees.  Managing this large community can present problems.  TopCoder relies so heavily on their community that if top level coders started to leave, TopCoder's clients would not receive quality code.  The community is the heart of TopCoder, and managing it is the key capability needed for success.  

Quip

For the last two years Quip has offered a new solution for collaborating on a living document. The application incorporates docs, spreadsheets, chat, and tasks lists all in one. Allowing for work or school teams to easily and quickly communicate on one easy to use app. Quip’s CEO, Bret Taylor, is not new in the technology realm having a hand in Google Maps, and creating Facebook’s “like” button.

Quip is a combination of having Word, Excel, and messaging all in one application. Recently, Quip resigned the app with a new feature called the “inbox”. Instead of having to do with an e-mail inbox, Quip’s inbox serves as a list of all the documents being worked on that gets updated with changes to the shared files. Helping to cutback on the need for e-mails about updates needing to be sent, or even attaching the updated versions in e-mails. Taylor says ‘The core thing is that these documents are constantly changing and being updated, and we really want to orient the product around that”. Allowing teams to effectively use the app to see what changes have been made, and not struggle to find the updated versions through old e-mails and attachments, which is the current standard.

With so many new applications struggling to generate revenues and the reports of layoffs and mark downs at large companies, Quip’s new update might be seen as a way to improve revenues. However, Taylor says the redesign was strictly done to accelerate the growth and help redefine the work collaboration space. Moving forward Quip is excited to continue to improve how teams collaborate, and offer a simple solution on one application. “It’s not about file attachments but really communicating inside of these documents”, Taylor says of Quip’s goals moving forward.

http://www.businessinsider.com/quip-redesign-comes-with-an-inbox-2016-2

Mountain Bike Trail Sharing & Development Website/App

The topic I will be writing about today is a popular website used to find mountain bikes trails and organizations. The application is available for free through Andriod and Apple application stores.. The website, Trailforks.com, is designed to combine GPX (gps) files with Google Maps software and provide a review and communication platform to users.

http://www.trailforks.com/

One of the most critical functions of Trailforks is in its' ability to connect to another GPX file upload/storage site, Strava, and pull those files into its' own data storage space. In addition to storing gps data, Trailforks.com will provide regional reports, a full screen map, a news feed, a ride log, and even a location based recommendation system. Trailforks.com was developed to reduce the difficulty present when looking for trail information and promote a wide spread community of mountain bikers.

My favorite feature is the Trail Karma. This feature allows a user to search for local nonprofits, landowners, and publicly owned trails to donate to the individuals who dedicated their time to developing and fixing trails. The quantity donated will influence the amount of Karma received by an individual. Although, Karma holds no monetary value, it does have an intrinsic value and helps organizations identify potential partnerships or relationships.

I hope you all enjoyed my short response to Q4 posed in the TopCoder Blog.

Saturday, February 27, 2016

Tech Musing #2 - Bosch rounds up technologists to create standard mini-computers to boost driverless cars

The article talk about Bosch has build a team of technologists to develop a system to support autonomous driving. They creating a platform that provide developers with opportunities to work together and developed the minicomputer or embedded system for the driverless cars. Currently, the driving functions require about 70 minicomputers, or embedded system to make sure the function can be monitored and regulated. It is a long way and difficult thing to make a car become to fully autonomous driving, they will need a lot of software and system to help them build the whole function. They decided to use several central processing units rather than the single-core systems, because the CPUs working in parallel is faster and will help the minicomputers have more power to achieve the function. There are two forms for the parallel CPU system, multi-core processors and many-core processors. The team is planning on the open-source Eclipse project and it will provide an opportunity to make sure the developers can touch with each other. Bosch also hope the engineers will develop both multi-core system and many- core systems for their application based on the open-source Eclipse they created.


From this article, I learned a lot. System development is a long process of designing, testing and implementing a new software application or program. The system can be customized and connect with other system to achieve a fancy function. The developers have to work together to build the system to make sure every step is correct during the system development life, the planning, analysis, design, implementation and maintenance.

Concerns of a Future TopCoder Client

Q2.
As a client of TopCoder I would be very weary of the possible issues with outsourcing my software development.
                The first aspect is on the security and control of the intellectual property. Software is a vary integral part of any business; because of that the disruption to the system is very costly for an organization an event that could potentially offset any savings which might arise from using TopCoder for development. As TopCoder reuses already existing code modules for the creation of new software, the potential to be hacked becomes; this is because a solution submitted could unknowingly have been copied from an open-source software or even worse, from a patented source—opening a myriad of security weakness and legal liabilities.
                TopCoder tries to remedy these security concerns by having TopCoder employees review the work that is submitted for potential fault. While this is a good way to mitigate the risk, the reality is that the guarantee of a faultless product is only as strong as the coding abilities of those reviewers, which is something outside the control of the client. To augment this issue TopCoder does allow clients to run additional testing. Along with increased testing TopCoder will only host competitions that develop part of the overall system with the intent of decreasing the risk that malicious code impacting the entire client system entire system. This, along with participants having to sign a confidentiality agreement, is a strong way to mitigate and eliminate the concern of security.
                The biggest factor that I would be concerned about, however, is the growth and size that TopCoder is becoming. TopCoder is currently sustainable but with expansion, its business model might be called into question. Right now all of TopCoder’s solutions are being produced by 5% of their community. As the amount of projects increase, however, the 5% will have to be allocated across these multiple projects and the quality of solutions will theoretically decline as a smaller amount of top talent will work on a given project. Another issue is the with more projects available, those who are reviewing the work might want to compete in them instead, leading to also lower quality reviews.

                While TopCoder says that their coder community will increase as they expand in size, given that there is already a shortage of talent, this assumption can be called into question. Furthermore, given that a great deal of their top coders reside in countries outside of the United States, such as China and India, it will become hard to keep these coders as the wages become comparable to our country—especially when they could get jobs at great companies with comparable or better pay. 

Friday, February 26, 2016

The CEO of TopCoder believes that project demand will create programmer supply

CEO of TopCoder, Jack Hughes has created a business model where any programmer in the world can compete for ratings, bragging rights and most importantly, money. Most programmers are concerned with paying bills and increasing wealth, more so than ratings and bragging rights. This is confirmed by Justin Gasper, a TopCoder member who competes full-time and averages over $100,000 a year in prize money. Gasper explains that ‘winning and making money meant more to him than ratings.’ Hughes understands this need for financial incentives to drive programmers to its platform. The problem is that beginner and intermediate programmers often find that top programmers like Gasper take most of the prize money most of the time. This leaves little incentive for beginner and intermediate coders to devote their time when it has been established that they will likely not be winning any prizes. Instead they will seek full-time work, where they can have some training and more reliable economic security.

In order for TopCoder to meet industry demand for programmers they must make contestants feel that spending their time competing is more valuable than doing something else. Developing nations that are experiencing hyper-inflation and depressed economies will have increasing numbers of long-term unemployed. Those with burgeoning programming skills will find their time well spent gaining knowledge and winning smaller prizes in TopCoder contests.

Membership growth in developed countries like the U.S. where unemployment is low is more reliant on people taking an interest in coding at an early age. This is when they have little or no financial obligations and can devote more time to growing their skills and participating in these kinds of contests with little worry of lost time. Older and more experienced programmers are interested in more stable income that comes from full-time work. When they have free-time they generally want to use it doing something besides coding which they already do 40 hours a week. Relying on up-and-coming programmers to fill TopCoder’s needs will be partially dependent on public policy and government spending in schools. This brings the 2016 election front and center as we consider which candidates will take a stand to spend more appropriately on U.S. schools and programs that help fill the high skilled jobs in our economy.


CEO Jack Hughes envisioned his company as a place where a growing community of diverse and competitive programmers would continually vie for top honors and a little bit of money. Instead his company has become a part-time placement firm, matching programmers and the companies seeking them. Highly experienced programmers like Justin Gasper have been recruited for contract work regularly. He has not taken a full-time job because he can make more in TopCoder competitions in the comfort of his home. Programmers like Gasper have no incentive to take on the role of mentor to new TopCoder members. Only CEO Jack Hughes can provide that incentive.

Thursday, February 25, 2016

Tech Musing 2

Data security is a major area of concern which is only periodically given attention. This subject is currently because the FBI are attempting to gain access to data on an iPhone belonging to Syed Rizwan Faroo. (one of the San Bernardino attackers) In addition to this there are many other court orders asking Apple for data on iPhones as well for other cases.

iPhones contain a lot of data which is held locally on the device itself. This data is much harder for others to obtain without consent by the user. Wired poses a great point which I would like to take note of in this issue. That is that the security which was developed by apple is certified by a digital signature in order to be installed on apple devices. If Apple were forced to open the security of their devices, that update would have to be attached to a digital signature from Apple. This therefore would be forced speech and therefore against the first amendment to the constitution. In fact, the case of Bernstein vs. US Department of Justice recognized that code is speech and therefore it is protected by the first amendment. When talking about this it is also good to note that anyone who sends an email with PGP encryption also is signing their work.
The government has compelled some firms to write specific things in the past. This was on products such as food which would keep the public informed, non-controversial, and factual. In Apple’s case, the “speech” is not entirely factual due to the company knowing that they would be sending out a inferiorly secure system. This would not only hurt the product but also damage trust with Apple’s customers.

Still, with this information to back the company up, Apple has stated that their primary defense to their argument to the US is the All Writs Act. This allowed companies to geo locate their phones and record numbers which were made and received from those phones. It does not however state anything about collecting data that is password encrypted on the phone itself.