SlideShare uma empresa Scribd logo
1 de 57
Tips to succeed in software
   development career
  Being passionate programmer




                                  Edwin Cruz
                         edwin@crowdint.com
Passion vs Obsession
• People with harmonious passion have the
  ability to disconnect when work is over, easily
  transitioning into their lives outside of the
  office. Obsessive people don't have that ability
Look back to your career history, has it
         been remarkable?
Are you a programmer by
              coincidence?

• How did you get to your first job?
• Was it what you wanted?
• Did you succeed?
Did you fit into the business?
You can't help the business until you
         know how it works
The goal of every single business is to
  make money, it's not about love.
How can I understand the business?
What is the most common problem?
Just a programmer vs business driven
             developer
so….
If it is all about career plan, how can I
plan my own?
Choosing your market: Risk vs Reward
Plan your career, example
• Analyze technologies
  – Cutting edge
  – Stables or Conservatives
  – The ones in their sunset
Research current market
Invest on Learning!

• "don’t ask to be taught—go learn for
  yourself."
Finding a Mentor
• Asking is not a sign of weakness
• Follow Alpha Geeks
Being a Mentor
• Learn by teaching
• The only folkswho avoid being noobs are folks
  who never do anything new
Get into the social networking
             movement!


Get out of your room, don't be afraid
         to meet the pros!
The most important part: always
           practice
Why do I have to invest too much in
              practicing?
• You could be part of:
  – a lot of people that do the work
  – fast people that do the work
  – smart people that automate the work
Want to practice by challenges ?
•   www.topcoder.com
•   www.projecteuler.net
•   www.puzzlenode.com
•   www.rubykoans.com
•   www.codecademy.com
Want to practice by market?
• Go and solve recruiting challenges
Want to practice with real world wide
             problems?
• Go and fix bugs in open source projects
     •   Fork
     •   Learn
     •   Fix
     •   Pull request
     •   Have a beer
Practice your dusty skills, example,
  how often do you use regular
           expressions?
While practicing, respect
    methodologies!
If you can't do the process, you can't
            build products
Specializing does not mean not
 knowing about other things
Don’t reinvent the wheel, learn and
   implement Design Patterns
Be the worst!, but dont do it
       intentionally x)
Being ahead: Mind reader, is it really
             possible?
Track accomplishments, do your
   managers know about it?
You're not as special as you think
“I'll show them how valuable I am,
          they need me!”
How valuable is your time?
Quiz, Try to remember when you came
 up with the most ingenious, creative
        and impromptu solution
Being Honest, failing well: finding
errors early and often is a good sign of
     what the health of software
         development will be
The path destined to fail: Saying "Yes"
           to everything




                               You need to sleep!
Practice your communication skills, are
       your clients afraid of you?
What about "GrAmMaraNdspelLinG"?
Let the world know about you
• What would be better than a good resume
  when applying for a job?
Google never forgets!
Want to be the best programmer?
         Manage panic
Bored people quit
Don't focus in finishing your project,
 focus on doing well your project




           "don't finish your ideas, release them" - John Lasseter
Computing power doubles every
      eighteen months
What’s the future ?
Top ten developer qualities

1.- Loves To Code
Top then developer qualities

2.-Gets Things Done
Top then developer qualities

3.- Continuously Refactors Code
Top then developer qualities

4.- Uses Design Patterns
Top then developer qualities

5.- Writes Tests
Top then developer qualities

6.- Leverages Existing Code
Top then developer qualities

7.- Focuses on Usability
Top then developer qualities

8.- Writes Maintainable Code
Top then developer qualities

9.-Can Code in Any Language
Top then developer qualities

10.- Knows Basic Computer Science
Have fun, Software development is
               fun!
Thanks!
• Books you should have already read
    –   Passionate Programmer
    –   Clean Coder
    –   The Art of Agile Development
    –   Design Patterns
    –   Anti Patterns
    –   Any Management book

                                       Edwin Cruz edwin@crowdint.com
                                                       softr8@twitter
                                                               gmail
                                                              github
                                                         everywhere!

Mais conteúdo relacionado

Mais procurados (10)

The Software Developer
The Software DeveloperThe Software Developer
The Software Developer
 
Design in the wild
Design in the wildDesign in the wild
Design in the wild
 
CV Hack
CV HackCV Hack
CV Hack
 
Communicate better at work
Communicate better at workCommunicate better at work
Communicate better at work
 
