Presentation is loading. Please wait.

Presentation is loading. Please wait.

10 Things I Wish I Learned In College Or just before I had to learn the hard way I didn’t know them.

Similar presentations


Presentation on theme: "10 Things I Wish I Learned In College Or just before I had to learn the hard way I didn’t know them."— Presentation transcript:

1 10 Things I Wish I Learned In College Or just before I had to learn the hard way I didn’t know them.

2 Wayne Odom  Software Development Project Lead at Turner Industries Group, L.L.C.  Graduated From LSU in 2002 in Computer Science  Have Interviewed More Software Developers and DBAs Than Can Be Remembered Alt Titles2 |

3 Alternative Titles….  10 Things Any IT Pro Should Know  10 Things I Wish I Learned Before That Embarrassing Interview  10 Ways to Be Professionally Prepared  10 Things Wayne Thinks Are Important 2 Cents3 |

4 Just My 2 Cents  Could be wrong about a lot of it.  Seems to work out so far.  I do realize colleges don’t seem to care about getting a job. All about learning.  I would like to see a variation of this talk as a college course. 10 Things Summary4 |

5 My 10 Things Very Quickly  Communication Skills  Resume Writing, Interviewing  Regional Significant Topics  You Must Research Constantly  Basic Coding Without Crutches  Project Management  Design First  Design Patterns  Testing  Security Communication Skills5 |

6 1. Communication Skills Vocal Communication6 |

7 Vocal Communication  Speaking in a Meeting  Non-Tech Speaking  Abstraction of Implementation Details Ways To Gain Experience7 |

8 Ways To Gain Experience  Your University Public Speaking Course  LSU Continuing Education Public Speaking  Baton Rouge Toastmasters  Volunteer To Speak At User Groups  If at all possible get the experience outside of a class. Much more valuable. Email Communication8 |

9 Email Communication  Do not talk like you text. No emoticons or acronyms. LOL ;-)  Email helps you document change requests.  Email helps you clarify and be clear in requirements.  Email will CYA  Email Re-Forward Gets Slow Movers Reacting  Get Everything From Project Managers in Email. (Drive By Requirements Drop) 2. Resume Writing, Interview, Negotiation9 |

10 2. Resume Writing, Interviewing Universities Purpose Isn’t to Get a Job10 |

11 Universities Purpose Isn’t To Get a Job  We just learn sciences.  Most of us go to work when we’re done.  Why not offer to teach it? Resume Writing

12  Tailor the resume to the job description. Do not submit the same resume to every job.  If your experience is short don’t fill it in to make it longer. Don’t include Chili’s  School projects if experience short.  Top half of page one is most important.  Research the people interviewing you.(Linkedin, Facebook) Interview12 |

13 Interviews  Most stay clueless about this for years after school.  Developers are on average so bad at interviewing it’s hard to qualify their abilities. Interview Tips

14  Shirt, tie and slacks with no cargo pants. Preferably a suit.  Bring copies of your resume.(especially if you go through a recruiter)  If you usually get a haircut get a haircut.  Be early.  Follow up.  Don’t expect a response immediately.(ever) People Brush Up Before Interviews14 |

15 Don’t Just Barely Brush Up Before Interviews  Q: So have you used MVC any?  A: No, but I’ve read about it.  Q: Oh ok, where’d you read about it?  A: Well I noticed it on a bunch of job notices including yours.  Q: Did you try it out?  A: No, but I’m willing to learn.  *awkward embarrassing moment.* - KNOW IT Every day is an Interview15 |

16 Everyday is Potentially an Interview Regionally Significant Topic16 |

17 Interviewer Pipe Dream  I wish we created a program to allow students to sit in on interviews of actual professionals.(never going to happen)  If you intern it doesn’t hurt to ask if you can be involved in interviewing. Turner Interview Process17 |

18 Turner Interview Process Rocks  All of our developers interview candidates.  I’d never interviewed someone.  Makes you a better developer because you get used to the process and can better articulate what you can do when you have to interview. Regional Significance18 |

19 3. Regionally Significant Topics  I wish colleges taught you to look at regions you want to live in. Where do you want to live?  Job fits your life not your life fitting your job.  We don’t go to school to get a job but it should be explored in university.  For sake of this talk we care about Baton Rouge which does have a developer community. Where to get regional info.19 |

20 Where To Get Regional Information  Careerbuilder, Monster, GlassDoor.com, Linkedin  If it’s in Baton Rouge look at big local company websites. Turner, Shaw, BCBSLA, Enta, Amedisys, The State of Louisiana. What are they hiring for?  If Sparkhound and other IT specific companies are hiring for a skill then you’d do good to know a little something about it. Networking20 |

21 Just a Little Networking Goes A Long Way  Networking at.NET user groups, SQL Saturday.  Learn local names in your industry.  Ex. People speaking at this event.  Learn a few big names in your industry  Ex. Microsoft Community: Scott Guthre, Scott Hanselman, Juval Lowey Research Constantly21 |

22 4. You Must Research Constantly  You must stay up to date in software development if you want to advance professionally. Stay in Touch22 |

23 Ways to Stay in Touch  Magazines – Visual Studio Magazine, Redmond Channel Partner, Microsoft Certified Professional Magazine, Code Magazine  Conferences like TechEd, VSLive. (Videos)  Get on User Group Mailing Lists  Blog Subscriptions  Free Email Newsletters  Aggregators like reddit, slashdot,  Facebook Likes, Twitter Following What are Companies Hiring For?23 |

