Advice for my younger developer self

Earlier today I saw a tweet from Jo Franchetti, asking what advice you'd give your junior developer self. It's a classic question and one that's ripe for a blog post, so here's my take.

Hey Sally,

You may have got into this web development malarkey because you liked having a way to put your emo photos and thoughts on your own slice of the web, but I’m here from the future to share some hard learned wisdom.


Plan your career mindfully

It’ll actually all end up ok somehow with you stumbling through, but things will also be a lot easier if you invest some time in planning.

Define the career that you want

Have a view of what you want; be able to answer the question “what does a career mean to me?”. It may change over time, and you may optimise for different things at different points, but having that overall sense of direction can help you to make individual decisions.

Nowadays management isn’t the only way to progress, even if it felt like that at the time to you. With hindsight I didn’t move away from development deliberately enough. I got tired from being spread too thin; for feeling like the end of the line (yay waterfall projects), for the 2am late nights and stressing about client deadlines, from the lack of psychological safety, not having a strong mentor, and more. Those things weren’t specific to a developer role, they were all environmental. You can change variables around rather than feeling like stopping coding is the only option.

Think about the type of company you want to work for: big or small, named or unknown, agency or product (you’ll enjoy product and ownership a lot more)… or even consider working for yourself for a while. They all have different pros and cons, and it’s good to experience different things and learn from each.

Don’t chase promotions for the sake of it

Yes, it’s great being promoted. Yes you may relish the recognition, the money, and the titles will help to open new doors for you (sad but true for folks from under-represented groups in particular). However, apart from the times when you did deserve to be promoted but weren’t (these will happen too), don’t try to climb the ladder too fast. It will all come, but there’s plenty to learn on the way up. You’ll end up a more talented developer if you take your time and grow at a pace that’s sustainable.

Networks are actually important

You’ll start out as seeing networking through the lens of business events where you don’t feel like you fit in, where everything is transactional and superficial. This isn’t all there is, and it’s not the useful type.

Online communities, meeting people through events, friends of friends will all help you to build your personal set of mentors, friends, support, and people to provide opportunities. If you don’t know the answer, ask yourself “who do I know who will?” (you only just learnt this one from your current CEO, but it’s great).

Once you have even a small amount of a decent base relationship, ask people about job vacancies, for information, to hear about their career journeys. Most people actually like talking about themselves and helping others!

Know your strengths (and weaknesses)

I know it’s sometimes hard to know what you’re great at, and that it can be tough to big yourself up. This won’t help you in the long run. Lean on others – what do they think you’re great at? Get testimonials from people you’ve worked with (ask, they won’t naturally give them to you if they don’t know it’d be helpful). Think about what your superpowers are.

But don’t just focus on your strengths. It can be hard to receive constructive feedback, but use phrasing like “what should I learn next?” or “I this generally went well, but if I was to brush up on anything for the future, what do you think would be most important?”

You don’t have to know everything. Find yourself an environment where it’s ok to not know things (because that’s natural and ok!).


Finding the right work environment

Who you work with and for is so important

Company culture, and having the right level of stretch and opportunities is key. If you get it right it’ll help you grow immesurably, especially if you find people you can learn from. These can be both other developers, and people in other roles. Hang out with UX and data people in particular, that group are the real keepers.

If your workplace is toxic and you’re in a position to, get out of there. It will be ok, you’re very priviledged to be in an industry where you’ll generally have options.

Psychological safety is so important, even if you didn’t know what it was. It’ll make it easier to do things like pairing with other developers, being vulnerable and not having to know everything, and overall will make you a better developer if you can find an environment you feel safe in.

You don’t have to be one of the lads. You can wear dresses. Later you will be much less about fitting in, and more about showing others they can be themselves.

Don’t work too hard

It may seem great to be part of something, but your company is not a “family”, and that attitude’s ultimately not helpful. Your job doesn’t define you. Don’t let it become too much of your identity.

