Executive Summary

Read and write executive summary 

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Descriptionof the Issue

Linkedin​ is a professional networking website that allows employers to post jobs and job

seekers to apply. ​Linkedin​ also has the capability to create “connections” with other people on

the website, usually your peers, coworkers, or recruiters that you met at a job fair. When job

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

seekers are applying for jobs, it is commonplace for them to first find people that they know at

companies that they’re applying to as a way to get a referral and increase their chances of

landing a job.

We want to create a system in LinkedIn where users are able to categorize their

connections into different private groups. These are not the same as the groups that LinkedIn

already has available because people within your categories would not know they are in your

categories. For example, a possible category would be “Recruiters” and you would be able to put

all recruiters that you have connected with in that group for easy organization. Another example

would be “People that I could ask for a Referral,” where you put your closest connections. In

March 2016, a study was conducted that had shown that 70% of users had over 300 connections

(Statista). This makes it very difficult for job seekers to filter through their connections and find

people that they would be able to seek referrals from. With the addition of the categorization

feature, you will be able to place your connections in a category upon initially connecting or by

viewing your previous connections list.

Description of the Solution

In order to make it more convenient for the users, we will add a new filter called

“categories” so that the users are able to categorize their connections into different private

groups. Unlike the following mechanism which automatically sends a notification when someone

starts to follow a user, this filter is completely private and safe to view and find a person who

matches the category. Being derived from the Group mechanism is the huge advantage of this

feature because we only set a constraint that allows the users to categorize every connection if

they want to. Additionally, adding this feature into the filter list is a non-invasive process, it

means that it won’t conflict with any previous running components. We, however, need to create

a backup and some unit tests to make sure everything works well.

Description of why the solution was chosen

The implementation of making private groups of categorized connections was chosen

because the already existing feature of making groups is known to work on ​Linkedin​. The

implementation is suggested now because we feel that the group feature just isn’t providing

enough for users of the site to connect with other users easily, and the addition of categorizing

connections could add more variety to how users can choose to search for employers or job

seekers.

Since the group feature already exists on ​Linkedin​, implementing an additional option of

being able to categorize connections and make private groups from them should not be difficult.

The implementation simply builds on top of the already existing group feature, and does not

require a completely new component to be created on the site.

Categorization as an option or a minor feature has been implemented on other types of

social networking platforms, one of which is the video game digital distribution service Steam.

Steam’s software client used for distributing video games also has some kind of a social network

system, in which users can add each other on the client as “friends” through the use of a friends

list, similar but not the same as creating “connections” with other users on ​Linkedin​. Steam

provides the option to categorize friends on a user’s friend list by creating different categories to

put those friends in, allowing users to organize their friend list and easily search for a particular

friend. Although a minor feature on the client, the categorization option on Steam works as

intended so a similar system on ​Linkedin​ should perform well.

Description of Challenges

People who have many years of experience using LinkedIn may feel it less intuitive to

find connections by category, because they are used to filter connections by location, company,

school, and so on. The most effective way of minimizing this drawback is to add a new filter in

the filter list, namely, by user-defined category. Adding such a filter will ensure that the new

functionality (categorizing connections into private groups) can be integrated with the existing

filtering features of the platform. Note that when a user wants to find someone who has been put

into multiple categories, the user should be able to find that person by any matching category as

it is impossible to remember the exact categories for all connections. (If your friend A is both

categorized as ‘College Friends’ and ‘High School Friends’, you should be able to find A either

by the filter ‘College Friends’, or ‘High School Friends’, or both.)

People who rely on the main search bar (typing) may not be able to find connections

based on category, because some user-defined category’s name can be identical to certain

keywords recognized by the search bar. For example, Peter Anteater chooses to name one of his

own categories ‘Anteater’, which contains all connections he has made within UC Irvine.

However, since Peter’s family name is also ‘Anteater’, the search functionality may return

whoever has the last name ‘Anteater’ from Peter’s connection list. One solution to this problem

is that the search bar needs to be able to recognize category names and then differentiate them

with their other possible meanings. This ability will be built on existing modules, since the team

who designed the search bar already realized the ambiguities caused by phrases which have

