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