Have hobbies outside of work (Japanese is really cool, btw), use all of your holiday time, and if you can afford it (you’ll be able to later on, you won’t always earn £9k a year), take unpaid leave. Burnout is a thing, and you’ll also come to realise that life’s short and there’s much, much more to life than working.

Bad experiences aren’t ok

Sexism, harassment, all the other things you sadly will come across aren’t ok. They’re not your fault, and you don’t have to put up with them. You do however have a lot of priviledge that you’ll only recognise later, so try to use it to help make sure others don’t have the same experiences.


Getting your foot in the door

Job titles and roles are different everywhere

Someone’s Senior is another’s Junior. Spend some time researching different roles and matching them to the type of company and work that you’re interested in, and which helps you move towards your overall career vision. Then apply! Even if you don’t hit 100% of their criteria. Gender studies have shown that men do, and women don’t, and this is one thing that can lead to unbalanced gender diversity if job ads are worded poorly.

CVs

Make sure you focus on the important bits. Don’t put big bits of generic fluff content in there (everyone is a “talented, passionate developer who cares about attention to detail and creating beautiful experiences”). Who are you actually, and what makes you stand out? Hiring managers will likely read your CV very fast. Help them find what they want, but also be interested to get to know you better. Ask to see others' CVs to get an idea of what makes one great.

Tailor your CV and application to jobs, pattern match on language the job ad uses and how the company communicates. Don’t be overly formal if they’re not, and vice versa.

Personally I’d always recommend a covering letter as a way to show how you’re a great fit, and explain more of the “why” behind your application, and it tends to serve you well. But not everyone agrees.

Remember that CVs are just a foot in the door, be prepared to back it up at interview…

Everyone does developer interviews slightly differently

Try to find out as much as you can about the process, and do prepare in advance, even if it’s ‘simple’ things like practicing how you introduce yourself. Some will be more technical and will have more hoops to jump through, others won’t.

With the people I’m hiring for now, we look for a mix of general values, core skills, and technical ability. As a junior it’s ok if you don’t have all the answers as long as you know how you may go about finding them out.

If possible, give lots of examples in interviews

Employers should be looking to have confidence that you can do the job in their environment. Talking in specifics and giving examples are a good way to give them that (as opposed to giving very high level answers), but if you don’t have any or haven’t experienced something before you can talk about how you’d approach it, and draw from similar expereicnes you have had.

Interviews are for you too

Job application processes have rubbish power dynamics, but it’s important to get what you can out of it too. Ask for adjustments if you need them – good interviewers should be able to flex around needs you have. If the company hasn’t set you up well that’s on them, not you. Try to use all stages of your interactions with a company for your benefit, to get information, or even for practice. Here are some interview questions you’ll find useful in the future.

Rejection is ok

It’s not a reflection of you, it means it wasn’t the right match. It won’t always be fair though. If you can, always always get feedback. It doesn’t feel great at the time to dwell on it, but longer term it will help you learn. “Which areas did I come across as strongest on, and which were the areas where I didn’t score as highly. Why?”. “What advice would you give me for future interviews?”. Not everyone will take the time to give you this. Again, that’s on them.


What you work on

Invest in working out what you care about

I know you struggled to articulate exactly what you cared about early on. Try to spend time working with different tech to find out what you enjoy most, but also remember your niches can be language agnostic – topics like accessibility, tech for good, and more are all totally valid answers here. If you can, speak to lots of different people to hear what they care about and learn new things. This will ultimately help you to say no to things that aren’t right, and preserve your energy for the things that are.

It’s ok if the things you care about aren’t the same as others. It’s also ok if the things you want to focus on aren’t the same as what your company wants to focus on. There are other jobs out there, I promise, and you will absolutely get another one if you want it.

How you work

Invest in your physical and mental health

Everything breaks as you approach your late 30s! There’s even a pandemic! But just generally, building up good habits for your mental and physical health, and working on your resilience is an important skill. And it is a skill – it may not come naturally to you, but you can build this up.

Be kind and empathetic to others

Kindness can take many forms, but it’ll help you a lot in your career if you’re someone that others want to work with. Kindness isn’t the same as niceness, even if they get confused sometimes. Again, this is a skill, and it’s good to combine it with working on your boundaries.

