[email protected] 02/08/2008 slide 1 industry forum industry forum sean landis overstock.com

36
[email protected] 02/08/2008 Slide 1 Industry Forum Industry Forum Sean Landis Overstock.com

Post on 21-Dec-2015

223 views

Category:

Documents


5 download

TRANSCRIPT

[email protected]

02/08/2008 Slide 1

Industry ForumIndustry Forum

Sean LandisOverstock.com

[email protected]

02/08/2008 Slide 2

About the PresenterAbout the Presenter

Director of Software Development Previously Architect 20 years of experience Product development, IT, and Research Bachelors, Computer Science, U of Utah Masters of Engineering, CS, Cornell

[email protected]

02/08/2008 Slide 3

AgendaAgenda

About Overstock.com False Expectations? Basic Skills of Software Development Pursuing Excellence Traps and Pitfalls Q & A

[email protected]

02/08/2008 Slide 4

About Overstock.comAbout Overstock.com

[email protected]

02/08/2008 Slide 5

www.overstock.comwww.overstock.com

[email protected]

02/08/2008 Slide 6

Interesting Overstock.com Interesting Overstock.com FactsFacts

One of the top 7 US e-tailers 4th best customer service in US 2 years running,

according to the National Retail Federation Best performing mass market web site

according to Gomez About $800 Million in annual sales 22 Million registered customers Actual peak load of ~2000 requests/second Web site comprised of about 500 systems Catalog: 25% Overstock, 75% partners (~1000)

[email protected]

02/08/2008 Slide 7

Web Site Physical Web Site Physical ArchitectureArchitecture

[email protected]

02/08/2008 Slide 8

Web Site TechnologiesWeb Site Technologies Java 5/6 – No Java EE Jamon templating language Hibernate ORM Oracle 10g 10 node Real Application

Cluster RESTful Web Services Oracle Coherence Distributed Cache Mercado Search Engine cluster Many others…

[email protected]

02/08/2008 Slide 9

Other TechnologiesOther Technologies

JavaEE, JBoss, JSF, SEAM Java Message Service (JMS) SQL, JDBC Ant, Maven 2, SVN, Eclipse All sorts of 3rd party integrations

[email protected]

02/08/2008 Slide 10

False Expectations?False Expectations?

[email protected]

02/08/2008 Slide 11

Cool Technologies?Cool Technologies?

Dreams of working with the cool stuff Graphics, gaming, grid computing, etc.

Good luck! There’s always a catch Few “cool” jobs Low pay thanks to high demand Required experience and qualifications Not always as cool as advertised

Be flexible – fun jobs are everywhere

[email protected]

02/08/2008 Slide 12

Ready to Develop?Ready to Develop?

Many companies don’t think so You may start in support, QA, or

operations If developing, expect a short leash Earning credibility takes time Internships and employment pay

dividends

[email protected]

02/08/2008 Slide 13

Will Advanced Degrees Will Advanced Degrees Help?Help?

Bachelors No big deal unless from a top university

Masters Valued by industry Sufficient to differentiate

PhD is great for academia & research…

…but only if it is relevant Diminishing returns for industry

[email protected]

02/08/2008 Slide 14

School vs. BusinessSchool vs. Business

School is competition: win/lose Business is collaboration: win/win

Requires you to shift perspective

Senior project is great, but artificial The ‘team’ controls everything In business, you control much less Many more constraints in business

[email protected]

02/08/2008 Slide 15

Basic Skills of Software Basic Skills of Software DevelopmentDevelopment

What you need to succeed

[email protected]

02/08/2008 Slide 16

ProfessionalismProfessionalism

The business comes first Understand the business &

processes Don't be afraid to ask

questions, pair program, etc. Have the courage to take the

time to do things right, and the judgment to know when to stop

[email protected]

02/08/2008 Slide 17

Key BehaviorsKey Behaviors

• Honesty• Integrity• Pride• Communicatio

n• Collaboration• Curiosity• Adaptability

• Energy• Judgment• Learnership• Leadership• Empathy• Objectiveness

[email protected]

02/08/2008 Slide 18

DesignDesign Design is about balancing forces

Meeting current needs vs. future needs Generality, esthetics, flexibility vs. deadlines Performance, scalability, etc. vs. complexity

Learn how to find the ‘sweet spot’ Learn to use refactoring tools KISS – Keep It Simple, Stupid DRY – Don’t Repeat Yourself YAGNI – You Aren’t Gonna Need It

[email protected]

02/08/2008 Slide 19

CodingCoding

Commit early and often Avoid loss of work Allow others to be up to date

