magmarails - passionate programmer

57
Tips to succeed in software development career Being passionate programmer Edwin Cruz [email protected]

Upload: edwin-cruz

Post on 12-Jul-2015

316 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: MagmaRails - Passionate Programmer

Tips to succeed in software development career

Being passionate programmer

Edwin Cruz

[email protected]

Page 2: MagmaRails - Passionate Programmer

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

Page 3: MagmaRails - Passionate Programmer

Look back to your career history, has it been remarkable?

Page 4: MagmaRails - Passionate Programmer

Are you a programmer by coincidence?

• How did you get to your first job?

• Was it what you wanted?

• Did you succeed?

Page 5: MagmaRails - Passionate Programmer

Did you fit into the business?

Page 6: MagmaRails - Passionate Programmer

You can't help the business until you know how it works

Page 7: MagmaRails - Passionate Programmer

The goal of every single business is to make money, it's not about love.

Page 8: MagmaRails - Passionate Programmer

How can I understand the business?

Page 9: MagmaRails - Passionate Programmer

What is the most common problem?

Page 10: MagmaRails - Passionate Programmer

Just a programmer vs business driven developer

Page 11: MagmaRails - Passionate Programmer

so….If it is all about career plan, how can I plan my own?

Page 12: MagmaRails - Passionate Programmer

Choosing your market: Risk vs Reward

Page 13: MagmaRails - Passionate Programmer

Plan your career, example

• Analyze technologies

– Cutting edge

– Stables or Conservatives

– The ones in their sunset

Page 14: MagmaRails - Passionate Programmer

Research current market

Page 15: MagmaRails - Passionate Programmer

Invest on Learning!

• "don’t ask to be taught—go learn for yourself."

Page 16: MagmaRails - Passionate Programmer

Finding a Mentor

• Asking is not a sign of weakness

• Follow Alpha Geeks

Page 17: MagmaRails - Passionate Programmer

Being a Mentor

• Learn by teaching

• The only folkswho avoid being noobs are folks who never do anything new

Page 18: MagmaRails - Passionate Programmer

Get into the social networking movement!

Get out of your room, don't be afraid to meet the pros!

Page 19: MagmaRails - Passionate Programmer

The most important part: always practice

Page 20: MagmaRails - Passionate Programmer

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

Page 21: MagmaRails - Passionate Programmer

Want to practice by challenges ?

• www.topcoder.com

• www.projecteuler.net

• www.puzzlenode.com

• www.rubykoans.com

• www.codecademy.com

Page 22: MagmaRails - Passionate Programmer

Want to practice by market?

• Go and solve recruiting challenges

Page 23: MagmaRails - Passionate Programmer

Want to practice with real world wide problems?

• Go and fix bugs in open source projects• Fork

• Learn

• Fix

• Pull request

• Have a beer

Page 24: MagmaRails - Passionate Programmer

Practice your dusty skills, example, how often do you use regular

expressions?

Page 25: MagmaRails - Passionate Programmer

While practicing, respect methodologies!

Page 26: MagmaRails - Passionate Programmer

If you can't do the process, you can't build products

Page 27: MagmaRails - Passionate Programmer

Specializing does not mean not knowing about other things

Page 28: MagmaRails - Passionate Programmer

Don’t reinvent the wheel, learn and implement Design Patterns

Page 29: MagmaRails - Passionate Programmer

Be the worst!, but dont do it intentionally x)

Page 30: MagmaRails - Passionate Programmer

Being ahead: Mind reader, is it really possible?

Page 31: MagmaRails - Passionate Programmer

Track accomplishments, do your managers know about it?

Page 32: MagmaRails - Passionate Programmer

You're not as special as you think“I'll show them how valuable I am,

they need me!”

Page 33: MagmaRails - Passionate Programmer

How valuable is your time?

Page 34: MagmaRails - Passionate Programmer

Quiz, Try to remember when you came up with the most ingenious, creative

and impromptu solution

Page 35: MagmaRails - Passionate Programmer

Being Honest, failing well: finding errors early and often is a good sign of

what the health of software development will be

Page 36: MagmaRails - Passionate Programmer

The path destined to fail: Saying "Yes" to everything

You need to sleep!

Page 37: MagmaRails - Passionate Programmer

Practice your communication skills, are your clients afraid of you?

Page 38: MagmaRails - Passionate Programmer

What about "GrAmMaraNdspelLinG"?

Page 39: MagmaRails - Passionate Programmer

Let the world know about you

• What would be better than a good resume when applying for a job?

Page 40: MagmaRails - Passionate Programmer

Google never forgets!

Page 41: MagmaRails - Passionate Programmer

Want to be the best programmer? Manage panic

Page 42: MagmaRails - Passionate Programmer

Bored people quit

Page 43: MagmaRails - Passionate Programmer

Don't focus in finishing your project, focus on doing well your project

"don't finish your ideas, release them" - John Lasseter

Page 44: MagmaRails - Passionate Programmer

Computing power doubles every eighteen months

Page 45: MagmaRails - Passionate Programmer

What’s the future ?

Page 46: MagmaRails - Passionate Programmer

Top ten developer qualities

1.- Loves To Code

Page 47: MagmaRails - Passionate Programmer

Top then developer qualities

2.-Gets Things Done

Page 48: MagmaRails - Passionate Programmer

Top then developer qualities

3.- Continuously Refactors Code

Page 49: MagmaRails - Passionate Programmer

Top then developer qualities

4.- Uses Design Patterns

Page 50: MagmaRails - Passionate Programmer

Top then developer qualities

5.- Writes Tests

Page 51: MagmaRails - Passionate Programmer

Top then developer qualities

6.- Leverages Existing Code

Page 52: MagmaRails - Passionate Programmer

Top then developer qualities

7.- Focuses on Usability

Page 53: MagmaRails - Passionate Programmer

Top then developer qualities

8.- Writes Maintainable Code

Page 54: MagmaRails - Passionate Programmer

Top then developer qualities

9.-Can Code in Any Language

Page 55: MagmaRails - Passionate Programmer

Top then developer qualities

10.- Knows Basic Computer Science

Page 56: MagmaRails - Passionate Programmer

Have fun, Software development is fun!

Page 57: MagmaRails - Passionate Programmer

Thanks!

Edwin Cruz [email protected]@twitter

gmailgithub

everywhere!

• Books you should have already read– Passionate Programmer

– Clean Coder

– The Art of Agile Development

– Design Patterns

– Anti Patterns

– Any Management book