How to Market Yourself as a New Software Developer

You're fresh out of college or code school, and you want to market your tech skills.  How exactly do you get those first gigs?  Here are some tips based on my experience in the field.

Be honest about your capabilities. Some people will say "fake it till you make it" but that doesn't work for me and I'm no good at it anyway. I'd rather work with someone who knows their limitations than someone who thinks they know everything, and that's the sort of person that I try to be. Figure out how to acknowledge your inexperience without making it sound like a problem. "I have only been working with X language for a little while, but there are great resources for self-education and I know how to use them." Stuff like that.

Be helpful. Try to understand what the people around you need, and how you fit into that picture. Do things that extend beyond your own sphere. You'll end up working with other people a lot so try to recognize what they might need, and try to provide it before they ask. People will ask you "how's it going with X" because they need to know how the moving pieces are coming together, or how things look for the project schedule/budget/etc. So send them updates. Don't wait for them to ask. Try to figure out (or ask) how often they need to know those things, and send them without asking. They'll love you for it. You have to be fairly organized for that kind of thing, so if that's not your nature you can work on that too. Systems help.

There are two kinds of projects which you can be valuable for, right now. #1 is large project teams which need junior programmers to do basic stuff. They have lots of programmers already, and they need their more experienced people working on harder problems, so they need junior people to get familiar with their systems and do simple tasks. They will pay you. #2 is projects where the people have zero built-in technical capabilities, but need something simple like a website. Restaurants, artists, musicians, small neighborhood organizations... all need stuff like websites and are generally too busy or just not capable of doing it. Or they have something really bad that someone else put together and they need it fixed/updated/replaced. Quality is generally not as important in these entry-level projects, because just having anything at all is delightful. Many of those projects would be 100% volunteer, so you should not expect to be paid much if at all. (Don't try to do everything. Keep these projects small.) They'll give you good experience and some work you can point to. And the people are generally really grateful. I have been doing this kind of work twenty years, but I run the website for free for our neighborhood BBQ joint, because I love the people and they are always gracious. And they feed me.

Have some kind of online portfolio you can share. If you get a fancy Wordpress template, that's great. But don't spend too much time worrying about how it looks. Just make sure you have a project or two you can talk about in detail. Talk about the original problem ("neighbor's restaurant needed a new website"), describe what you did to solve it, and provide maybe a screenshot or two, and a link if you can. Those projects might be things you did in school, or for friends/neighbors/etc. as in #2 above. Or they might be something you just decided to do for fun on your own. People just want to know you've done some projects, and they want to hear you talk about them. They want to know how much you understand about your solution and how it fit the larger picture. That suggests you're thoughtful, and you care about the work you're doing.

How do you market these skills of yours?  Put yourself out into the community.   Go to meetups.  Meet people.  Ask questions.  Try to make connections with people who need you for either #1 or #2 above.  Try to find some companies that are doing interesting work in your area, and see if someone can connect you with someone who works there.  Starting with a person is ALWAYS easier than the applying to a job posting.

Be humble about your skills but be confident that you can provide value in certain ways. It's fine to not know things.  Be willing to learn what you don't know. If you have some work to show and talk about, it will be easier to land a team job (as in #1). Set up or refresh your LinkedIn profile. People skills help so much. It's hard to overstate that. I am a competent software developer, but I am really good at working on a team and that has carried me to increasingly sophisticated and interesting work my whole career.