wbyoung

Whitney Young is a developer at FadingRed
 

January 12th, 2011

For the last few years, I’ve gone to work and written code, discussed architecture, attended meetings, etc. The job description has always been roughly the same – I’m a software developer. The job has always been different, though. The quality of software, the focus on design, the release process have all differed. It all boils down to one simple question: For whom do you create?

As far as I’m concerned, there’s three possible answers to this question:

  • Clients
  • Coworkers
  • Customers

This is a considerable simplification, but most software groups really do fall into one of these three categories. Consulting companies and independent contractors create for clients. The IT division of a company creates for their coworkers. Those of us who sell software to end users are creating for customers.

Personally, I like to create for customers. I enjoy creating something for a broad audience. Design matters. Usability matters. When you release a product, it’s something you’re really proud of. Customers influence what you do, but you retain the right to make decisions. If a customer requests a feature, you can step back and try to figure out what they really want. If it doesn’t help the majority of your customers, you have the ability to say no. The ability to say no gives you power. Without it, you’ll end up with tons of features that serve a minority, and your software will become hard to use.

As you move up the list, you lose your ability to say no. It’s possible, though harder, to reject an idea when working for coworkers. Internal development teams really have a tough time saying that they won’t add a feature because it will make the software more complex. How do you say no to the senior vice president when she demands the feature? Usually, you just don’t. You create software that’s partially designed by people who know what they’re doing and partially designed by people making demands.

At the client level, you really just can’t say no. You can say, “it would be better if we did it a different way,” but when they say to you, “this is what we’re paying you for,” you’re stuck. I used to work for a company that worked with clients. They got around this by asking various clients what they wanted, then creating something that all of the clients would want to buy. It was very customized software, but customized to what they thought clients would buy rather than what they demanded. Basically, they turned client work into customer work because they had bad experiences working with clients in the past.

Every aspect of software development differs in these environments. Distributing software is much easier when you distribute to coworkers because the environment is consistent. Design is much more important when creating for customers because the software needs to appeal to the customer. Agility and breadth of knowledge are important skills for developers working at client facing software shops.

If you’re looking to work for a new company or are just getting started, think about who will be using the software you create. Think about what that will mean in your day to day tasks. Everyone has different interests, so there’s no wrong answer. I love making software for customers. Even on the days when it feels like everything is going wrong, I still get satisfaction from what I’m doing. At the end of the day, I’m proud of the software I create, and that’s what matters to me the most.

September 16th, 2010 2 notes

Find

You’ll find it randomly. There’s no telling how your perfect job will materialize. You might find it from a job posting. Maybe it was a website that you ended up browsing some day. How you found it doesn’t matter, but when you do, your thoughts will be:

This is where I want to work.
It’s my dream job.
I have to get it.
I need this job.
I’ll do whatever it takes.

Apply

What you need to do is simple — apply to work with people. A company is nothing more than the people who work there. Learn what you can about them. Online social networks have made it incredibly easy to learn about people. Find out what makes them tick; you’ll probably find something that makes the company even more intriguing. Absorb this information.

Before you apply to the company, really think about everything you’ve learned. For a long time. This is your dream job, remember? Talk to your friends and family about it. Listen to what you’re saying because it’s these thoughts that you need to express in your application. Talking about it should be something that just happens because you’re excited — if not, it’s probably not the right job for you.

Now you’re ready to apply. There’s only one thing you need to do; you need to convince someone who you’ve never met before that you’re telling the truth. This is the hardest part. The rest of your application is easy. Skills, experience, whether you’re a hard worker — these don’t matter. If you’re applying for this job, it’s because you know you’re capable of performing the work. Put your energy into telling your story.

This story is all about you and your relationship with the company. You’re in love with the company, and you have to convince the people who work there to love you back. How did you find out about the position? Why is it different from what you’ve done in the past? What makes it perfect for you? If you really want the job, don’t re-use something you wrote before; start from scratch. Make it good, then proofread it seven times. You can tell your story in an email or a more formal cover letter — it doesn’t matter — the content matters. Think about it from the perspective of someone who doesn’t know you. Does it convince them you’re perfect for the job? Is it genuine? Make sure it says what it needs to and nothing more. Keep it focused.

We have a small team. Right now it’s three people. When you send in an application it goes to all of us. We all look at it. There’s no human resources barrier to get past. Your story will be read. Make it count.

Face to Face

Once you get an interview, it’s time to start over. Repeat your research. You want everything you know about the company in the front of your mind when you start meeting people, and there may be new information to learn. Every second your with these people will be time that you’re evaluated. If it’s a small company like ours, make sure you know everyone’s names.

Once you’re in the door, put some of your research to work. “I read on your blog that you want to build a company where all customers are given first-class treatment, and I really respect that.” Share why this is important to you. This is relevant and shows that you’ve spent your time researching the company. Just be sure that you don’t end up being creepy. “I read on your Facebook profile that you enjoy playing tennis and I think it’d be cool to play tennis with my co-workers.” This has nothing to do with the job. It may also feel a little invasive.

The actual interview is always difficult. You will feel nervous. You will stumble at some point, but it’s okay. Your interviewer will be forgiving. Interviews are high-stress situations, and no one is able to perform at one hundred percent. Let it pass. Clear your mind and move on. Remember that interviews are a two way street. You are interviewing the company; make sure you have good questions to ask. Even if you think you know the answer, ask anyway. You need to get your interviewer engaged. You need conversation. At the end of the day, your interviewer needs to know that she enjoys conversing with you.

Follow-up. There’s no better way to screw up an interview than to fail to follow-up with your interviewer. If there’s more than one person you interviewed with, follow-up with all of them. In order to do this, you need to make sure you get their business card. If all you get is a business card from someone in HR, email the HR person to say thanks, and ask for the email addresses of the people with whom you interviewed. This is a lot of work. Do it. Remember, you’re applying to work with people. People appreciate and expect your etiquette.

Rinse and Repeat

If you’re lucky, this section will not apply to you. For many people, though, a career has become a series of job changes. You’ll repeat the whole process a number of times. Those of you who are lucky enough to have found a job and a company you love, cherish it.

Best of luck!