multiple meanings (LinkedIn). (If you type in ‘UC Irvine’ in the search bar, in the dropdown

menu, it will ask you whether you mean People, Jobs, School, or Group. Similar things can be

done for Category.)

There is a risk of putting people into embarrassingly titled groups on accident. However,

this problem is not a direct result from the Categories feature. ​LinkedIn ​has been running the

Groups feature for years, and it requires users to invite members to any existing groups. Even if

they do invite connections into a group unintentionally, the already existing Groups module

should have the ability to cancel or undo the invitation (within a short amount of time). While it

is possible that people get confused about “Groups” vs “Categories”, we will make sure that each

feature has a separate entry point. For example, the “Groups” link will always appear in the main

tab on the left side, and it will sit under the “Connections” so that users understand “Groups” are

different from individual connections. Moreover, “Categories” will only be accessible within the

“Connections” page itself, so that users who are browsing their connections can have the option

to categorize their connections. Once done with a test version, we can experiment with users and

conduct a survey to ask if they get confused with the two features. If the rate is high enough, we

can explicitly add a confirmation pop-up, before any invitation/categorization, to specify the

purposes of Categories and Groups.

Adding the new functionality will probably slow down the website’s

loading process.

While the time it takes to load the website depends on many factors including internet speed,

server capacity, web browser usage and etc, we can use tools like Adobe’s getLoadTime plugin

and Google’s Site Speed Reports to measure roughly how much extra time it costs to load the

page after the implementation of the new feature (West). This problem is so far the biggest and

worth the most of our attention, since a slow page not only affects user experience but also

weakens itself in search engine rankings (Phapale, Tse). One general way to mitigate the extra

burden is to pre-load contents in the web browser’s cache, so that the server side will have more

computing resources. Other than that, combine the new Category functionality with Group,

because they have a lot of overlapping code, packages, and libraries that can be loaded once for

all.

Timeline

For the first two weeks of our plan, we will form a team of business analysts, software

engineers, quality assurance engineers, and a project manager. The team can consist of both

existing LinkedIn employees as well as contract employees.

Once the team is developed, we will create user stories for the new feature. We want to

ensure that LinkedIn users will find value in categories, so allocating time for the development of

comprehensive user stories is very important. This task will be primarily done by business

analysts. The conservative estimate for how long this will take is approximately two weeks.

Before actually beginning development of categories, we will spend another two weeks

drafting a requirements document and high level design document. Business analysts and

software engineers will work together on creating the requirements document, while lead

developers and the project manager will work on the high level design document. One more

week following these drafts will be dedicated to edits and revisions of these two documents.

These documents will be shown to a LinkedIn technical director for revision and review.

The following four weeks will be dedicated to two sprints: one in the first two weeks, and

one in the second two weeks. A sprint will consist of design, review, development, and unit

testing. Our team of software engineers will work on design, review, and development for the

first seven business days and the following three business days are dedicated to unit testing by

quality assurance engineers. Since the feature can be derived from the groups feature, we know

that there will be very stable existing functionality and test suites for the new category feature. In

the first sprint, a team of developers will work on the implementation of the categories feature

building on the existing groups feature. In the second sprint, we expect to work on experimental

server deployment using different UI designs.

Finally, we will have some LinkedIn users participate in a trial of the categories feature

for a full week. They will act as end users and will be randomly sampled from the population of

active LinkedIn users to accurately represent all users. Based on their feedback, another sprint

and trial may be necessary: this could take another three weeks. In total, this project will take 12

-15 weeks to complete depending on the feedback of end users.

Budget

This project will cost the salaries of a small team of software developers, business

analysts, quality assurance engineers, a project manager, and the cost of additional data storage

for users. It would not be difficult to find a team of skilled fullstack developers especially among

the breadth of skilled teams at Linkedin. Although Linkedin undoubtedly manages petabytes of

data every single day, the addition of monitoring user-created groups will not create so much

additional stress that brand new technologies will be necessary. The total cost of this project will

therefore be the sum of the salaries of five software developers, two senior software engineers,

five business analysts, three quality assurance engineers, and one technical manager. One

technical manager’s salary for a month is approximately $16,804 and the salary for a software

developer is $11,276. The total cost is estimated at $73,184.

The following table is based on the average salary of each engineer as seen on

