CAREER HIGHLIGHTS : SOFTWARE ENGINEERING ALEX GIMENEZ BILINGUAL MANAGER, PLATFORM TOOLS TEAM NINTENDO OF AMERICA
Nov 15, 2014
CAREER HIGHLIGHTS :SOFTWARE ENGINEERING
ALEX GIMENEZ
BILINGUAL MANAGER, PLATFORM TOOLS TEAM
NINTENDO OF AMERICA
CONTENTS
• MOTIVATION FOR PRESENTATION
• WHAT DO YOU WANT TO BE WHEN YOU GROW UP?
• STORY OF MY CAREER
• OTHER CAREER CASE STUDIES
• WHAT IS CODE?
• TYPICAL WORK WEEK OF AN ENGINEER
• IT’S ALL ABOUT THE PEOPLE!
• CONCLUSION: MAKE A DIFFERENCE
MOTIVATION FOR PRESENTATION
• EXPOSE DAY-TO-DAY LIVE OF A SOFTWARE ENGINEER
• SHOW A FEW PATHS TO START INTO THIS BUSINESS
• SHOW THE IMPORTANCE OF HUMAN RELATIONSHIPS IN THIS PROFESSION
• SHOW WHERE BEING CHRISTIAN MAKES A DIFFERENCE
WHAT DO YOU WANT TO BE WHEN YOU GROW UP?
• ABOUT ALEX TODAY:
• BILINGUAL MANAGER, PLATFORM TOOLS TEAM
• WORKING FOR NINTENDO OF AMERICA
• MORE THAN 20 YEARS OF EXPERIENCE IN THE FIELD
• BORN INTO A CHRISTIAN HOME (INTRODUCED TO CHRISTIANITY AT AN EARLY AGE)
• ALEX, AT AGE 4
• WANTED TO WORK COLLECTING GARBAGE
• ALEX, AGE 14
• WANTED TO JOIN THE ARMY
• ALEX, AGE 15
• FELL IN LOVE WITH COMPUTERS. DROPPED OUT OF KARATE TO STAY IN THE LAB.
• KEY POINT:
• HAVE A PLAN.
• BUT WATCH FOR ACTIVITIES THAT STIR YOUR PASSION – COLOSSIANS 3:23
CAREER TURNING POINTS
• 1990: FINISHED TECHNICAL HIGH SCHOOL
• 1990: STARTED FIRST PROGRAMMING JOB – DATABASE PROGRAMMING
• 1992: STARTED UNIVERSITY (WHILE WORKING)
• 1996: STARTED MASTER’S DEGREE (STILL WORKING)
• 1998: MOVED TO U.S.A.. STARTED WORK WITH TELECOMMUNICATION (AS A CONTRACTOR)
• 2001: HIRED FULL TIME BY LUCENT TECHNOLOGIES (IPHONE VOICEMAIL STILL USES PROGRAMS I WROTE)
• 2003: HIRED BY MICROSOFT. STILL TELECOMMUNICATION WORK
• 2006: BACK TO SCHOOL: EMBEDDED SOFTWARE DEGREE AT U.W.
• 2006: WITHIN MICROSOFT: STARTED EMBEDDED SOFTWARE WORK
• 2011: THREE MONTHS SPENT IN JAPAN TO STUDY JAPANESE
• 2011: STARTED AT NINTENDO, AS A LEAD
• KEY POINT: PUT YOUR STRENGTH INTO LEARNING. IT PAYS OFF.
• PHILIPPIANS 4:13: STRENGTH COMES FROM GOD
OTHER CAREER CASE STUDIES• MANAGING YOUNGER ENGINEERS, I CAN OFTEN “SMELL” PROMISING UP-AND-COMERS;
• A FEW CASES HERE FOR REFERENCE:
• MR. A:
• GRADUATE FROM RENOWNED UNIVERSITY
• BIG FOOTBALL FAN
• LOTS OF ENERGY
• VERY GOOD AT EXPLAINING HIS IDEAS – A GREAT “PEOPLE PERSON”
• MR. B:
• GRADUATE FROM TECHNICAL COLLEGE
• DOES COMPUTER PROGRAMMING AS A HOBBY (I DID TOO – DROPPED KARATE!)
• VERY CAPABLE
• OVERCONFIDENT
• MS. C:
• GRADUATE FROM MAJOR UNIVERSITY
• VERY CAPABLE
• VERY HUMBLE
• POINTS IN COMMON: GOOD BALANCE OF NATURAL ABILITY & EFFORT;
• SOFTWARE ENGINEERS ARE A VERY DIVERSE CROWD!
• DIFFERENT PERSONALITIES ACTUALLY HELP TEAMWORK.
WHAT IS CODE?
• SOFTWARE (ALSO CALLED CODE) IS SIMILAR TO A LONG RECIPE
• EXCEPT WITH CONDITIONALS:
• E.G.: IF THE TOMATOES ARE RIPE, BAKE WITH OVEN SET TO 300F. OTHERWISE, BAKE WITH OVEN SET TO 350F.
• AND LOOPS
• E.G.: ADD ONE TEASPOON OF SUGAR AT A TIME, UNTIL IT TASTES GOOD
• CODE HAS TWO FACES:
• HUMAN FACE: WORDS AND NUMBERS. WE OFTEN SEE THAT IN MOVIES; TECHNICALLY, WE CALL THAT “SOURCE CODE”
• COMPUTER FACE: ONES AND ZEROES. THAT’S WHAT THE COMPUTER UNDERSTANDS. TECHNICALLY, WE CALL THAT “OBJECT CODE”, OR “EXECUTABLE CODE”.
• TRANSLATION IS CALLED “COMPILATION”Source
codecompilation
101100101101101
TYPICAL WORK WEEK OF SOFTWARE ENGINEER
• UNDERSTAND REQUIREMENTS
• TALK TO OTHERS, DIVIDE THE WORK SO YOU GRAB YOUR PIECE OF THE WORK
• ACT QUICK, SO YOU GET THE MOST INTERESTING PIECE!
• CREATE DESIGNS (“CREATE DREAMS”): EXPLAIN TO PEOPLE WHAT YOU WILL BUILD, HOW YOU WILL BUILD IT
• FIND YOUR TOOLS
• MAKE SOME TOOLS OF YOUR OWN
• WRITE CODE
• EXPLAIN WHAT YOU HAVE DONE
• DEAL WITH “BUGS”
A “BUG” ??
• THE WORD “BUG” HAS IS USED TO DESCRIBE ENGINEERING ERRORS
• IT WAS USED BEFORE COMPUTERS:
• THOMAS EDISON WROTE IN 1878 ABOUT THE ENGINEERING PROCESS (SUMMARY MINE):
1) AN IDEA COMES (INTUITION)
2) A BURST OF REWARDING HARD WORK
3) “BUGS” ARISE (DIFFICULTIES)
4) MORE HARD WORK IS NEEDED TO FIX THE BUGS
• IN 1947, A REAL “BUG” CREPT INTO A COMPUTER (HARVARD MARK II)
TYPICAL WORK WEEK OF SOFTWARE ENGINEER (CONT’D)
• EXPLAIN WHAT YOU HAVE DONE:
• EXPLAIN TO ENGINEERING TEAM MATES HOW TO USE YOUR SOFTWARE
• EXPLAIN TO TEST TEAM HOW TO USE YOUR SOFTWARE
• HELP THE CUSTOMER SUPPORT TEAM UNDERSTAND YOUR SOFTWARE
• DEAL WITH BUGS:
• FIND & FIX BUGS IN NEW CODE
• FIND & FIX BUGS IN OLD CODE (OFTEN CODE WRITTEN BY OTHERS)
• EXPLAIN YOUR FIXES TO MANY PEOPLE
IT’S ALL ABOUT THE PEOPLE!• AS AN ENGINEER, YOU TALK CONSTANTLY TO:
• YOUR BOSS
• YOUR TEAM MATES
• THE TESTER TEAM (THEY ARE YOUR INTERNAL CUSTOMERS)
• OTHER ENGINEERING TEAMS
• PROGRAM MANAGERS
• EXTERNAL CUSTOMERS
• POINT: YOUR ABILITY TO INTERACT WITH PEOPLE IS KEY
• LISTEN CAREFULLY TO OTHER’S INPUT
• EXPLAIN YOUR IDEAS CONCISELY
• DEFEND YOUR IDEAS WITHOUT ATTACKING PEOPLE
• BE KIND EVEN WHEN “YOU’RE RIGHT AND THEY ARE WRONG”
• TRY TO UNDERSTAND PEOPLE’S MOTIVATIONS AND REASONS
• ABOVE ALL: BE TRUTHFUL AND FORTHCOMING!
• LUKE 6:31: TREAT OTHERS AS YOU WOULD LIKE TO BE TREATED!
CONCLUSION: MAKE A DIFFERENCE• IT’S CRITICAL TO BE NICE
• IT’S NICE TO BE SMART
• BUT THERE’S A “SOMETHING ELSE” THAT MAKES YOU STAND OUT:
• MOTIVATE OTHERS TO DO THEIR BEST
• BE ALWAYS WILLING TO LEARN FROM OTHERS (PROVERBS 9:9 & 9:10)
• BE ALWAYS WILLING TO TEACH
• BE A TEAM PLAYER (WE ALL WIN WHEN THE TEAM WINS)
• BE GENUINELY HAPPY FOR OTHER’S SUCCESS
• DO YOUR WORK WITH GENUINE JOY
• THESE TRAITS ARE USEFUL EVERYWHERE – NOT JUST IN THE SOFTWARE BUSINESS
A FEW ADVANCED TERMS AND EXPRESIONS
• MAKE A DIFFERENCE: TO HAVE A EFFECT. TO DO SOMETHING IMPORTANT:
• PASSION: DESIRE TO DO SOMETHING OUT OF LOVE. NOT FOR MONEY. EXAMPLE: HUMANITARIAN DOCTORS.
• HUMBLE: PERSON WHO DOES NOT THINK TOO HIGHLY ABOUT HIM/HERSELF.
• OVERCONFIDENT: THE OPPOSITE OF HUMBLE
• REQUIREMENTS: IN SOFTWARE, IT MEANS A CONDITION THAT THE PRODUCT MUST SATISFY. EX.: IN A CALCULATOR PROGRAM, DOING ADDITION, SUBTRACTION, MULTIPLICATION AND DIVISION ARE REQUIREMENTS.
• BURST: AN EXPLOSION. IN THE PRESENTATION, A “BURST OF HARDWORK” MEANS: MANY DAYS IN A ROW, WORKING MANY HOURS EVERY DAY.
• GENUINELY: SINCERELY
BIBLE REFERENCES
• ABOUT PASSION FOR WORK: COLOSSIANS 3:23:
“WHATEVER YOU DO, WORK AT IT WITH ALL YOUR HEART, AS WORKING FOR THE LORD, NOT FOR HUMAN MASTERS”
• ABOUT USING YOUR STRENGTH FOR LEARNING: PHILIPPIANS 4:13
“I CAN DO ALL THIS THROUGH HIM WHO GIVES ME STRENGTH
• TREATING OTHERS AS YOU WOULD LIKE TO BE TREATED: LUKE 6:31:
“DO TO OTHERS AS YOU WOULD HAVE THEM DO TO YOU”
• ABOUT BEING NICE, EVEN TO PEOPLE WHO ARE NOT NICE TO YOU: MATTHEW 5:39:
“BUT I TELL YOU, DO NOT RESIST AN EVIL PERSON. IF ANYONE SLAPS YOU ON THE RIGHT CHEEK, TURN TO THEM THE OTHER CHEEK ALSO”
• ABOUT LEARNING: PROVERBS 9:9-10
“INSTRUCT THE WISE AND THEY WILL BE WISER STILL; TEACH THE RIGHTEOUS AND THEY WILL ADD TO THEIR LEARNING. THE FEAR OF THE LORD IS THE BEGINNING OF WISDOM, AND KNOWLEDGE OF THE HOLY ONE IS UNDERSTANDING”
CULTURAL REFERENCE
• YODA: THE WISE, OLD TEACHER IN THE “STAR WARS” MOVIES.
• LUKE SKYWALKER: YODA’S VERY POWERFUL PUPIL, THE MAIN HERO OF “STAR WARS”.
• IN THE PRESENTATION, ALEX SAID AS A JOKE “I SMELL A LUKE SKYWALKER HERE, ANOTHER ONE THERE”, REERRING TO HOW HE SEES TALENT IN YOUNG ENGINEERS (MR. A, MR. B, MS. C)