24 What are Companies Hiring For?  If non-IT and IT companies are hiring for it then it’s important. Learn more about it.  If bloggers, conferences and companies are talking about it then watch it. Make Time24 |

25 Make Time  You have to set aside time for staying in touch.  Monday Morning For 30 Minutes – What’s New 6. Basic Coding Without Floaties25 |

26 6. Basic Coding Without Following:  Drag and Drop  Copy / Paste  Inellisense  The Internet  Any language will typically do. C# Class We Use On Candidates26 |

27 What Percentage Of Devs Can’t Do This?  public class PersonClass  {  public PersonClass(string firstName, string lastName)  {  this.FirstName = firstName;  this.LastName = lastName;  }  public string FirstName { get; set; }  public string LastName { get; set; }  public string FullName {  get {  return this.FirstName + ", " + this.LastName;  } SQL Join27 |

28 Or This? SELECT A.[ID], B.[Job] FROM [FirstLongNameTableOMGITSSOLONG] A join [SecondLongNameTableOMGWraparound] B on A.[ID] = B.[ForeignID] where B.[Job] is not null Project Management. Put The To Sleep.28 |

29 7. Basic Knowledge of Project Management  No matter where you go there are project managers. Cockroaches.  The first thing that happens as a developer is people want you to estimate.  To me this is one of the most important of the 10. Communication Management29 |

30 PMI Style Project Management  Read Chapter 2 & 3 of Rita’s guide 2 Cents30 |

31 Project Initiation Group  Project Charter – Statement of scope, objectives and participants.  Stakeholder Matrix  A Stakeholder Management Plan Change Management Plan31 |

32 Project Planning Group  Where you determine if a project can be done.  Project Management Plan – How will I scope, schedule and cost this?  Determine Team  Create Work Breakdown Structure  Estimate Resources  Schedule  Budget  Determine Roles  Plan Communication  Plan Change Management Strategy  Risk Management - Need to identify, evaluate, reduce, insure and prepare contingency for risks. Risk changes the plan. Go back when you identify them.(iterative) 8. Design First32 |

33 Execution Group  Produce the Scope According to the Plan  Follow the processes  Communication Management Strategy  Change Management Strategy  Hold Meetings or daily standups(Scrum style)  If you are a project lead processes allow you to do your job without feeling like a pest. 2 Cents33 |

34 Did I Mention Use a Change Management Plan?  Scope Creep, Gold Plating  Prevent Desk Drops by PM & Managers. They will creep their own projects and blame development later.  Gold plating includes small things like using a jquery auto load dropdown instead of a text box. Risk Management34 |

35 2 Cents35 |

36 Monitoring and Controlling Group  Measure Project Performance  Approve or Reject Changes  Gain Acceptance For Deliverables  Risk Audit 2 Cents36 |

37 Closing Group  Confirm all work is done.  Gain Formal Acceptance  Confirm all documentation is done.  Hand off Product or Maintenance Mode 2 Cents37 |

38 8. Design First Concepts For Design First38 |

39 Developers Like To Jump In  Would you build a building or bridge without blueprints? Tools For Design First39 |

40 Prototype in to Production  Prototypes are necessary  Developers fall in to a trap of creating prototypes that magically become production code.  These are simulations to identify basic requirements. Think of it as a closed box that can’t be modified 9. Patterns40 |

41 blah…. 2 Cents41 |

42 9. Patterns  Design Patterns - general reusable solution to a commonly occurring problem.  Architectural Patterns – Standard design practice. Broader than design patterns Why teach patterns?42 |

43 Why Teach Patterns in School?  A common language for building that developers can all relate to.  Can be a whole series of talks on it’s own.  Would be great series of classes over four year degree.  Build a simple layered application then replace the layers to test the coupling.(Learn Pain of Failure) Design Patterns

44  Book: Design Patterns – Elements of Reusable Object-Oriented Software  Book: Agile Software Development, Principles, Patterns and Practices(Martin, SOLID)  Book: Professional ASP.NET Design Patterns SOLID: Single Responsibility Principle44 |

45 Single Responsibility Principle Architectural Patterns45 |

46 Architectural Tools & Patterns Currently Popular  MVC / MVVM / MVP – Separation of Concerns  Service Bus & Service Oriented Architecture – Communication between applications  Data Warehousing (Data Mart), ETL – Extract, Transform, Load Testing46 |

47 10. Testing Types of testing….what’d you do in college?47 |

48 Common Types of Software Testing  Unit Testing – (usually as far as it goes)  User Acceptance Testing  Alpha, Beta (Production)  We can do better testing? Testing Frameworks & Departments48 |

49 Testing Frameworks & Departments  Test Driven Development – Test First  Behavior Driven Development  Quality Assurance Group 2 Cents49 |

50 10. Worry About Identity From The First  I think all projects should require authentication against a 3 rd party.  When I was in school we learned zero on this. Why Learn This50 |

51 Why: All Systems Want an ID  I have yet to work on anything that didn’t involve:  Active Directory  SQL Server  Citrix & Portal Type Implementations  OpenID – Fast easy way to share information with websites.  With modern devices a distributed identity is always required to my knowledge. 2 Cents51 |

52 blah…. 2 Cents52 |

53 blah…. 2 Cents53 |

54 Thank You!  wayne@wayneodom.com wayne@wayneodom.com  http://www.linkedin.com/in/jerryodom http://www.linkedin.com/in/jerryodom 2 Cents54 |


Download ppt "10 Things I Wish I Learned In College Or just before I had to learn the hard way I didn’t know them."

Similar presentations


Ads by Google