tame the tech(ie)s !

Anne Collet

Citizens 3.0

About US & About you

Software is at work Everywhere

Software is disrupting all industries

Software is Eating the World

Why tech startups
are so popular ? 

Thanks to SAAS !

= Software as a Service

SAAS products are highly scalable

saAs products are easily Replicable

for a VARIABLE COST +/- = 0

coding is fun, EASIER & powerful !

more than ever

'cause...

human end-users
should always
come first !

The Technologies

Computers (= hardware )

are machines that
can be told what to do

programs (= software )

are written instructions that
define what we want the computer to do

In order to be executable by the computer,
instructions must be passed to it in

binary language

a sequence of 0s and 1s

 these 0s and 1s represent the discrete states

OFF, False, 0 Volts, no current flowing



ON, True, +Volts, the current flows

that must take the computer's core components

i.e. the transistors

once charged electronically, billions of tiny transistors...

will execute the logic we want

combined on a thin film of silicon, a semiconductor material,

to form an integrated circuit (aka microchip)

BINARY INSTRUCTIONS 

1001101001001010100

programming languages

first_name = gets.chomp

 

vs

behind the various programming languages :
a common logic : algorithmics

The fizzbuzz example

0.  Enumerate numbers until a defined stopper ('N')

1.  Start by considering 'number' is equal to 1

2.  If 'number' is a multiple of 3, say Fizz

3.  If 'number' is a multiple of 5, say Buzz

4.  If 'number' is a multiple of both, say FizzBuzz

5.  Else say the current value of 'number'

6.  Increment the value of 'number' by 1

7.  Repeat until the value of 'number' is equal to 'N'

The fizzbuzz example

http://rosettacode.org/wiki/FizzBuzz

ASSEMBLY

The fizzbuzz example

http://rosettacode.org/wiki/FizzBuzz

RUBY

The fizzbuzz example

JAVA

The fizzbuzz example

JAVASCRIPT

The applications

web app

desktop app

mobile app

1

3

2

1.  desktop application

a desktop application is
a program that runs locally on the user's computer

e.g. Microsoft Excel 2010

needs to
be
installed on
the user's computer

strict hardware
requirements
(hard disk, RAM,...)

one version
for each OS
(Windows, Mac,...)

complicated
updates

no Internet connection needed to use it

often, basic
user interfaces

1.  desktop application

2.  mobile application

a mobile application is
a program that runs on a mobile device
 
and is exchanging data with a remote server via Internet

needs to
be
installed on
the user's mobile device

e.g. Zoho Sheet Mobile

SENSORS

CPU (PERFORMANCe)

SHATTERED WORLD

+

