>> Hello, everyone and welcome back to the platypus theater at PyCon. I hope you had
a roaring time during the lunch break. We have Brianna Laugher who is talking about "So You’re
a Software Developer, Now What? Exploring Career Growth". She is a test lead of a team
of 10 and a previous software engineer at planet Innovation. She is a pytest enthusiast. She helped
and organized pyladies Melbourne. Take it away. >> Ah!
"So You’re a Software Developer, Now What? Exploring Career Growth".
Hi, everyone. I am Brianna. Thanks for tuning in. Ge I have a Google Doc with links and resources.
If you are part of the PyCon audience head there and I will put the link in the chat.
Have you ever had a meeting with our manager where you felt like this?
Where you know things are going OK at the moment but you have no idea what to say about the future?
Maybe where you want to be promoted but you are not sure what it involves
or maybe thinking about your career makes you feel lost.
Programming is fine but doesn't thrill you that much.
Sometimes it such a struggle to get into this industry, to find a job that we like,
that we forget to think about what happens after that first step.
I want to give you lots of ideas for how to think about and talk about where your career can go
so this time next year you have a more fulfilling career.
I have been working as a software developer for a few years. I feel lucky I have had the chance to
work in Python for most of those years. This is my sixth presentation at PyCon Australia.
I have worked in small business, government as a contractor and I have been at planet Innovation
for the last five years which is a design company for medical devices and IOT. It is basically an
engineering consulting environment. Five years ago when I started at Planet Innovation,
I had these same questions and doubts. OK. I think I am a decent programmer. What's next?
Or should or could be next? I know that that can be a scary conversation to have with your boss.
And now, working as a manager, I am on the other side of the table. One of the things
I most want to know is what can I do that will help you feel motivated and fulfilled at work?
If people in my team come to me with ideas and questions about their future
it is just about my favorite thing in the world.
In this section, I want to talk about career growth rather than progression.
Getting a promotion or more senior title is definitely part of the story but there
are other parts as well. I want to talk about a concept called product market fit
and how you can apply this idea to thinking about your career. A big part of that is figuring out
what interests or suits you and I will share a couple strategies to help figure that out.
I am going to focus on the company where you are flight. -- right now.
One is you have great Intel and access to it. You know the teams, the tech,
the people, and the office politics. Two, you are a trusted and known quantity.
It is a lot easier to make a leap or left turn under those conditions. We can apply this process
to a hypothetical new employee or the industry at large but it will require a bit more work.
If you are in a toxic or dysfunctional workplace than this doesn't apply.
It is really worth trying to improve conditions
from the bottom up and your best bet is self-preservation by finding a new job.
Before we get into it, I want to get some misconceptions out of the way.
So we are thinking about our career with the right frame of mind, it is super easy to talk ourselves
out of doing career planning. It is extra work and it might involve some difficult conversations.
Give me a chance to convince you that it is worth doing. I have used these emojis
to clarify the helpful and unhelpful framing. If you like, you can think of them as the Drake meme.
First up, my career growth is my boss' responsibility.
Nope. Your boss can obviously influence your career, help, hender but they can only help
if you set the direction. -- hinder. My friend Javier described this as when you have a job
you have two jobs. One is the obligation you have to the company and the work they
ask you to do and the other is the obligation for yourself for your personal fulfillment or career.
Chris Cent says I write my own development plan. I learned quickly if it was left to
someone else it wouldn't happen or it wouldn't be relevant. On occasion, I can get my company's plan
and my own to overlap. That's the sweet spot. That's the definition of fulfilling work.
Second up is the idea that careers are for ambitious people.
Now maybe you think I don't need to talk about my career. I am not planning to be the next
Steve Jobs. I don't want to work 80-hour weeks. I just want to do my work, take a nice paycheck,
live my life. If that's you then good on you. I fully respect not centering your life around work.
But I just want to ask is there any chance that you are opting out of these conversations because
they make you feel uncomfortable because these are not easy conversations. If you admit to yourself,
and your boss that you want something else, you are making yourself vulnerable. You are
inviting scrutiny and opening up the possibility that they will say no, you are not good enough.
That is really scary. But if you do like working in tech thinking and talking
about your career will ensure it is something that can hold your interest for three, four,
five decades. If we are here for the long haul it is worth making sure it is actually fulfilling.
So let's talk about the idea of product market fit
and how we can apply it to thinking about our career.
Product market fit is an idea from startups where a company interviews earlier customers
and try to make sure they are making a product that addresses a real need that people will use
and need. Business founders have brilliant ideas but they don't always translate into brilliantly
successful products. This is about exploring so when you do launch your product it will be a
commercial success. This is the Planet Innovation blurb about it. Market exploration, in-depth
interview, bright innovation, concept testing and recommendations are the five things we talk
about. What would it like if we apply this idea to our career?
Let's try and formulate product market fit for your career. Product market fit for your career
means having a great job that is valued and meets the needs of your employee. Considering it early
derisks your career growth and increases the licklilooked of your job being satisfying
and fulfilling. Our five stages might be know my company, what is my company need,
know myself, what do I enjoy, what do I value, and how am I perceived? Brainstorming or synergy.
Discussing ideas with trusted advisors. Finally, agreeing on a plan with your manager.
You can adapt these if this doesn't exactly fit your setup.
If you are a freelancer it will be know my customers or niche more. Agreeing on a plan
doesn't need to be with your manager. Maybe it is with a business partner or a peer. Let's dive in.
First up is market exploration AKA what does my company need.
This whole question is about exploring the problem space which in this context means focusing on
understanding our company in-depth and in detail before we think about where we might fit in it.
The first thing to understand is what is the structure of my company?
Even with that, there is a few aspects to consider. What is the formal structure? AKA
what does the org chart look like? It is good to look at that and think do I know what all of the
teams do? Do I understand how they make money or serve the business? And who are my contacted.
The next aspect is the job ladder or career ladder.
What are the titles? How does my company define them?
Do I know my current level? Can I draw links from my achievements and current or future roles?
Some large companies have published their ladder on a website progression.wy. If your company
hasn't published your ladder internally this is a reasonable thing to talk about with your boss.
Then I think it is worth thinking about what is the normal specialist
roles you can see in your team or department? Who are the go-to people for different topics?
These people may have the same titles as everyone but have developed a representation of expertise.
There may be dedicated roles or teams in larger companies
but I bet within any team or department there are still informal roles at play.
Once we have mapped out how things are, we can start thinking about what are the gaps?
Can you see that your team is struggling to grasp new industry trends like machine learning,
observability, eventing and data engineering or basic things like security, process, version
control or containers? Most teams struggle with at least one concept considered basic by industry
at large. You don't need to be investing in a cutting edge trend to make a difference to a team.
Maybe a list of all these gaps which could be potential opportunities.
The second stage is developer know thyself and that's about knowing your own motivation, goals
as well as how you are perceived I want to say right now knowing yourself is not necessarily an
easy thing. Most are not born with a vision or have a detailed 10-year plan.
The idea of ask for what you want is all well and good but it requires you know what you want.
I want to suggest a couple of exercises that I think can help with figuring that out.
First another mindset check. Career growth means becoming a perfect programmer.
This is something that's easy to think especially when there is so much emphasis
on programming skills as the barrier to enter in job interviews, for example.
But the truth is your programming skills alone will only take you so far.
Seniority is about impact. There are so many different ways to have an impact
and your programming skills only make up a small part of one of them.
Even if you stay in the individual contributor pathway what you choose to work on,
prioritize and how you communicate about it can create a much bigger impact than your coding.
First I am going to suggest that we do a bit of analysis of your career or different jobs
to date. I think this is a good warmup because it is very concrete. You don't
need to feel your true hearts desire. You just need to reflect on what you have already done.
Mary Williams has a great talk called "career vectors for technical leaders"
and she identifies six vectors that can apply to a role.
Hands-on tech is about building things yourself ie the essence of the individual contributor.
Tech strategy is more about architecture work or making decisions ike build versus buy.
Delivery is about getting stuff done, planning, meeting deadlines, shipping.
Organization management is your classic manager-type work.
Commercial thinking is about understanding budgeting and the financial model of the
broader company. And domain depth is about knowing your industry or customer segment really well.
And I like this so much because it immediately makes obvious that programming is only part
of the picture. I can take this spider diagram and draw on
what I think reflects my personal strengths at the moment and what is needed for my current
role which as I mentioned earlier is the software groups test lead.
Straight away, any differences between the two are obvious. This shows my current role is not fully
utilizing my strength in hands-on tech and on the management side that's a growth area for me.
Will Larson has written about engineering management and careers
and I want to highlight a couple of his ideas. One is that it is not very helpful
to think about all your time at one particular company as being all of the same experience.
Whether we change teams, or management decisions come in suddenly, or even personal actions like
having a baby, these can all mark a transition from a stable era to a rapid change period.
When you first join a new company it is almost certainly a rapid change period as you
try to absorb the information and understand the organization's culture as well as tech. But if you
think back to when you first joined your current workplace, once you found your feet, did you
settle into a stable period? Or did other things happen that kept you in a rapid change period?
Julia Evans has a blog post where she writes about periods of her learning pace increased
dramatically and other periods where it is flat. This graph is the learning vector in will larson's
work history chart where he analyzes jobs in terms of place, people, prestige, profit and learning.
In this graph, Will mapped out three jobs. I think the direction of the vectors doesn't mean
anything. It is about the length. You can see the learning aspect in his first job was huge.
The second job not so much. And then the third job it increased again.
Pace is about working at a stainable rate so you can avoid burnout.
People is about the relationships you develop with coworkers essentially building your network.
Prestige makes getting your next job difficult and part is working at a
respectable lace but he makes the point it is manufactured through writing a blog or newsletter
or talking at an event like this. And profit is pretty much your salary.
I like this graph as a way of saying profit is not the only motivator. Learning is not the only
motivator. You can think about what combination of these factors have you enjoyed, what combination
are you experiencing at the moment, and what combination are you ready for next.
Now you have warmed up by reflecting on what you have already done and you can get to the tough
questions. What do I want? Something I have found is my brain doesn't always have an answer for me
for this question. If I ask adjacent questions I can move closer.
Some of the questions I might ask myself is what feels scary or exciting? What makes me
feel really gratified? What tasks do I tend to put off and really struggle to get done?
Another good topic to think about is values. This is probably more if you are considering a
new job or maybe a new team. I really like this set from a website called key values which aims
to help companies and potential employees find culture fit as loaded as that term is.
What I like the most about this is that many are not inherently good or bad.
A potential team value is wears many hats described as engineers have a broad set
of responsibilities and can take on additional roles in addition to writing and pushing code.
Some people would read that like yes, I 100% want that. Others
would be like I 100% do not want that. And both of those are OK for both individuals and companies
but the main thing is when you find a new job you are finding that right fit for you.
Finally, the last part of knowing ourselves is to know how we are perceived
this is probably the scariest of all. Asking for feedback, trying to understand our reputation.
To get the most out of this, you definitely need to have a relationship with some degree of trust.
This doesn't need to be only your boss. Think about peers in or outside of your
team you have worked that you could ask as well. This is a whole topic in itself that
I don't have time to cover in detail but one way to kick this off might be to share your
career vectors spider diagram with your manager and see if they agree with it.
Time for brainstorming. Through all reflections so far, you have probably had a lot of great ideas.
One way to use this is what's called the double diamond, a classic design thinking concept. It
describes four stages across two diamonds, both which start with divergent thinking which is
essentially research and brainstorming before widdling those ideas down into a core one to
focus on -- wittling. This looks fancy but really reminds us brainstorming needs to be approached
with an open mind, without an attachment to any particular outcome. And these two diamonds often
refer to as the problem space and the solution space. I think that is an insight just by itself
that is worth a lot. We have probably all on some occasion jumped to what we think the answer is
before someone else has even finished asking their question. I know I have. It is a classic
failure mode for engineers in conversation and debugging. Your brain races ahead trying to
find an answer. What we actually need to do is focus on the problem, on understanding it in a
deep way, and in our case, all our research and reflection is forming that deep understanding.
I am not going to say a lot about exactly what form this brainstorming is going to take
because it will depend so much on your personal situation,
the thinking are that you have done, the company you are at, and the person that you are.
But let me bring up a couple more misconceptions that can derail you before you start.
One trap is the idea that there is one or maybe two career paths. And so when we think about
software, the stereotypical role is the software developer and there is also some managers.
So maybe we have an individual contributor and management track. Two career paths, right?
I really like this reply to the question do you plan to retire from tech or are you planning on
a second career? Tom Foryth said depending on how you count it I am on my fourth or sixth career.
This is a unique opportunity of acknowledging the breadth of opportunities in software.
It is not only industry and technology that define potential career paths. There are a huge number of
roles where your programming skills and knowledge of software development will serve you well
without being the primary focus. And let me spend a little bit of time on this because for me it is
personal. As I mentioned for the past two years, I have been the software group's test lead or test
manager at Planet Innovation. It is certainly not a role that I ever thought about and I wouldn't
have applied for such a job before working here but once I was in the company, I saw the
potential for the company and the potential for myself, and the two married together really well.
I will add a caveat specially for women and underrepresented minorities,
if you move away from a core engineering type too early, you have a risk of being
type cast as not technical and it may be difficult to move back later.
It is pretty BS but it does happen so you need to consider how that could impact your options.
Another limiting conclusion our brain might reach something like I can't take a new path. My path
is set. You might think all my experience is in Python and I can't become a front-end developer
or I am a data analyst, I am stuck with SQL and I can't become a machine learning engineer
or whatever it is.
And luckily, these misconceptions have been covered in a previous talk in 2018 keynote.
The value of the growth mindset and the ego interferes and stops us from trying something new.
If we can cache -- keep in touch with the beginner's mind it is one
of the most important things to keep us learning throughout our career. Who we --
when we think about the past, we might think about all the doors closed and paths we didn't take
and now we are on a set road. The truth is there is always a myriad of paths aled of us.
It is being able to overcome the look of foolishness that helps overlook those paths.
We have been doing thinking and brainstorming. Now it is time for
a reality check by discussing our ideas with other people. Who should those other people be?
One approach is to find a cabel, a group of friends who work in the industry. A similar
kind of idea is what Laura Hogan calls building a manager Voltron. This is helpful if something
is missing from your relationship with your boss but it is good anyone. This is more likely to be
leaders you have raport with that aren't on your immediate team. Even if you get along well with
your boss, it is good to be exposed to different leadership styles and perspectives -- rapport.
Last step, agree on a plan. While adegreeing -- agreeing on a plan is important hopefully this
process involves talking to your manager along the way. Especially when figuring out the structure
of your company, your boss probably has a broader perspective that will be helpful.
Here are cheat codes and feel free to copy these into the agenda of your next 1:1.
And one last misconception, career planning means following the plan.
Maybe it is a five year, or ten-year plan, you figure out a goal, work backwards
and if you don't end up achieving the goal it peens you failed, right?
The truth is plans are nothing but planning is everything.
We know from our work that plans end up changing usually. That doesn't mean it was a waste of time
to write down a plan. The process of creating the plan which is the ink thinking, dreaming,
talking and brainstorm is the important part. We know the plan will change and we welcome that.
We have a step-by-step process for talking about your career now. And at the start I
said I want you to have a more fulfilling career. My question to you now is what's stopping you?
Next week have a better conversation about your career. And next year, have a better job.
Your manager might be surprised. You might even surprise yourself. Thank you.
MODERATOR: Hello. Thank you so much for your talk, Brianna. That was so good.
Oh, you are muted. Classic. >> Thank you, Kaitlyn. It is
the first time I have talked about this topic. I wasn't sure how it would be received and I am
keen to get feedback from people. I have in the Google Doc a section where you can
write feedback especially if it didn't hit the mark for you. I would love to hear more about
why you think that might be. And yes, I will join the hallway
video chat too to continue the conversation. >> We don't have time for questions on video but,
yes, as Brianna mentioned, she is going to be in the hallway video chat too. You can put questions
into the Google Doc and continue typing about this in text in the Platypus Hall way chat. Next up we
have a 15-minute gap before the next talk which is Sam Bishop with "Snakes all the way down,
building Worlds with Python code" at 2:45 AEST. Thank you so much, everyone.