Show up

This is a guest post from Elise Shaffer. Enjoy.

Dear New Developers,

As I sit down to write this letter, I’m struck by the thought that I don’t know you. You could be like me, a person who’s loved computers since she was nine years old and has taken every opportunity to learn more about them. You could also be one of the many people who’ve recently graduated a coding bootcamp after spending years in another career. You might have an experience somewhere in between or vastly outside the two.

So, the challenge put to me is to give advice about starting out in development that would be applicable to you given the wide range experiences that might have brought you here. Thinking about that led me to a revelation that the best advice I could give is to show up.

Software is about human relationships. I know this is a point that’s appeared on this blog before. I won’t rehash all the reasons that’s true, but I will use it as a starting point to say that it’s important to have people with diverse experience designing software. It’s important that no matter where you are coming from that you show up. Bring your experiences, struggles, values, and tastes to your work as a developer.

You’re starting out and will probably feel that you need to catch up to your peers. Certainly, there is always more to learn in software development. But you also have so much to teach those around you. Maybe you have an aunt who needs assistive technologies to use the web. Maybe a computing error caused trouble in your previous career. It’s easy to get lost in everything you don’t know. But, it’s just as important to draw on your previous experiences. For example, maybe you used to work in manufacturing safety systems. Safety is incredibly important in manufacturing and it’s also important in software. Or, you might have taken foreign language and culture electives in college that help you understand how design decisions will be received internationally. How can those experiences help you work on projects with your team?

Don’t be afraid to ask stupid questions. It might seem like a stupid question to you, but it’s more likely that what you’re asking is something the rest of your team takes for granted.

Software should support people. In order to do that it has to understand people and the only way to ensure that, is for those designing it to draw upon the biggest well of experiences possible.

There is always more to learn about programming. But, you already know so much that you don’t even realize. Bring that knowledge and experience to your work as a developer.

Best,

Elise

Elise has been fascinated with computers since she was a child. She’s worked in the field for ten years across a few industries and now works as a Senior Software Engineer. She also blogs at eliseshaffer.com.

Potential vs delivery

Dear new developer,

Early in your career you are judged on potential. Frankly, this is because when you are young in your career, you don’t have much of a track record, so there’s not much else to judge you on.

This means that you can take more risks early in your career. You can shift around and explore different niches, whether technology or business size or domain. Each time you shift, you’ll bring over some relevant experience, but you’ll also be high potential and indicate a willingness to learn.

Companies have to train you on their process and their technology stack, and don’t necessarily expect you to ship on day one.

The older you get, however, the less you are judged on your potential, and the more you are judged on your ability to deliver. This is typically done by looking at your past accomplishments, as what you’ve done in the past is treated as a harbinger of the future.

While there still is spin up time (and the bigger the company, the longer the period; I worked at a large software company where people were surprised I shipped code in the first week) there’s an expectation that you slot in and pick things up more quickly when you are a more senior developer.

As you gain more experience, you have more human capital and are expected to deploy that capital on behalf of your employer.

Does that mean that once you’re a senior developer you can’t switch domains, tech stacks or company size? Absolutely not. But it does mean that you’ll have a harder time doing so and you’ll need to convince the hiring managers that your skill sets apply to the new venture. (There’s an entire book about doing this called What Color is Your Parachute.) You can always press the reset button and re-enter as a junior developer, if you can afford it, and if you can convince the hiring manager that you won’t leave the job as soon as you can find another one.

Take risks early.

Sincerely,

Dan