- for iOS (Objective C or Swift) 
- for
Android (Java)
- for
Windows Phone (C#)

=> 2 to 3 times the cost
of a web app !

3 very different families of
technologies / mobile OS :

SHATTERED WORLD

3.  web application

a web application is
a program that runs on a remote web server
 
and is displayed on the user's computer's web browser

all you need is
a
web browser on
the user's computer

e.g. Google Sheets

works even on users' devices with limited hardware capabilities

one single version of the app,
with
continuous
development

seamless upgrade & easier maintenance

difficulty for the user to work
if bad internet connection!

more interactive, media-rich user interfaces

3.  web application

an internet connection ?

wired

wired

wireless

wireless

an internet connection ?

ISP = Internet Service Provider

Internet (1969 - TCP/IP)

the global system of INTERconnected computer NETworks

Vint Cerf

Bob Kahn

Internet (1969 - TCP/IP)

Vint Cerf

Bob Kahn

the global system of INTERconnected computer NETworks

TCP / IP

www (1989 - HTTP)

the (World Wide) Web

Tim Berners-Lee

Robert Cailliau

www (1989 - HTTP)

the (World Wide) Web

accessible through a web browser 

identifiable thanks to their unique URL/URI

connected together
via
hyperlinks,
which allow us to
surf
from one to another

a gigantic space of resources (images, HTML documents,...)

Web   Internet

the World Wide Web is one of the many services
relying on the
Internet infrastructure

http request / http response

static website

 (aka site vitrine)

http request / http response

dynamic website

 (aka web application)

on the Client-side

( = the front-end part )

Front-end languages

content
+ structure 

style

dynamism 
+ usability 

on the server-side

( = the back-end part )

back-end languages

The lego game

we could program everything from scratch...

...but it's boring & non productive

So we decided to

 create re-usable blocks 

of functionalities

pre-packaged libraries

within a specific framework

up to Build anything !

It has never been so easy to make software !

human to machine communication

but also mainly 
machine to machine communication

thanks to API (application programming interfaces)

API

API

API

API

the machine does not care about the look

(color, size,...)

what a human likes to see

...only structured content

{"richestPeople":[
    {"firstName":"Bill""lastName":"Gates""value":"81"}, 
    {"firstName":"Carlos""lastName":"Slim""value":"79"},
    {"firstName":"Warren""lastName":"Buffet""value":"72"}
]}

what a machine likes to see

web services

more & more applications are created today
by
calling the APIs of third-party web services
(Google maps, Facebook authentication,...)

web services

can be integrated into your application
by calling  and consuming their API

(application programming interface)

web services

select the best ones
already widely tested & acclaimed
for their 
usability & functionality

Stripe (payment)

Olark (live chat)

MailChimp (e-mailing)

API's are eating software

Working with Developers

Get to know them

Get to know their tools

text editor

terminal

online resources
+

version control tools

ergonomic keyboard (Dvorak, Bépo,...)

Get to know their drivers

Building things

Tinkering

technology

team

nice work environment

... stupidly well paid !

have an impact !

Get to know Where to find them

not there

here : online platforms

here : communities

here : events

Good luck !

Demographics are against you

talk if you want to convince !

" No one will steal your shitty idea "
- Adeo Ressi

prepare your elevator pitch

GET TO KNOW TO WORK TOGETHER

build trust : co-create & cooperate

delimit : expectations

if You are not technical

Don't speak technical

use a common & neutral language :

user stories

As a <role>,
I want
<goal/desire>
so that <benefit>

start from the user

"Put the user in the center of your product/service
from the beginning"
- Boris Paillard, CEO Le Wagon

the user experience is key

"Plus on met de techno dans une app,
plus il faut contrebalancer avec de l'humain"
- Jean-Daniel Guyot, CEO & Co-Founder Captain Train

Evaluate : Delivery

 be Agile - why

Fact #1 : Developers are bad
at estimating work

Fact #2 : Business Owners are bad at explaining what they want

Fact #3 : We do not speak
the same language

Agile - 101

Split the work into small, user oriented tasks (User Stories)

Define time boxed
(short) iterations

End each iteration with a demo 

Learn & improve

which status for my developer ?

Co-founder, Freelancer, employee, DYI ?

technical co-founder

technical co-founder

technical co-founder

Freelancer

FREELANCEr : do you have 10+K ?

Freelancer : Delivery

FREELANCEr : Quick results

FREELANCEr : EVOLVE or CHANGE

FREELANCEr : ONE AMONG MANY

employee

employee : do you have 60+K ?

EMPLOYEE : level

EMPLOYEE : AGAINST THE CORPORATION

EMPLOYEE : AGAINST THE CORPORATION

EMPLOYEE : AGAINST THE CORPORATION

EMPLOYEE : AGAINST THE CORPORATION

startups    vs    Corporations

Advantages

(-> to be proud of) 

Disadvantages

(-> to start to tackle) 

  • flat structure
  • lots of responsabilities
  • room for creativity
  • good package
  • trainings offered
  • budget for new investments
  • insecurity
  • lack of resources
  • bureaucracy
  • slow decision process

EMPLOYEE : use the drives

EMPLOYEE : one single bullet

Learn & DIY

Learn & diy : experiment

Learn & diy : understand

Learn & diy : build

Thank you

See you soon !

Entrepreneurs_3.0-Tame_the_tech(ie)s

By Le Wagon Brussels

Entrepreneurs_3.0-Tame_the_tech(ie)s

Get to know what are web and mobile apps and those who create them : the developers.

  • 3,683