Thursday, March 27, 2014

Activity Diagram with Interview Notes

Love them or hate them, interviews are a necessary step in establishing business relationships. It's an opportunity for both parties to get to know each other and have their intentions laid out. The setting of the interview takes place on Skype.

After giving it some thought, here's a list of things that I would start out asking:

Preliminary questions:
- In a nutshell, what does your company do?
Company takes requests from customers. After negotiations, costs, deadlines, and work are partitioned among teams to work on. After creating product, product will undergo testing by Quality Assurance team and be available for free to suggested customers. Once approved, product will go into beta after which the customer will ask to fine-tune certain aspects.



- Who are the various stakeholders within the company? Can I eventually meet them?
In addition to manager, there’s the development team, project manager who oversees and handle managerial duties over project, a person to handle marketing and operations, and another who handles finances.

“Our marketer is developing strategies, particularly social media "Do it yourself" methods, and looking to reach a certain amount of recurring / residual users before looking into funding through crowdsourcing”

“On the business side of things,
he's looking for negotiations beforehand and speaking to realty agencies, retail stores, and a few more notable names in the university to get a few listings populated into the server.
Since he's also doing finance, he's looking at the net revenue from all of the income sources for the website, including monetizing, personal advertising, and promotional items we are looking to sell.
On top of that he's managing our budget, since we're planning to purchase marketing services from Google / facebook, and a few sketchy local marketing agencies.”