Hackathon - Presentation at Kelltontech
Hackathon - Presentation at KelltontechHackathon - Presentation at Kelltontech
Hackathon - Presentation at Kelltontech
 
Sketching With Sketchflow - Overview of Prototyping
Sketching With Sketchflow - Overview of PrototypingSketching With Sketchflow - Overview of Prototyping
Sketching With Sketchflow - Overview of Prototyping
 
The Design Process
The Design ProcessThe Design Process
The Design Process
 
Prototype Your Startup
Prototype Your StartupPrototype Your Startup
Prototype Your Startup
 
Iterate quickly with a prototype you can test
Iterate quickly with a prototype you can testIterate quickly with a prototype you can test
Iterate quickly with a prototype you can test
 
The magic of loops, markets and moxie
The magic of loops, markets and moxieThe magic of loops, markets and moxie
The magic of loops, markets and moxie
 

Semelhante a MagmaRails - Passionate Programmer

Be a passionate Programmer!
Be a passionate Programmer!Be a passionate Programmer!
Be a passionate Programmer!Neo Chen
 
Becoming a Web Design Champion
Becoming a Web Design ChampionBecoming a Web Design Champion
Becoming a Web Design ChampionMeagan Fisher
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developerenteritos
 
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7Elisha Tan
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Trainingfaizrashid1995
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesMike Clement
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)MiniBar
 
Turning Passion Into Words
Turning Passion Into WordsTurning Passion Into Words
Turning Passion Into WordsBrian Hogan
 
"The Great Technical Swindle" by Laurent Cerveau
"The Great Technical Swindle" by Laurent Cerveau"The Great Technical Swindle" by Laurent Cerveau
"The Great Technical Swindle" by Laurent CerveauTheFamily
 
Presentation for JSPM's RSCOE
Presentation for JSPM's RSCOEPresentation for JSPM's RSCOE
Presentation for JSPM's RSCOERiteshMenon3
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a jobYung-Yu Chen
 
Applying Patterns to Mobile Design
Applying Patterns to Mobile DesignApplying Patterns to Mobile Design
Applying Patterns to Mobile DesignSteven Hoober
 
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Steven Hoober
 
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paperI-Chao Shen
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developersOusman L. Kallay
 
Project Management 101 - Wordcamp TO 05112011
Project Management 101 - Wordcamp TO 05112011Project Management 101 - Wordcamp TO 05112011
Project Management 101 - Wordcamp TO 05112011Liesl Barrell
 

Semelhante a MagmaRails - Passionate Programmer (20)

Be a passionate Programmer!
Be a passionate Programmer!Be a passionate Programmer!
Be a passionate Programmer!
 
Becoming a Web Design Champion
Becoming a Web Design ChampionBecoming a Web Design Champion
Becoming a Web Design Champion
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)
 
Turning Passion Into Words
Turning Passion Into WordsTurning Passion Into Words
Turning Passion Into Words
 
"The Great Technical Swindle" by Laurent Cerveau
"The Great Technical Swindle" by Laurent Cerveau"The Great Technical Swindle" by Laurent Cerveau
"The Great Technical Swindle" by Laurent Cerveau
 
Getting it Built
Getting it BuiltGetting it Built
Getting it Built
 
Presentation for JSPM's RSCOE
Presentation for JSPM's RSCOEPresentation for JSPM's RSCOE
Presentation for JSPM's RSCOE
 
Write code and find a job
Write code and find a jobWrite code and find a job
Write code and find a job
 
Traits of a Good Engineer
Traits of a Good EngineerTraits of a Good Engineer
Traits of a Good Engineer
 
Applying Patterns to Mobile Design
Applying Patterns to Mobile DesignApplying Patterns to Mobile Design
Applying Patterns to Mobile Design
 
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...
 
Ux4 indiedevs
Ux4 indiedevsUx4 indiedevs
Ux4 indiedevs
 
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
 
8 critical skills you need to be a successful gis professional
8 critical skills you need to be a successful gis professional8 critical skills you need to be a successful gis professional
8 critical skills you need to be a successful gis professional
 
Project Management 101 - Wordcamp TO 05112011
Project Management 101 - Wordcamp TO 05112011Project Management 101 - Wordcamp TO 05112011
Project Management 101 - Wordcamp TO 05112011
 

Mais de Edwin Cruz

Codigo Escalable WDT
Codigo Escalable WDTCodigo Escalable WDT
Codigo Escalable WDTEdwin Cruz
 
SGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platformsSGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platformsEdwin Cruz
 
