How do we find success and fulfillment as software developers? We learn to code, we learn to use code as a tool to solve difficult problems, we get better at both coding and problem-solving, and then... what's next?
Beyond technical growth, how do you find fulfillment in your work? If you've ever struggled to picture what your career could look like in 5 years, this talk is for you. Discover how learning continuously, teaching others, caring for yourself, and asking the right questions can get you where you want to go (even if you aren't sure where that is yet). This talk will explore what comes after code: digging into new challenges, expanding perspective, and turning fears into pathways for growth.
This talk was delivered at:
NDC London 2017
2. WHO AM I?
Hi! I’m Erika
(I’m @eacarlson, too.)
I’m a software developer.
I work at Detroit Labs in Detroit,
Michigan.
I train and coach software developers.
7. 1. BEGIN WITH THE END
‣ Build your career around 2 questions:
‣ Where are you going?
‣ How are you getting there?
‣ Ask yourself the following questions every 6-12 months:
‣ What do I want my career to support?
‣ What are my tangible & intangible career goals?
‣ What obstacles are preventing me from reaching my
goals?
‣ What am I doing to work toward my goals?
@eacarlson
8. 2. LEARN TO LEARN
‣ Learning is one of the most essential pieces of being a
developer
‣ Learning is a skill in and of itself
‣ Components of effective learning:
‣ Ask good questions
‣ Identify appropriate resources
‣ Recognize & apply general principles
‣ Filter out noise
@eacarlson
9. 2. LEARN TO LEARN
‣ Rapid, effective learning is a key business &
interpersonal skill as well as a technical skill
‣ Know your learning style
‣ Opportunities for learning:
‣ Group: Conferences, classes, workshops,
meetups, user groups
‣ Solo: Mentoring, coaching
‣ Self: Books, tutorials, projects
@eacarlson
10. 3. LEARN TO TEACH
‣ Levels of Knowledge
‣ Understanding
‣ Applying
‣ Teaching
‣ Components of effective teaching:
‣ Seek feedback & make real-time adjustments
‣ Offer constant opportunities for practice
‣ Allow students to fail
@eacarlson
11. 3. LEARN TO TEACH
‣ Benefits of teaching:
‣ Deepen knowledge of teaching topics
‣ Learn to build rapport with a room
‣ Practice breaking down complex concepts
‣ Develop communication skills
‣ Learn to give & receive effective feedback
‣ Practice public speaking
@eacarlson
12. 4. JOIN A COMMUNITY
‣ The software community is an incredible source of
learning, growth, and professional & personal support
‣ Tap into your local community at events, and more
broadly through Slack, Twitter, and other networks
‣ Professional contacts are among your most valuable
career resources
‣ Emphasize quality over quantity & giving over getting
‣ If you don’t have a community, create one!
@eacarlson
13. 5. KNOW THE BUSINESS
‣ Most of us are writing code to make money, whether
for ourselves and/or someone else
‣ If you’re working for a client, learn everything you can
about their business model
‣ If you’re working on a product, learn that product
inside out, upside down and backwards
‣ Business knowledge facilitates communication with
stakeholders, and builds trust by allowing you to make
educated recommendations about the product
@eacarlson
14. 6. ENGAGE IN GROWTH WORK
‣ Growth work means intentional growth, over and beyond
learning through daily experience
‣ Examples of growth work include:
‣ Setting & working toward professional goals
‣ Developing new skills
‣ Asking others for feedback
‣ Actively working to identify & overcome weaknesses
‣ Working with a mentor or professional coach
@eacarlson
15. 7. GIVE & RECEIVE FEEDBACK
‣ Feedback is one of the most effective ways to improve
individual and team performance
‣ Positive feedback helps you recognize and cultivate your
strengths
‣ Constructive feedback is invaluable in helping you
determine where you need to improve and grow
‣ Seek feedback from a mix of colleagues
‣ Giving and receiving feedback are both valuable skills
worth developing
@eacarlson
16. 7. GIVE & RECEIVE FEEDBACK
‣ 5 quick strategies for doing feedback better:
‣ Accept positive feedback graciously; don’t deny or minimize;
simply say “thank you”
‣ Accept constructive feedback without arguing, pushing back,
or getting emotional; simply say “thank you for the feedback”
‣ Allow yourself to “sit” with constructive feedback until you
feel less emotional about it; then decide if and how to act
‣ When giving feedback, be specific, thoughtful, and direct;
ask before giving unsolicited feedback
‣ Always assume positive intent
@eacarlson
17. 8. BUILD AN ESCAPE HATCH
‣ The ability to build your career hinges on the ability to
leave situations that are toxic, damaging, or causing
your growth to stagnate
‣ Develop career security by:
‣ Building your professional network
‣ Keeping your skills current through continuous
learning
‣ Making your work visible and searchable
@eacarlson
18. 9. CARE FOR YOURSELF
‣ Caring for your body, mind, and heart are essential to
healthy career growth
‣ Software development is physically sedentary and has
the potential to be psychologically stressful
‣ The ability to “work from anywhere” can be a
significant perk, but it leaves software developers
prone to overworking
‣ Even if you do everything else right, poor physical or
mental health can destroy your career
@eacarlson
19. 9. CARE FOR YOURSELF
‣ Take a “self-care inventory”:
‣ Am I physically healthy enough to participate in the activities and
relationships I want to?
‣ Am I emotionally healthy enough to enjoy the activities and
relationships I want to?
‣ Am I suffering from any illnesses that are or could be stress-
related?
‣ Does my work contribute more positively or more negatively to
my physical and emotional health?
‣ Are physical or mental health challenges interfering with my
ability to do my job to the best of my ability?
@eacarlson
21. 10. LOVE YOUR DRAGONS
‣ Fears represent your greatest opportunities for growth
‣ Your fears are not an irrevocable part of who you are
‣ Take a “fear inventory”:
‣ What am I afraid of?
‣ What’s the underlying fear?
‣ What steps could I take to overcome this fear?
‣ What could I gain by moving beyond this fear?
@eacarlson