Date post: | 26-Dec-2015 |
Category: |
Documents |
Upload: | eleanor-sanders |
View: | 221 times |
Download: | 0 times |
10 Things I Wish I Learned In College
Or just before I had to learn the hard way I didn’t know them.
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 |
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 |
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 |
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 |
1. Communication Skills
Vocal Communication6 |
Vocal Communication
Speaking in a Meeting Non-Tech Speaking
Abstraction of Implementation Details
Ways To Gain Experience7 |
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 |
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 |
2. Resume Writing, Interviewing
Universities Purpose Isn’t to Get a Job10 |
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
Resume Writing
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 |
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
Interview Tips
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 |
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 |
Everyday is Potentially an Interview
Regionally Significant Topic16 |
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 |
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 |
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 |
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 |
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 |
4. You Must Research Constantly
You must stay up to date in software development if you want to advance professionally.
Stay in Touch22 |
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 |
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 |
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 |
6. Basic Coding Without Following:
Drag and Drop Copy / Paste Inellisense The Internet Any language will typically do.
C# Class We Use On Candidates26 |
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 |
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 |
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 |
PMI Style Project Management
Read Chapter 2 & 3 of Rita’s guide
2 Cents30 |
Project Initiation Group
Project Charter – Statement of scope, objectives and participants.
Stakeholder Matrix A Stakeholder Management Plan
Change Management Plan31 |
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 |
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 |
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 |
2 Cents35 |
Monitoring and Controlling Group
Measure Project Performance Approve or Reject Changes Gain Acceptance For Deliverables Risk Audit
2 Cents36 |
Closing Group
Confirm all work is done. Gain Formal Acceptance Confirm all documentation is done. Hand off Product or Maintenance Mode
2 Cents37 |
8. Design First
Concepts For Design First38 |
Developers Like To Jump In
Would you build a building or bridge without blueprints?
Tools For Design First39 |
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 |
blah….
2 Cents41 |
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 |
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
Design Patterns
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 |
Single Responsibility Principle
Architectural Patterns45 |
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 |
10. Testing
Types of testing….what’d you do in college?47 |
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 |
Testing Frameworks & Departments
Test Driven Development – Test First Behavior Driven Development Quality Assurance Group
2 Cents49 |
10. Worry About Identity From The First
I think all projects should require authentication against a 3rd party.
When I was in school we learned zero on this.
Why Learn This50 |
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 |
blah….
2 Cents52 |
blah….
2 Cents53 |