Devops with ansible
Devops with ansibleDevops with ansible
Devops with ansibleEdwin Cruz
 
Containers in 5... 9 minutes
Containers in 5... 9 minutesContainers in 5... 9 minutes
Containers in 5... 9 minutesEdwin Cruz
 
Chilango Rails Ecommerce Lightning talk
Chilango Rails Ecommerce Lightning talkChilango Rails Ecommerce Lightning talk
Chilango Rails Ecommerce Lightning talkEdwin Cruz
 
Home made ceviche
Home made cevicheHome made ceviche
Home made cevicheEdwin Cruz
 
Api's and ember js
Api's and ember jsApi's and ember js
Api's and ember jsEdwin Cruz
 
FSL Vallarta, mejorando el rendimiento de las aplicaciones web
FSL Vallarta, mejorando el rendimiento de las aplicaciones webFSL Vallarta, mejorando el rendimiento de las aplicaciones web
FSL Vallarta, mejorando el rendimiento de las aplicaciones webEdwin Cruz
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador ApasionadoEdwin Cruz
 
Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionadoEdwin Cruz
 
Api development with rails
Api development with railsApi development with rails
Api development with railsEdwin Cruz
 
Migrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersMigrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersEdwin Cruz
 

Mais de Edwin Cruz (12)

Codigo Escalable WDT
Codigo Escalable WDTCodigo Escalable WDT
Codigo Escalable WDT
 
SGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platformsSGCE 2015 - eCommerce platforms
SGCE 2015 - eCommerce platforms
 
Devops with ansible
Devops with ansibleDevops with ansible
Devops with ansible
 
Containers in 5... 9 minutes
Containers in 5... 9 minutesContainers in 5... 9 minutes
Containers in 5... 9 minutes
 
Chilango Rails Ecommerce Lightning talk
Chilango Rails Ecommerce Lightning talkChilango Rails Ecommerce Lightning talk
Chilango Rails Ecommerce Lightning talk
 
Home made ceviche
Home made cevicheHome made ceviche
Home made ceviche
 
Api's and ember js
Api's and ember jsApi's and ember js
Api's and ember js
 
FSL Vallarta, mejorando el rendimiento de las aplicaciones web
FSL Vallarta, mejorando el rendimiento de las aplicaciones webFSL Vallarta, mejorando el rendimiento de las aplicaciones web
FSL Vallarta, mejorando el rendimiento de las aplicaciones web
 
Presentacion Programador Apasionado
Presentacion Programador ApasionadoPresentacion Programador Apasionado
Presentacion Programador Apasionado
 
Presentacion programador apasionado
Presentacion programador apasionadoPresentacion programador apasionado
Presentacion programador apasionado
 
Api development with rails
Api development with railsApi development with rails
Api development with rails
 
Migrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal ServersMigrando Rails Apps entre Cloud y Bare Metal Servers
Migrando Rails Apps entre Cloud y Bare Metal Servers
 

Último

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

MagmaRails - Passionate Programmer