- How well do you think I will fit into the company? Would I need to read up on a lot of terminology or expand my knowledge in a particular field (say, GUI's or interfaces for example)?
Need to learn Javascript, HTML, and CSS (not required) as well as their associated API

Need to learn JSON strings, and JQUERY











After getting to know a thing or two about the company, I would start asking more specific aspects of company operations like:

- For the typical client, how long does it take to complete their requests?
~1.5-2 months

- In terms of resources (employees, cost, time, taking on multiple projects, etc) how much does the company invest in a single project?
Really depends on the type of project. The money they receive from contractor is used to invest in the project.

“We invest in time vs. employees needed with a budget given, and we try to maximize the amount earned. So for example if we have a 20,000 project that will take 2 months
and we have to pay employees 2000 / mo. 2 employees for a 2 month project is already 8k
12k profit received.”



- What are the various teams that the company employ to complete the tasks at hand?
This question and next two are answered by this google doc

- Is the client informed of each and every step in progress?
contracting gig, no unless arranged. Employment gigs- yes

- How is testing done? Do the developers test as they go along or is there a separate team that tests  the finished product?
there is a test team, there is software that reports live test errors and where testers can assign a part of the development team to work on them. Software used is redmine

- What will I be specifically working on?
Project will be tailored to my interests (networking, security, databases). Since I’m using this to work on a different class project, only the networking side will be able to fulfill the requirements for both classes.

“What you're going to help us do is use API's from other services (very network / javascript heavy) and integrate them into our system by sending them back to our API's.”

These are the steps:
Learn Javascript, HTML

Learn networking + JS

API calls + Social Media

Rails prototyping

Data collection

Activity Diagram for website development:




This is activity diagram typifies the process of the work flow. Although I did leave out a couple stakeholders (the advertiser and financial manager) their involvement with the company do not dictate how requests are handled. Everything starts with the customer. Once the customer and manager negotiate a deal, the request is handed to the project manager who then partitions the work load. After that, a team of engineers and developers begin their work. Once it's done, the project is handed off to the project manager and manager for approval. If the product meets their expectations and the specifications, the product is either released into open beta or given to the customer.

My Use Case Diagrams



Getting right down to it, use case diagrams are used to visually demonstrate how a system is (supposed) to work. While there may be some ideas that will change over the course of a project development, the core idea will usually stay intact. Incredibly useful when trying to explain the functionality of systems to non-programmers without having to delve into the guts of coding and technical terminology.








Use Case 1 - Post Listing

This diagram is used to describe the scenario in which the client (website user) wishes to create a new listing on the Synclis website.

  • Log in: User enters relevant credentials
  • Create new listing: This is the process in which the user collects information regarding the listing. This can range from pictures, product quality, etc. An expiration date is set and a price is listed if relevant.
  • The listing is posted onto the website. Afterwards, the author should have the option to edit the listing














Use case 2 - View/accept listing

This diagram is used to describe the event where a user wanted to look up the various available listings and accept them.

  • User logs in with relevant credentials
  • Selects a category they wish to browse. Alternatively, they can try searching for what they want to see using the search engine
  • After getting a list of listings, the user can browse them at his or her leisure. The presentation of the listings is still (as far as I know) undecided
  • Selecting on a listing yields additional information on said listing
  • Accepting will notify the author of the listing and allow the two users to communicate







Use case 3 - Pulling information from social media website using JSON

This diagram is used to illustrate how information from other websites can be pulled onto Synclis. I’m using YouTube as an example

  • Video is created on host website, YouTube, by users
  • Synclis and YouTube communicate over the network via HTTP callbacks
  • after getting okay, Synclis converts relevant information using JSON
  • Information contained in JSON will then be used to post the listings. The listings will subsequently be categorized and display the author and video information

Friday, March 7, 2014

Interview Notes

Love them or hate them, interviews are a necessary step in establishing business relationships. It's an opportunity for both parties to get to know each other and have their intentions laid out. The setting of the interview takes place on Skype

After giving it some thought, here's a list of things that I would start out asking:

Preliminary questions:
- In a nutshell, what does your company do?
Company takes requests from customers. After negotiations, costs, deadlines, and work are partitioned among teams to work on. After creating product, product will undergo testing by Quality Assurance team and be available for free to suggested customers. Once approved, product will go into beta after which the customer will ask to fine-tune certain aspects.



- Who are the various stakeholders within the company? Can I eventually meet them?
In addition to manager, there’s the development team, project manager who oversees and handle managerial duties over project, a person to handle marketing and operations, and another who handles finances.

“Our marketer is developing strategies, particularly social media "Do it yourself" methods, and looking to reach a certain amount of recurring / residual users before looking into funding through crowdsourcing”

“On the business side of things,
he's looking for negotiations beforehand and speaking to realty agencies, retail stores, and a few more notable names in the university to get a few listings populated into the server.
Since he's also doing finance, he's looking at the net revenue from all of the income sources for the website, including monetizing, personal advertising, and promotional items we are looking to sell.
On top of that he's managing our budget, since we're planning to purchase marketing services from Google / facebook, and a few sketchy local marketing agencies.”



- How well do you think I will fit into the company? Would I need to read up on a lot of terminology or expand my knowledge in a particular field (say, GUI's or interfaces for example)?
Need to learn Javascript, HTML, and CSS (not required) as well as their associated API

Need to learn JSON strings, and JQUERY











After getting to know a thing or two about the company, I would start asking more specific aspects of company operations like:

- For the typical client, how long does it take to complete their requests?
~1.5-2 months

- In terms of resources (employees, cost, time, taking on multiple projects, etc) how much does the company invest in a single project?
Really depends on the type of project. The money they receive from contractor is used to invest in the project.

“We invest in time vs. employees needed with a budget given, and we try to maximize the amount earned. So for example if we have a 20,000 project that will take 2 months
and we have to pay employees 2000 / mo. 2 employees for a 2 month project is already 8k
12k profit received.”



- What are the various teams that the company employ to complete the tasks at hand?
This question and next two are answered by this google doc

- Is the client informed of each and every step in progress?
contracting gig, no unless arranged. Employment gigs- yes

- How is testing done? Do the developers test as they go along or is there a separate team that tests  the finished product?
there is a test team, there is software that reports live test errors and where testers can assign a part of the development team to work on them. Software used is redmine

- What will I be specifically working on?
Project will be tailored to my interests (networking, security, databases). Since I’m using this to work on a different class project, only the networking side will be able to fulfill the requirements for both classes.

“What you're going to help us do is use API's from other services (very network / javascript heavy) and integrate them into our system by sending them back to our API's.”

These are the steps:
Learn Javascript, HTML

Learn networking + JS

API calls + Social Media

Rails prototyping

Data collection

Activity Diagram for website development:

Interview Blog - Draft

Love them or hate them, interviews are a necessary step in establishing business relationships. It's an opportunity for both parties to get to know each other and have their intentions laid out.

After giving it some thought, here's a list of things that I would start out asking:

Preliminary questions:
- In a nutshell, what does your company do?
- Who are the various stakeholders within the company? Can I eventually meet them?
- How well do you think I will fit into the company? Would I need to read up on a lot of terminology or expand my knowledge in a particular field (say, GUI's or interfaces for example)?

After getting to know a thing or two about the company, I would start asking more specific aspects of company operations like:
- For the typical client, how long does it take to complete their requests?
- How much does does the company typically spend on a single project?
- What are the various teams that the company employ to complete the tasks at hand?
- Is the client informed of each and every step in progress?
- How is testing done? Do the developers test as they go along or is there a separate team that tests   the finished product?
- When it comes to development, what problems do you normally encounter?
- Is there anything that you feel needs to be improved?


After asking these questions, I would probably start asking some of the questions that I may have throughout the interview