glassdoor.com. It does not take into account signing bonuses, relocation costs, or stock bonuses.

The 1 week salary column will already factor in the number of employees of a specific type into

its total.

Testing

Nothing is better than the end-users’ satisfaction with ​Linkedin​, so testing the new filter is

necessary and essential so that the customer’s expectations could be validated and verified. As

we mentioned above, there are three criteria that we need to pass before publishing this new

feature. The first one is to check if the new filter’s behaviors work correctly, the second one is to

check if there is connection leakage, and the third one is the concern about performance or

loading process.

The Category filter is basically derived from the Group filter, so it inherited all functions

from the Group filter: create and delete a category, insert new connection, find category and

connection. To test them all, we will perform procedures that are used to test the Group’s

functions. Specifically, we will perform sanity testing after adding some changes in functionality

Employee 1 Week Salary 15 Week Salary

Software Engineer (5) $13,010 $195,150

Lead Software Engineer (2) $6,459 $96,885

Business Analyst (5) $11,684 $175,260

QA Engineer (5) $10,083 $151,245

Project Manager (1) $3,162 $47,430

Total: $665,970

to identify bugs which have been fixed and ensure that it won’t cause further issues because of

these changes.

Another concern that we need to keep an eye on is to test the privacy of the Category

connections. Initially, we will create random test cases containing categories which have about

1,000 connections and check if user B could find any connections or categories of user A by

using the search bar. By applying white-box testing and path coverage testing, we will be able to

find invalid data sets which lead to information leakage.

Image: Path Coverage Testing to find invalid test cases

In order to test the loading process of the Linkedin after adding the filter Category, we

will do the performance test to express time per request to measure how long it takes to load the

page. Before doing this test, we need to install ApacheBench, which is a program performing the

load test to benchmark the results, on a developer’s computer. The table below shows the results

that we collected based on the number of requests (with and without cache). Since the average

loading time of social media is 5.5s, the results collected are ideal for loading all connections at

the time.

Table: The average loading time per request

Test Case
ID

Workload Condition Expected Result

1 1 request Load page completely
(1,000 connections)

without cache

< 0.01 ms

2 1,000 simultaneous requests Load page completely
(1,000 connections)

without cache

< 10 ms

3 10,000 simultaneous requests Load page completely
(1,000 connections)

without cache

< 10000 ms

4 1 requests Load page completely
(1,000 connections)

with cache

< 0.006 ms

5 1,000 simultaneous requests Load page completely
(1,000 connections)

with cache

< 6 ms

6 10,000 simultaneous requests Load page completely
(1,000 connections)

with cache

< 6000 ms

Works Cited (MLA)

“1st Level Connections of LinkedIn Users 2016.” Statista, Statista Research Department, 18 July

2016,

www.statista.com/statistics/264097/number-of-1st-level-connections-of-linkedin-users/.

Awan, Aatif. “The Power of LinkedIn’s 500 Million Member Community.” LinkedIn, 24 Apr.

2017, blog.linkedin.com/2017/april/24/the-power-of-linkedins-500-million-community.

“LinkedIn Software Engineer Salaries in San Jose.” Glassdoor,

www.glassdoor.com/Salary/LinkedIn-Software-Engineer-San-Jose-Salaries-EJI_IE34865.0,8

_KO9,26_IL.27,35_IM761.htm.

“LinkedIn Staff Technical Program Manager Salaries.” Glassdoor,

www.glassdoor.com/Salary/LinkedIn-Staff-Technical-Program-Manager-Salaries-E34865_D

_KO9,40.htm.

“Searching on LinkedIn.” LinkedIn Help,

www.linkedin.com/help/linkedin/answer/302/searching-on-linkedin?lang=en.

Phapale, Guarav, and Oliver Tse. “Speed, Performance, and Public Profile.” LinkedIn

Engineering, 17 May 2016,

engineering.linkedin.com/blog/2016/05/speed–performance–and-public-profile.

West, Josh. “The Hard Truth About Measuring Page Load Time.” LinkedIn, 23 June 2015,

www.linkedin.com/pulse/hard-truth-measuring-page-load-time-josh-west/.

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.

Order your essay today and save 30% with the discount code ESSAYHELP