Experience Session - Hari

29
SV.CO’s iterative product development An engineer’s perspective Hari Gopal

Transcript of Experience Session - Hari

Page 1: Experience Session - Hari

SV.CO’s iterative product development

An engineer’s perspective

Hari Gopal

Page 2: Experience Session - Hari

That’s commit #1 in December 2013

That’s commit ~ #7500 sometime this week

Page 3: Experience Session - Hari

Mobile Applications

• Student Entrepreneurship Policy• See events, news about SV Kochi.• Register a new startup, list employees.

Web application

• API for mobile apps.• List startups, founders, and allows founders to sign

in and invite other founders to join his startup.• Administration Interface.

Objective: Build a mobile-first platform to allow startups to register their companies as quickly as possibly and ease them into the SV ecosystem.

Page 4: Experience Session - Hari

Mobile Applications

• Student Entrepreneurship Policy• See events, news about SV Kochi.• Register a new startup, list employees.• Request help from SV.• Register and apply for incubation at SV.• Apply to form a partnership.• Manage list of founders.• List registered mentors.

Web application

• API for mobile apps.• List startups, founders, and allows founders to sign

in and invite other founders to join his startup.• Administration Interface.• Mentor Registration.• Edit own startup profile.• Edit partnership details online.

Page 5: Experience Session - Hari

Mobile Applications

• Student Entrepreneurship Policy• See events, news about SV Kochi.• Register a new startup, list employees.• Request help from SV.• Register and apply for incubation at SV.• Apply to form a partnership.• Manage list of founders.• List registered mentors.• Accept industry contact details from users.• View startup job postings.

Web application

• API for mobile apps.• List startups, founders, and allows founders to sign

in and invite other founders to join his startup.• Administration Interface.• Mentor Registration.• Edit own startup profile.• Edit partnership details online.• Mentor meetings using WebRTC.• Public job board, create and view listings.

Page 6: Experience Session - Hari

Mobile Applications

• See events, news about SV Kochi.• Register a new startup, list employees.• Request help from SV.• Register and apply for incubation at SV.• Manage list of founders.• List registered mentors.• Accept industry contact details from users.• View startup job postings.

Web application

• API for mobile apps.• List startups, founders, invite new founders.• Administration Interface.• Mentor Registration.• Edit own startup profile.• Edit partnership details online.• Mentor meetings using WebRTC.• Public job board, create and view listings.• Multi-step incubation process to register as a startup with SV• Playbook for founders

Page 7: Experience Session - Hari

Web application

• List startups, founders.• Edit own details.• Administration Interface.• Multi-step incubation process to register as a startup with SV.• Playbook for founders.• Startup timeline page with a timeline builder.• List targets to complete on the timeline page.• Vocalist stalks the public slack channel.• Faculty page with faculty connect feature.• Resources section to store information useful to founders.

Page 8: Experience Session - Hari

Web application

• List startups.• Edit own details.• Administration Interface.• Multi-step incubation process to register as a startup with SV.• Playbook for founders.• Startup timeline page with a timeline builder.• List targets to complete on the timeline page.• Vocalist stalks the public slack channel.• Faculty page with faculty connect feature.• Resources Library to store information useful to founders.• Multi-stage application process to join SV.CO.• Free Six-Ways MOOC.• Public Founder profile page.• Startups activity page.• New homepage and new design language.

Page 9: Experience Session - Hari

Web application

• List startups.• Edit own details.• Administration Interface.• Playbook for founders.• Startup timeline page with a timeline builder.• List targets to complete on the timeline page.• Vocalist stalks the public slack channel.• Faculty page with faculty connect feature.• Library to store information useful to founders.• Multi-stage application process to join SV.CO.• Free Six-Ways MOOC.• Public Founder profile page.• Startups activity page.• Founder dashboard page with a redesigned timeline builder

and level-based target framework.

Objective: Build an online platform for first-time founders and offer a guided experience of starting up.

Page 10: Experience Session - Hari

Mobile Applications

• Student Entrepreneurship Policy• See events, news about SV Kochi.• Register a new startup, list employees.

Web application

• API for mobile apps.• List startups, founders, and allows founders to sign

in and invite other founders to join his startup.• Administration Interface.

Web application

• List startups.• Edit own details.• Administration Interface.• Startup timeline page.• Vocalist stalks the public slack channel.• Faculty page with faculty connect feature.• Library to store information useful to founders.• Free Six-Ways MOOC.• Public Founder profile page.• Founder dashboard.• & more.

!=

Page 11: Experience Session - Hari

!=

Objective: Build a mobile-first platform to allow startups to register their companies as quickly as possibly and ease them into the SV ecosystem.

Objective: Build an online platform for first-time founders and offer a guided experience of

starting up.

Page 12: Experience Session - Hari

