El documento habla sobre los programadores y la programación. Explica que los programadores son considerados superhéroes y genios aunque a menudo se sienten incomprendidos. También discute sobre la demanda de programadores y las habilidades necesarias, e insta a los lectores a aprender nuevas tecnologías como inteligencia artificial, aprendizaje automático y blockchain. Finalmente, agradece a los asistentes por escuchar la presentación.
5. !5
“Los grandes programares son las estrellas del rock de hoy”
Willian Adams, The Black Eyed Peas
“Los programares del mañana son los magos del futuro”
Gabe Newell, VALVE
“Es lo más parecido a tener super poderes”
Drew Houston, Dropbox
19. !19
Solo el 3% de los graduados
tiene las habilidades técnicas
20. !20
En el mundo hay una demanda mucho mayor
de ingenieros y de gente que sepa programar
de la que jamas se podrá satisfacer.
Así que todos nosotros
vivimos una vida de ensueño.
24. !24
“No tienes que ser un genio para poder programar.
Necesitas determinación”
Vanessa Hurst, Girl Developer It
“Sumar, restar, eso es todo”
Bill Gates, Microsoft
“Probablemente deberías saber las tablas de multiplicar”
Tony Hsieh, Zappos
29. !29
struct User {
var id: Int
var name: String
var isAdmin: Bool
}
class ListUserViewController: UIViewController {
var nameAdminsUsers: [String] = []
var users: [User] = []
override func viewDidLoad() {
super.viewDidLoad()
users = [
User(id: 1, name: "René", isAdmin: true),
User(id: 2, name: "Erick", isAdmin: false),
User(id: 3, name: "Antonio", isAdmin: false),
User(id: 4, name: "Roxana", isAdmin: true)
]
getNameAdminsUsers()
print(nameAdminsUsers)
}
func getNameAdminsUsers() {
var adminUsers = [User]()
for user in users {
if user.isAdmin {
adminUsers.append(user)
}
adminUsers.sort { (user1, user2) -> Bool in
return user.id < user2.id
}
for admin in adminUsers {
nameAdminsUsers.append(admin.name)
}
}
}
}
// [“René”, “Roxana"]
Imperativo
Orientado a instrucciones
Define “cómo” se realiza un proceso para
alcanzar un resultado.
30. !30
Declarativo
Orientado a expresiones
“Di qué quieres, pero no cómo lo quieres”
struct User {
var id: Int
var name: String
var isAdmin: Bool
}
class ListUserViewController: UIViewController {
var nameAdminsUsers: [String] = []
var users: [User] = []
override func viewDidLoad() {
super.viewDidLoad()
users = [
User(id: 1, name: "René", isAdmin: true),
User(id: 2, name: "Erick", isAdmin: false),
User(id: 3, name: "Antonio", isAdmin: false),
User(id: 4, name: "Roxana", isAdmin: true)
]
print(getNameAdminsUsers(users: users))
}
func getNameAdminsUsers(users: [User]) -> [String]
{
return users.filter{$0.isAdmin}
.sorted{$0.id < $1.id}
.map{$0.name}
}
}
// [“René”, “Roxana”]
31. !31
struct User {
var id: Int
var name: String
var isAdmin: Bool
}
class ListUserViewController: UIViewController {
var nameAdminsUsers: [String] = []
var users: [User] = []
override func viewDidLoad() {
super.viewDidLoad()
users = [
User(id: 1, name: "René", isAdmin: true),
User(id: 2, name: "Erick", isAdmin: false),
User(id: 3, name: "Antonio", isAdmin: false),
User(id: 4, name: "Roxana", isAdmin: true)
]
getNameAdminsUsers()
print(nameAdminsUsers)
}
func getNameAdminsUsers() {
var adminUsers = [User]()
for user in users {
if user.isAdmin {
adminUsers.append(user)
}
adminUsers.sort { (user1, user2) -> Bool in
return user.id < user2.id
}
for admin in adminUsers {
nameAdminsUsers.append(admin.name)
}
}
}
}
// [“René”, “Roxana"]
struct User {
var id: Int
var name: String
var isAdmin: Bool
}
class ListUserViewController: UIViewController {
var nameAdminsUsers: [String] = []
var users: [User] = []
override func viewDidLoad() {
super.viewDidLoad()
users = [
User(id: 1, name: "René", isAdmin: true),
User(id: 2, name: "Erick", isAdmin: false),
User(id: 3, name: "Antonio", isAdmin: false),
User(id: 4, name: "Roxana", isAdmin: true)
]
print(getNameAdminsUsers(users: users))
}
func getNameAdminsUsers(users: [User]) -> [String]
{
return users.filter{$0.isAdmin}
.sorted{$0.id < $1.id}
.map{$0.name}
}
}
// [“René”, “Roxana”]
32. Consejos
➜ Equipos de trabajo
➜ Participa en Hackatones
➜ Participa activamente en foros y comunidades
➜ Pull request
➜ Participa en proyectos que te apasione
➜ No todo es por dinero
➜ Siempre ejecuta proyectos personales
!32