SlideShare a Scribd company logo
1 of 25
Stuff I wish someone told me
about being an engineer
Jeffrey Walter
Senior Computer Scientist
Adobe
Titles are b******t.
• Do not hang your identity on your title
• They mean a lot to some people
Process Matters
• Don’t be a cowboy
• Find a process that works for you
• Follow that process
Ask for help
• No one expects you to know all the things
Google is the best
They’re gonna find me out!
• Imposter syndrome never goes away
• It does get better. I promise.
You are not hot s***
• The all knowing neck-beard is not amused
• You can be that neck-beard
Making mistakes is not a requirement
• Pair programming
• Code reviews
• Open source
It’s easy, right? All you have to do is…
• NO!
• What is the problem are you trying to solve?
Problem solving
• Syntax is gravy
• Whiteboard, pseudo-code, rubber duck, toy
problems
Constantly self evaluate
• Stuck in a rut
PRIORITY ALPHA 1!!!!
• Not everything can be priority 1
• Keep a task list
Technical debt
• Never prioritized
• Do it anyway
Past you is an idiot.
• Ten minutes ago you is an idiot
• 1 month ago you is a crazy person
Sacred cows are tasty
• Rip it out!
Estimation sucks. You suck.
• Dunning-Kruger effect
• Better stories == better estimation
Passion
• Lies!
The Hard Stuff
• Follow Sandi Metz’s rules
• Test all the things
• DO NOT USE EXCEPTIONS FOR FLOW CONTROL
• Learn how to debug
CS fundamentals
• Write a linked list
• Write a binary search
• Memory structures
• Pass by reference vs pass by value
• Garbage collection
• SQL
• Write a recursive tree traversal
Programming Patterns
• DRY
• Bike Shedding
• SOLID
• Dependency Injection
• Map/reduce
• Memoization
• Null object
• Functional Programming
Architectural Patterns
• SOA
• Microservices
• Load balancing
• High Availability
• Pub/Sub/Observer
Stuff you think you know already
• Interviewing sucks
• The little stuff matters
• Stupid people exist
• Peter principal
• Office Space
• It’s ok to work for Innotech
Don’t be an asshole
• Tag, you’re it!
• Misogyny/Racism/*ism is real
Thanks!
• Lehi Developers User Group
• Email: jwalter@adobe.com
• Twitter: @jwalter748
• Slack: LDUG.slack.com

More Related Content

What's hot

Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
JenRobbins
 
Five selfish reasons to work reproducibly
Five selfish reasons to work reproduciblyFive selfish reasons to work reproducibly
Five selfish reasons to work reproducibly
Florian Markowetz
 

What's hot (20)

Talking to people lightning
Talking to people lightningTalking to people lightning
Talking to people lightning
 
Filthy people
Filthy peopleFilthy people
Filthy people
 
Swfln key note
Swfln key noteSwfln key note
Swfln key note
 
What are the kinds of questions I need to prepare for if I am having an inter...
What are the kinds of questions I need to prepare for if I am having an inter...What are the kinds of questions I need to prepare for if I am having an inter...
What are the kinds of questions I need to prepare for if I am having an inter...
 
Cutting Edge Without Bleeding
Cutting Edge Without BleedingCutting Edge Without Bleeding
Cutting Edge Without Bleeding
 
Becoming a SharePoint Chef: A Non-Culinary Calling
Becoming a SharePoint Chef: A Non-Culinary CallingBecoming a SharePoint Chef: A Non-Culinary Calling
Becoming a SharePoint Chef: A Non-Culinary Calling
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
 
The True Power of Tester is INFORMATION
The True Power of Tester is INFORMATIONThe True Power of Tester is INFORMATION
The True Power of Tester is INFORMATION
 
Diversity != stock photos: Are you looking for candidates in all the wrong pl...
Diversity != stock photos: Are you looking for candidates in all the wrong pl...Diversity != stock photos: Are you looking for candidates in all the wrong pl...
Diversity != stock photos: Are you looking for candidates in all the wrong pl...
 
Making your personal projects happen - Oxford Geek Nights #32
Making your personal projects happen - Oxford Geek Nights #32Making your personal projects happen - Oxford Geek Nights #32
Making your personal projects happen - Oxford Geek Nights #32
 
WSC Kickoff
WSC KickoffWSC Kickoff
WSC Kickoff
 
How Flow Can Help You Become a Developer
How Flow Can Help You Become a DeveloperHow Flow Can Help You Become a Developer
How Flow Can Help You Become a Developer
 
Building a Product, from a User Researcher Point of View
Building a Product, from a User Researcher Point of ViewBuilding a Product, from a User Researcher Point of View
Building a Product, from a User Researcher Point of View
 
Improve performance of developer - Khodak
Improve performance of developer  - KhodakImprove performance of developer  - Khodak
Improve performance of developer - Khodak
 
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
 
Hackathon Survival Guide
Hackathon Survival GuideHackathon Survival Guide
Hackathon Survival Guide
 
You suck at_remote_working
You suck at_remote_workingYou suck at_remote_working
You suck at_remote_working
 
Five selfish reasons to work reproducibly
Five selfish reasons to work reproduciblyFive selfish reasons to work reproducibly
Five selfish reasons to work reproducibly
 
Easy & Effective Usability Testing at CodeMash 2012
Easy & Effective Usability Testing at CodeMash 2012Easy & Effective Usability Testing at CodeMash 2012
Easy & Effective Usability Testing at CodeMash 2012
 
Negotiations for Product Owners
Negotiations for Product OwnersNegotiations for Product Owners
Negotiations for Product Owners
 

Similar to Stuff I wish someone told me about being an engineer

Bootstrapping a-devops-matter
Bootstrapping a-devops-matterBootstrapping a-devops-matter
Bootstrapping a-devops-matter
Skills Matter
 
Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...
Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...
Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...
Spark Summit
 

Similar to Stuff I wish someone told me about being an engineer (20)

How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
 
Software Development Whats & Whys
Software Development Whats & Whys Software Development Whats & Whys
Software Development Whats & Whys
 
Growth meetup-q4-2014
Growth meetup-q4-2014Growth meetup-q4-2014
Growth meetup-q4-2014
 
Android Developer Skills, Techniques, and Patterns
Android Developer Skills, Techniques, and PatternsAndroid Developer Skills, Techniques, and Patterns
Android Developer Skills, Techniques, and Patterns
 
Becoming a Web Design Champion
Becoming a Web Design ChampionBecoming a Web Design Champion
Becoming a Web Design Champion
 
Django BarCamp SF 2014: Technical Interviews for Beginners
Django BarCamp SF 2014: Technical Interviews for BeginnersDjango BarCamp SF 2014: Technical Interviews for Beginners
Django BarCamp SF 2014: Technical Interviews for Beginners
 
Pellissippi State AITP Meeting November 2014
Pellissippi State AITP Meeting November 2014Pellissippi State AITP Meeting November 2014
Pellissippi State AITP Meeting November 2014
 
Selling UX
Selling UXSelling UX
Selling UX
 
Essential programmer library
Essential programmer libraryEssential programmer library
Essential programmer library
 
Intro to game design
Intro to game designIntro to game design
Intro to game design
 
Write a better FM
Write a better FMWrite a better FM
Write a better FM
 
Time management
Time managementTime management
Time management
 
Modern Web Concepts
Modern Web ConceptsModern Web Concepts
Modern Web Concepts
 
Embracing OSS in the enterprise
Embracing OSS in the enterpriseEmbracing OSS in the enterprise
Embracing OSS in the enterprise
 
[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
 
Coding For Fun And Profit
Coding For Fun And ProfitCoding For Fun And Profit
Coding For Fun And Profit
 
Developers, developers, developers, developers...
Developers, developers, developers, developers...Developers, developers, developers, developers...
Developers, developers, developers, developers...
 
Bootstrapping a-devops-matter
Bootstrapping a-devops-matterBootstrapping a-devops-matter
Bootstrapping a-devops-matter
 
Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...
Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...
Global Empire-Building for Fun and Profit: Spark Summit East talk by Michelle...
 
Ava Technology
Ava TechnologyAva Technology
Ava Technology
 

Recently uploaded

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 

Stuff I wish someone told me about being an engineer

Editor's Notes

  1. In no particular order And a whole bunch of em
  2. Like fightclub, you are not your job Be aware that titles
  3. Everyone hates cowboy coders Use the process at work, look for ways of doing things. Scrum, GTD, kanban, tdd, etc It’s when you break your process that you find you encounter problems
  4. Don’t wait 2 months into a project to ask for help.The longer you wait, the less likely you’ll ask for help until it’s too late.
  5. Everyone looks stuff up. The most surprising thing to new engineers is how much I look up things on stackoverflow I ALWAYS have the ruby api open.
  6. it’s one of those things every engineer (unless you are a psychopath) always thinks. Serioulsy, it does. You get confidence. But try not so sweat it. People understand where you are at. And in most cases, people will be impressed by your abilities, not dissappointed On the flip side
  7. Fear the neckbeard Just wait. It’s fun
  8. There is a common trope that you have to make mistakes in programming to really learn something. Not true. There are a lot of resources for you to build knowledge without making the same mistakes I did
  9. Remember these words. Despise these words. Product manages love these words. Your job is to say NO!. In some form or other This is your response You are the programmer…you know best how to solve a problem.
  10. 1. I don’t care how much syntax you know. (See earlier slide about google) 2. Hone these skills to learn how to solve problems
  11. 1. I spent a long time in my career doing what I hate, because I didn’t review myself. Career/skills/process Read blogs, learn new things. Talk to people
  12. The world is not gonna end. I promise Seriously. If this is priorty 1, what about the 27 other priority 1 tasks? Counter this by keeping a prioritized task list. When someone tells you to do something. Say “Sure, just tell me where it falls in this list of priorities” If your jobs uses JIRA/Pivotal. Great. Add your tasks. If you can’t account for all the things you do, at review, your boss is gonna ask “What did you do?”
  13. So you want to refactor the distribution engine? You want to move your HAML to ERB? No product owner is going to prioritize your technical debt Do it anway
  14. Click Click That feeling you get when you review your old code never goes away. Head scratching and face palms never stop. Don’t sweat it.
  15. 1. Be willing to rip out all your old code. Honestly evaluate your systems and decisions
  16. No one ikes to estimate work. It helps if you have a process. Small stories, well defined features, MVP. The large the feature/story, the worse you are at estimating. You WILL under estimate effort. What you think will take a month, will take 3. Really, with better stories. You don’t estimate. If your stories are small, estimation becomes a non-issue. It gets done when it’s done
  17. Passion for your job horseshit. I have passion for my family. For life.. You don’t need to be passionate about that billing system api that you are working on to be a good programmer Programming does not have to be your passion. I like programming. I will occasionally do it for fun. But I have a diverse life, with lots of hobbies, friends and family. Don’t let people tell you have to be passionate to be good. Find what enjoyment you can with your job, and if you love programming, GREAT! But it does not have to be your life.
  18. These are the concepts I use “every” day. Learn them well.
  19. If you write a function more that 1 page long, I will hunt you down. If your entire controller is more that one page, I will hunt you down TDD, BDD, whatever. Every public method should be tested. Through an integration test or a unit test. Try not to overlap tests, but coverage is your friend Think of the coder that has to come after you. If you put domain logic in the rescue clause that isn’t cleanup, I hate you. Pry/gdb. Set put statements. Find the state of your system. Just staring at your code won’t fix it. Investigate your state
  20. Learn these CS fundamentals
  21. Learn these CS fundamentals
  22. Learn these CS fundamentals
  23. It’s worse. So give yourself an edge. Network, meetups, friends, opensouce, Font kerning. The fact that your label is 4 pixels higher than your select. SQUASH BUGS! Don’t be surpised at the horrible decisions made by stupid people and even smart people People are promoted just above their competance Totally real. Is an accurate representation of the world Sometimes a job is a job. And you can learn a lot without the pressure of a startup
  24. Every group has an asshole. Look around your team. If you don’t see the asshole…you’re it. For the guys. It’s hard enough being new. Women and minorities are not promoted/valued. Stop it. Don’t contribute to an environment of evil. Actively stop it.
  25. Slack invite