Don’t compare yourself to others

Both positively and negatively, you need to remember that everyone’s situation is very different, and you also won’t know everything that’s going on in their lives. You’re on your own path. Know what’s expected of you, and work to that. Look at things like progression frameworks to understand what good looks like in different places and keep some perspective. You’ll even go on to write a few of your own to help others with this.

Technology changes a lot

You’re getting into this exciting new thing! You can make websites. That’s so cool! And it is cool. Later in your career you’ll still enjoy having the skills to make something for yourself, even if you mostly use them to make stupid things.

The tech you start out with won’t be the tech you end up with, though. It’s easy to feel like everything’s changing so fast and you’ll never keep up; it’s easy to feel exhausted and not good enough, and to get overwhelmed when you feel like your skills are dating.

Make sure you’re kind to yourself, and think seriously about what’s realistic here. Keep learning. Look for opportunities where you can learn in work, but also take an interest in your craft. Focus on what’s important to you.

Also, fundamentals don’t change. If you focus on general good practice, principles, and things that you can apply regardless of language implementation you’ll always have something familiar to hold on to, even in new situations and environments, or when everything else always feels like it’s changing. Knowing the right questions to ask is an excellent skill to invest in.

Keep making things just for you

Play is good. It can also be a way to learn about an area that your company doesn’t work in, to get practice in something you’re less confident with, and can open up new opportunities for you.

Keep a brag doc

Learn about concepts like brag docs, both for yourself to keep track of things you’re proud of, and to share them with others.

Be brave

Don’t hold yourslf back through fear of rejections, and the unknown. You can take calculated risks, and you’re probably better than you think you are. After a period of not being brave you’ll leave your job with nothing to go to (you’ll do this at least twice actually), and everything will work out swimmingly.

Ask people what they earn

This is personal and they may not want to share, but it can help you find out if you’re being horribly under-paid compared to people in the same role, or at the same level. However, keep in mind what I’ve said before – remember you won’t know full details of everyone’s specific situation, so use it as input rather than the full picture.

Lend your priviledge to others

There’ll be times where you feel like you’re having an unfairly rough time, when things are harder than they should be, you’re held back, or when you’re not getting the support you need. You won’t always feel like you can make a difference early in your career, but that’s not true. You actually have more sway than you think, and working to bring up others is something that you’ll never ever regret in your careeer.

Share things

Share with your colleagues, with your wider network, with anyone who may stumble across it. You’ll be amazed at what will help you out – even putting your website on your last.fm profile will lead to a chance job opportunity.

In particular though, think about writing and speaking. You’ll find thesee terrifying concepts at first, but they’ll go on to help others… and even future you when you need to refer back to things or share a summary of your thoughts with multiple people! It’s easy to feel like you have nothing unique to say on topics that have 100s of takes, but honestly, as with everyone you have a unique perspective.

It can also play a role in people knowing who you are, but don’t be tempted to hunt clout specifically, or chase likes with superficial fluff – they don’t ultimately bring you any benefit, but can come with a lot of trolls.


Always remember…

You are a developer

Unfortunately gatekeeping is still rife in this industry, and at times you’ll feel lesser, or like you don’t belong; that you’re not technical enough. If you write code (for fun or work), you are a developer.

It’s ok to work in tech, or to not work in tech

Sadly you’ll also get points where this all just doesn’t feel worth it any more. This isn’t some magical perfect career, and as I’ve alluded to above if you don’t have the right role, environment, or people around you it can be really tough to want to keep going. If you want to step away, that’s ok. You can always come back.

That said. It all works out just fine! You have a job you enjoy, and you’re getting to work on supporting lots and lots of talented engineers; something you never would have considered back in the day. Possibilities will come up, even those you weren’t expecting, so it’s great to keep an open mind and jump on opportunities when something exciting arrives, even if you don’t feel quite ready.

Good luck out there! 🔮🚀

Header photo thanks to Marek Piwnicki on Unsplash