Web app toolset

• Ruby (v2.0.0)• JS (ES5)• Ruby on Rails (v4.0.1)• Rubymine (v6.3)• Trello• Heroku• Github

Web app toolset

• Ruby (v2.4.1)• Coffeescript, ReactJS, ES6+• Ruby on Rails (v5.0.2)• Rubymine (v2017.1)• Trello• Github• Codeship• Heroku• DigitalOcean• Rollbar• Skylight

~=

Page 13: Experience Session - Hari

Ideas

Page 14: Experience Session - Hari

TrelloIdeas Trello

Write everything down:

1. Ideas 2. Tasks 3. Issues

This is a habit you have to form.

Page 15: Experience Session - Hari

Ideas Trello Ruby, JS, ReactJS Rubymine

Sit down (or stand up) and build / improve / fix.

Write tests to make sure your code does what you intend.

Tests are invaluable when time comes to change things. New code should not break old code.

Page 16: Experience Session - Hari

Ideas Trello Ruby, JS, ReactJS Rubymine

GithubKeep your work safe. Collaborate. Github is the industry standard. But there are alternatives.

Page 17: Experience Session - Hari

Ideas Trello Ruby, JS, ReactJS Rubymine

Github

Heroku

Deploy (after testing). This is what it’s all about. Heroku is our choice, because it minimises Operations-work.

Codeship

Page 18: Experience Session - Hari

Ideas Trello Ruby, JS, ReactJS Rubymine

Github

HerokuRollbar Skylight

Catch issues quickly & be aware of performance. This should feed back into your to-do list for continuous improvement.

Codeship

Page 19: Experience Session - Hari

Ideas Trello Ruby, JS, ReactJS Rubymine

Github

HerokuRollbar Skylight

Slack

Communicate.

Codeship

Page 20: Experience Session - Hari

Todo-List Check what needs

to be done

A typical work-day

Page 21: Experience Session - Hari

Todo-List Check what needs

to be done

A typical work-dayChat-bot

Build a bot to track founder participation on Slack.

Page 22: Experience Session - Hari

Todo-List Check what needs

to be done

A typical work-day

Complicated? Break it down into

doable-s

1. Build an integration with Slack (how? is there an open-source library?)

2. Send non-command public messages to SV.CO for backup.

3. Give the bot a name. But what?

Chat-bot Build a bot to track founder

participation on Slack.

Page 23: Experience Session - Hari

Todo-List Check what needs

to be done

A typical work-day

Know how? If not, learn how

to execute.

Complicated? Break it down into

doable-s

1. Use Lita framework to integrate with Slack.

2. Send non-command public messages to SV.CO for backup.

3. Lita + SV.CO = Vocalist!

Chat-bot Build a bot to track founder

participation on Slack.

1. Build an integration with Slack (how? is there an open-source library?)

2. Send non-command public messages to SV.CO for backup.

3. Give the bot a name. But what?

Page 24: Experience Session - Hari

Todo-List Check what needs

to be done

A typical work-day

Know how? If not, learn how

to execute.

Code Test

Deploy

Complicated? Break it down into

doable-s

Chat-bot Build a bot to track founder

participation on Slack.

1. Use Lita framework to integrate with Slack.

2. Send non-command public messages to SV.CO for backup.

3. Lita + SV.CO = Vocalist!

1. Build an integration with Slack (how? is there an open-source library?)

2. Send non-command public messages to SV.CO for backup.

3. Give the bot a name. But what?

Page 25: Experience Session - Hari

Communicate with fellow programmers to clarify aspects

of work / bounce off ideas.

Todo-List Check what needs

to be done

A typical work-day

Know how? If not, learn how

to execute.

Code Test

Deploy

Complicated? Break it down into

doable-s

Page 26: Experience Session - Hari

Communicate with fellow programmers to clarify aspects

of work / bounce off ideas.

Brief / be briefed by other team members about

features / ideas / issues.

Todo-List Check what needs

to be done

A typical work-day

Know how? If not, learn how

to execute.

Code Test

Deploy

Complicated? Break it down into

doable-s

Page 27: Experience Session - Hari

Communicate with fellow programmers to clarify aspects

of work / bounce off ideas.

Brief / be briefed by other team members about

features / ideas / issues.

Think about your own work / research avenues of

improvement.

Set aside time for refactoring / paying off

technical debt.

Work on a different project / play with a different tech

stack.

Todo-List Check what needs

to be done

A typical work-day

Know how? If not, learn how

to execute.

Code Test

Deploy

Complicated? Break it down into

doable-s

Page 28: Experience Session - Hari

Web work is prone to change. People involved can change.

Objectives change. Market can change.

Gear your work to forgive (even encourage) change.

Page 29: Experience Session - Hari

That’s it. Thank you!