experience session - hari
TRANSCRIPT
SV.CO’s iterative product development
An engineer’s perspective
Hari Gopal
That’s commit #1 in December 2013
That’s commit ~ #7500 sometime this week
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.
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.
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.
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
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.
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.
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.
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.
!=
!=
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.
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
~=
Ideas
TrelloIdeas Trello
Write everything down:
1. Ideas 2. Tasks 3. Issues
This is a habit you have to form.
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.
Ideas Trello Ruby, JS, ReactJS Rubymine
GithubKeep your work safe. Collaborate. Github is the industry standard. But there are alternatives.
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
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
Ideas Trello Ruby, JS, ReactJS Rubymine
Github
HerokuRollbar Skylight
Slack
Communicate.
Codeship
Todo-List Check what needs
to be done
A typical work-day
Todo-List Check what needs
to be done
A typical work-dayChat-bot
Build a bot to track founder participation on Slack.
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.
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?
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?
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
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
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
Web work is prone to change. People involved can change.
Objectives change. Market can change.
Gear your work to forgive (even encourage) change.
That’s it. Thank you!