Tips to succeed in software development career
Being passionate programmer
Edwin Cruz
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
Look back to your career history, has it been remarkable?
Are you a programmer by coincidence?
• How did you get to your first job?
• Was it what you wanted?
• Did you succeed?
Did you fit into the business?
You can't help the business until you know how it works
The goal of every single business is to make money, it's not about love.
Just a programmer vs business driven developer
How can I understand the business
What is the most common problem?
so….If it is all about career plan, how can I plan my own?
Choosing your market: Risk vs Reward
Plan your career, example
• Analyze technologies
– Cutting edge
– Stables or Conservatives
– The ones in their sunset
Research current market
Invest on Learning!
• "don’t ask to be taught—go learn for yourself."
Finding a Mentor
• Asking is not a sign of weakness
• Follow Alpha Geeks
Being a Mentor
• Learn by teaching
• The only folkswho avoid being noobs are folks who never do anything new
Get into the social networking movement!
Get out of your room, don't be afraid to meet the pros!
The most important part: always practice
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
Practice your dusty skills, example, how often do you use regular
expressions?
Want to practice by challenges ?
• www.topcoder.com
• www.projecteuler.net
• www.puzzlenode.com
Want to practice by market?
• Go and solve recruiting challenges
Want to practice with real world wide problems?
• Go and fix bugs in open source projects• Fork
• Learn
• Fix
• Pull request
• Have a beer
While practicing, respect methodologies!
If you can't do the process, you can't build products
Specializing does not mean not knowing about other things
Don’t reinvent the wheel, learn and implement Design Patterns
Be the worst!, but dont do it intentionally x)
Being ahead: Mind reader, is it really possible?
Track accomplishments, do your managers know about it?
You're not as special as you think“I'll show them how valuable I am,
they need me!”
How valuable is your time?
Quiz, Try to remember when you came up with the most ingenious, creative
and impromptu solution
Being Honest, failing well: finding errors early and often is a good sign of
what the health of software development will be
The path destined to fail: Saying "Yes" to everything
You need to sleep!
Practice your communication skills, are your clients afraid of you?
What about "GrAmMaraNdspelLinG"?
Let the world know about you
• What would be better than a good resume when applying for a job?
Google never forgets!
Want to be the best programmer? Manage panic
Bored people quit
Don't focus in finishing your project, focus on doing well your project
"don't finish your ideas, release them" - John Lasseter
Computing power doubles every eighteen months
Top ten developer qualities
1.- Loves To Code
Top then developer qualities
2.-Gets Things Done
Top then developer qualities
3.- Continuously Refactors Code
Top then developer qualities
4.- Uses Design Patterns
Top then developer qualities
5.- Writes Tests
Top then developer qualities
6.- Leverages Existing Code
Top then developer qualities
7.- Focuses on Usability
Top then developer qualities
8.- Writes Maintainable Code
Top then developer qualities
9.-Can Code in Any Language
Top then developer qualities
10.- Knows Basic Computer Science
Have fun, Software development is fun!
Thanks!
Edwin Cruz [email protected]@twitter
gmailgithub
everywhere!
• Passionate Programmer
• Clean Coder
• The Art of Agile Development
• Design Patterns
• Anti Patterns
• Management
Top Related