Notas do Editor

  1. Look at 2 months back, 6 months back what do you have to show of?
  2. programming by coincidence is copy code, make little changes, test make more little changes and make it work without fully understand what's going on, sooner or later, you will have to do things by your own and you will fail.
  3. It depends, depends on you, on your career plan. You need to have a clear understanding in what you would like to be, senior engineer, manager, owner, etc. why ? Because everything you do will give you experience, don’t waste time learning things you wont use.
  4. All is business: our companies employ us just because they're going to make money with us, it's not about love, that's the goal, make money. So you need to figure out how to fit in business. but
  5. Talk with business people, ask them how they do their job and how technology helps them, do this regularly, subscribe to some business blogs, and try to gather a list of questions to ask them, all those questions would help you to understand how business are driven and will make you more unique!Medel Example
  6. You're following everyone else's plan, you need to follow your own plan!
  7. In my personal case, that’s why I love to be a consultant, there’s always new challenges to learn how the businesses work
  8. If you had money, where would you invest in? savings account, low reward and risk, startup? high reward but also high risk. Same happens on programming languages, you may want to learn most common technologies, you know that there's market for it, but you'll get an average salary. Java, Cobol, BeOS, Ruby
  9. Analyze all technologies, you may want to choose a cutting edge technology, but if it's attractive for someone else, it'd eventually get packed and the reward will go down, but, if you mastered your skills, you can still get high reward. You may want to take high risk learning some technology that is in its sunset, it's highly risky, but if you get a job, you can potentially get what you want, no one else knows it, and all the critical business apps are in your hands, but be flexible, move fast enough before all those systems are replaced.
  10. Go to job posting sites, and find out which skills are in high demand and low demand, then go and try to get offshore outsourcing companies and what they're offering, get the diff and focus on the ones that are in high demand domestically and little penetration offshore.
  11. are you waiting to someone else to have mercy of you ? Don't wait to be told, ask! There's a lot of developers around the world that would claim to do the same as you do, sometimes with much lower rates. Become unique! Remember, supply and demand rule.
  12. Asking is not a sign of weakness, all knowledge that we have nowadays has been inherited from our ancestors, they've been mentoring us, sharing their experiences, find a good mentor, ask him to help you to create a roadmap, based on his experience.Why? they're always using alpha versions, cutting edge technology and they can know how much a wave can last. Who dont know any alpha geek? I bet at least, you know one of them the guy who first installed XP when it came and there was no drivers for modems, the first guy that ripped movies, downloaded the newest game, etc, they're remarkable!
  13. If you really want to learn something, try teaching it to someone else. Someone else could have a question that you never imagined, so it pushes to the edge.
  14. you may not be an absolute expert in something, but be sure that your knowledge will help to someone else with less experience, example: go and visit local meetups and offer your help to less experienced users, subscribe to mailing lists, IRC, forums, etc. Eventually your name will appear in search results.MySQL list example, replicationYour fear is the one that is between the pros and know them! When going to conferences, go and pick tables randomly, present yourself, and start meeting people, RailsConf example
  15. Go to any music academic, listen at the quality, it does not generally sound good, and it's intended to be like that, if so, they're not pushing their limits. When those musicians go and perform profesionally, they're paid to perform, not to practice.
  16. Managers will have the same budget, it's up to you to part of any group, to be in the one with high rates and faster people, or low rates with a lot of people, imagine the reward on each type of developers, This is incredible easy, and powerful, simple things like installing a small program to resize windows will save you time, shortcuts to open everything needed, startup scripts, shell aliases, commit hooks scripts, when doing a release, it'd be nice to generate automatically the report and send it via email, this would save you tons of time!Startup example, they’re coming with a lot of money and short time
  17. they're powerful and underutilized, because lack of practice.
  18. Most of the times, the word methodology is synonym of paperwork, but that's not true. while practicing, you may break the cycle imposed by managers in terms of methodologies, they tend to apply the methodologies that they learnt (sometimes decades ago). what if your employee does not have nay process and you take the ownership, you will rock! PELDA˜NOS
  19. Blake Mizerany gave a good talk about polyglot, choose the best technology based on needs, not in love.
  20. Design patterns is the art to document reusable solutions to common software development problems. Go and find open source projects and see how specific pattern was implemented by others. when you have new problems to be solved, you might remember "oh wait, I saw this implementation in this cool open source project"
  21. Be the worst meaning always playing with people that are better than you, this will push you to the edges! Example, how many of you have played solo Unreal Tournament, Age of Empires, halo, etc! and you feel that you are good at it? then you went to play online just to discover that you're nothing! you can't even respawn.
  22. Listen carefully, take notes, imagine what your boss is going to ask you after every meeting, email thread, report, etc, what if you discovered a performance issue looking at the response time when finance is running a monthly report? you know that sooner or later, finance team will contact your boss about it, and your boss will ask you have a look, what if the answer of this  is: "Oh yes, I noticed it last week, and I've already placed an improvement" instead of "Mhm, financewhat? ok, I'll set some meetings and see where the problem could be" meaning that you dont have any clue about it.Be careful, being ahead is tricky! remember that you're being paid to do your job, but what if you do job nobody asked you to do, what if you were wrong? move small, 
  23. If you dont track anything you're doing, you don't have anything to justify your work, you should always be asking yourself: how can I increase the visibility of my work? they might know that you're good, what if they promote you to do the job they dont want to do ? or even worse, work that you hate! make this transparency happen, if they know you well, they will promote to positions that fit you. Look back and see how valuable you have become: if you have tracked all your accomplishments, you can probe the business how valuable you are, and you can get what you deserve, what do I need to do to get as twice as my current salary in 1,2, 5 years?
  24. good and bad programmers are always going to quit their jobs, and the business will continue no matter what, don't try to probe anything
  25. Do you remember when you were students, you worked as trainee, earning few pesos, but you were able to go out almost daily, eat, go to the movies, etc ? and right now, it's much harder to do it?? that's because you used to treat your money more valuable and now that you ear more, it's not that valuable, it happens the same when programming, you need to treat your time as it were the most precious thing in the world, you need to sleep well, have fun and code, so, focus in your 8 hours schedule!
  26. I bet it was when a server was down, when the network failed, hard drive died and you needed to restore a backup from a weird format, etc. you got the work done fast and well done, it’s because the time was high value!
  27. raise errors as soon as you notice them, dont try to hide, problems need solutions, avoid using git blame! be the ones that find errors, report them quickly and offer a solution.
  28. we as programmers always feel that saying that we can't do something we fail, but that's the quickest path to loose our commitment and trust ability. Keep sanity, you need to sleep!
  29. dont speak in cryptic language that they dont understand, you may make them feel stupid with your sarcastic moments, check old emails sent to non technical people and look how technically you wrote
  30. You're working in a word wide environment, you need to communicate with coworkers/clients across the world, learn how to write well, because you need to improve your communication skills!. Have a look at some job posts, and see how many of them have this requirement (communication skills), or good verbal and writing skills. You are what you can explain!
  31. Show your brand, create a blog and post what you've been learning, show them the code you're been releasing as open source, they may be using the same technology that you contributed, this demonstrates skills in real projects, you're not saying that you heard about it, tell them your username in forums, your email in some mailing lists. But:
  32. Google your name, and see what it says about you. Write smart, think in the future
  33. Dont panic: what does best players share in common? they dont panic, they're always relaxed and know their context, panicking gives us inability to perform at our best at time we really need to perform at our best.
  34. if you're a manager, ask to your employees if they're bored, if you're an employee, tell them that you're getting bored, whenever they ask what would you like to do next, tell them! I want to become senior engineer, I want to found my own company.
  35. Focusing on finishing the project leads to forget good processes, and bad processes lead to bad software.
  36. what are you going to do? everything is in waves, you're either in front, above, or behind. book some regularly time to read blog posts, news, try new technology, do small prototypes and get familiar, your boss someday could come from a conference saying: "look! we're going to change everything to this cutting edge technology!"
  37. Engineers who love to code derive pleasure from building software in much the same way a composer might feel ecstatic about finishing a symphony. It is that feeling of excitement and accomplishment that makes rockstar engineers love to code
  38. Smart people know that the best way to solve problems is go straight at them, Instead of spending weeks designing complex, unnecessary infrastructure and libraries, a good engineer should ask: What is the simplest path to solving the problem at hand?
  39. The original idea behind refactoring was to improve code without changing what it does, this avoids legacy code that no one wants to touch
  40. Patterns are recurrent scenarios and mechanisms that live across languages and systems. Applying a pattern ensures correctness since it leverages existing know-how: a method for solving a particular engineering problem that has worked before.
  41. The goal is to create a working system, how can you be certain that your code is actually working if you never test it? Good engineers will always write a test once a bug has been exposed to make sure it does not come back again. But a good engineer also knows not to waste time writing trivial or redundant tests
  42. Aprovecha! Reinventing the wheel has always been one of the biggest problems in the software industry. Correct leveraging of existing infrastructure allows rockstar engineers to focus on what is most essential - the application itself.
  43. Good engineers work hard to make the system simple and usable. They think about customers all the time and do not try to invent convoluted stuff that can only be understood and appreciated by geeks.
  44. The other secret of good engineers is that it takes the same amount of time to write good code as it does to write bad code. A disciplined engineer thinks about the maintainability and evolution of the code from its first line. There is never any reason to write ugly code, a method that spawns multiple pages, or code with cryptic variable names. Rockstars write code which follows naming conventions, code which is compact, simple and not overly clever
  45. A good engineer might have a favorite programming language but is never religious about it . A good engineer knows that and is willing and able to learn new languages, new libraries and new ways of building systems.
  46. How can you build large scale software without knowing what a hashtable is? Or the difference between a linked list and an array? And the algorithms are just as important - from binary search to different sorts to graph traversals
  47. How fun is your work ? when we have more fun, we do better job: bored tasks are not challenging at all, but we need to do them, so ask yourself, why is the boring work boring? what's the difference between the work you love and hate? a simple technique to make it challenging is to pursuit perfectness in those tasks, let's say that you hate unit tests, and you need to automate some test coverage for the most critical flow, what if you pursuit for 100% of coverage? isn't that challenging? you've made a bored task in a challenging one