Unit testing & Test Driven Development Finds problems early (thus cheaply) Helps you craft usable and reliable

solutions

[email protected]

02/08/2008 Slide 20

Projects and TeamsProjects and Teams

Communication is most important Collaboration next important

Not us and them, but It’s all us Must be willing to help and ask for

help Understanding and fulfilling roles Shared responsibility and

accountability

[email protected]

02/08/2008 Slide 21

Pursuing ExcellencePursuing Excellence

Reaching the top 5%

[email protected]

02/08/2008 Slide 22

The Mythical 5%The Mythical 5%

Bruce Eckel claimed in his commencement address at Neumont University:

“5% of programmers are 20x more productive than the other 95%”

The reality behind this claim is:

A small number of programmers are much more productive than the rest

How do you get into the “5%?”

[email protected]

02/08/2008 Slide 23

Foster Key BehaviorsFoster Key Behaviors

Be passionate about your profession Develop strong communication skills Foster a realistic “Can Do” attitude Become a great collaborator Learn to see the “Big Picture”

Identify the stakeholders Understand the business impact of

decisions

[email protected]

02/08/2008 Slide 24

Continuous LearningContinuous Learning

Read, read, read Keep up to date with the latest trends Follow language evolution Use a variety of operating systems Attend relevant conferences Identify and study the leaders in your

field Develop journeyman technical skills

[email protected]

02/08/2008 Slide 25

Technical LeadershipTechnical Leadership

Experiment with new technologies Learn a new technology and teach it Continually challenge yourself, do not

be complacent Mentor others once you’ve got

something to share Take on responsibility and be

accountable

[email protected]

02/08/2008 Slide 26

Traps & PitfallsTraps & Pitfalls

…and how to avoid them

[email protected]

02/08/2008 Slide 27

The Job Hunt TrapThe Job Hunt Trap

A common theme in 1000s of resumes The first few jobs don’t work out

The wrong evaluation criteria Too much emphasis on:

The money The technology The hardware

[email protected]

02/08/2008 Slide 28

Job Hunt: Use a Holistic Job Hunt: Use a Holistic ApproachApproach

Who will you work with? Are they smarter than you? Are the employees happy or tired, committed or

ambivalent, stressed or relaxed, etc? How are you cared for during the interview? Will you enjoy the work environment? Does the development process make sense? How are decisions made? What are the work hour expectations? Are the verbal commitments written into your offer?

[email protected]

02/08/2008 Slide 29

The Ownership TrapThe Ownership Trap

Don’t take too much ownership in your work

Excessive ownership can lead to: Defensiveness Inability to accept criticism Resentment Fear Destructive team dynamics Low productivity for you and your team

[email protected]

02/08/2008 Slide 30

Ownership: Let It GoOwnership: Let It Go

Your work belongs to your employer This attitude allows you to:

Take pride in your work Be more objective, thus making better

decisions Be detached enough to accept criticism Do what is right for the company Foster better teamwork Be more productive

[email protected]

02/08/2008 Slide 31

Working Harder, Not Smarter Working Harder, Not Smarter TrapTrap

Easy to find yourself doing 50 – 60 hr. weeks

Some companies, especially startups, foster this behavior

Leads to: High stress, unhappy employees Destructive behaviors Burn out, poor retention Poor quality and low productivity

[email protected]

02/08/2008 Slide 32

Work Smart: 40 hour Work Smart: 40 hour WeeksWeeks

Studies have revealed: Higher productivity and quality Happier, more loyal employees Stronger, more sustainable teams

But expect: Occasional pushes To catch yourself working more than you

should

[email protected]

02/08/2008 Slide 33

Snake Oil TrapSnake Oil Trap Misinformation is rampant in our industry

Marketeers sell hard to you and your managers Marketing disguised as information

Examples: TheServerSide.com and TechTarget.com Marketing disguised as technical conferences

Developers generate hype (those 95%-ers) Think the ‘next big thing’ will solve their

problems Most bloggers and ‘experts’ aren’t experts Important technology issues aren’t discussed

[email protected]

02/08/2008 Slide 34

Technological Due Technological Due DiligenceDiligence

Read – but don’t just believe Perform the needful amount of effort to

determine the capacity for producing a desired result within your context Even hyped technologies have strengths Find them and be sure they match your

needs

[email protected]

02/08/2008 Slide 35

SummarySummary

Set realistic expectations Develop the basic skills Continuously pursue excellence Understand and avoid the traps and

pitfalls

[email protected]

02/08/2008 Slide 36

Q & AQ & A