Fog Creek Software
Discussion Board




Develop apps when jobhunting?

I'm graduating college soon, but with the current job climate I'm not sure I'll get a decent job immediately. To do something useful until I find a job, I'm thinking of developing a medium-sized app (small enough for one person to work on).

When applying for a job, can I use an application that I've developed as a reference? Would anyone bother to look at it? Should I send it to prospective employers on a CD or should I send a webpage address in an email? I'm a pretty decent developer, but I lack experience. Can I make up for some of that by showing employers that I'm actually capable of developing something that works?

If this is a good idea, do you have any suggestions for a suitable application to develop or what characteristics such an application should have?

Thanks

Karl
Tuesday, November 26, 2002

I think it's a great idea.  Do you have a particular area you would like to work?  Web design?  Driver development?  Obviously your answer to this question has a big impact on what sort of program you should undertake.  Nothing in particular?  Choose something general purpose.  Write a web based bug tracker program or a standalone news reader, etc...  Not quite up for something that big?  Read the newsgroups and see if people are having recurring problems with something.  Write a class to fix it.

good karma for the day, I hope
Tuesday, November 26, 2002

Nah forget it.  Just use that time interviewing and researching potential employers.  Employers aren't too interested in your past work when you are straight out of college.  Sure it's nice, but its not required.

Kevin
Tuesday, November 26, 2002

I think its a good idea. It will keep your skills sharp and show you can apply your knowledge in a real way.

Ian Stallings
Tuesday, November 26, 2002

Develop something in a technology that is marketable, but in which you have little knowledge, then you can go to your interviews with something more to sell than you currently have.

Alberto
Tuesday, November 26, 2002

I hire software developers all the time, and this kind of initiative is EXACTLY what I look for in less experienced applicants.

Bluntly, I don't want to work with anyone that could tolerate going for weeks without writing something or other.

Even if I'm not a typical employer, ask yourself this question: do YOU want to work for anyone that would rather look at your marks than your code?

--
Reginald Braithwaite-Lee
www.braithwaite-lee.com

"Adventure is just bad planing." 
--Roald Amundsen 1872-1928.

Reginald Braithwaite-Lee
Tuesday, November 26, 2002

I'm in big favor of developing while job hunting... I'm doing it now.  (=  My market is really really slow right now, so there's only so much jobhunting I can do in a week, and that leaves a lot of time to fill.  I'm also one of those who can't go for a few weeks without creating something, or I start to get depressed, lose confidence, and so on.

This also gives you a good source of code samples, if the employer asks for them.

As for delivery, you can link to it from your resume site, but for all but the most trivial or self-explanatory apps, you should offer to do a demo in person.  When setting up the appointment for an interview, you can say something like, "I have an app I'd like to demo -- should take about five minutes.  Will there be time?"  You could also bring this up when they ask if you have any questions at the end.

Oh, and make sure you run through the talk beforehand so you don't use 50% of your word count going, "uhhh..."  This should also expose major bugs or missing pieces of the app.  (Since it's a personal work in progress, you can probably excuse all but the most fundamental design flaws as long as you have a really sweet feature to show off.)

Sam
Tuesday, November 26, 2002

I would wholeheartedly second what Reginald said.  As an interviewer, I love to see applicants that can show me something other than a resume.  With web access being nearly universal, I would put a web site on a resume.  On this web site, have a substantial project with source code.  Unless you're being hired by a big HR dept, a manager is going to look at your site before commiting a bunch of time to interviewing you.

Put copyrights in any source so they know you wrote it.  Make the code immaculate, but don't over comment or over complicate.  If possible, do some boring, vertical market type thing, as that is what most jobs involve.

Don't include a picture or personal information on the site.  Be humble, unless you're going for consulting work.

If you've got time, develop expertise in a tiny sub-specialty, write a couple articles, and post to your site.

I'd hire someone who did all this stuff.

Bill Carlson
Wednesday, November 27, 2002

It's not going to impress every employer but the smart ones will take note that someone who develops stuff on the side actually enjoys developing software instead of treating it as just a job.

I

Andrew Reid
Wednesday, November 27, 2002

Definitely do so! For one thing, you will learn and profit tremendously from private projects, if you do them in a presentable way. And since you want to become a software developer I should think that it is also something that you like to do.

Whenever I applied for a job in the past years, I inlcuded my URL and references to some projects I did privately. When I was invited for an interview, there were always some questions asked about those project. So even if it may not be the one decisive factor, work on private projects is noted and appreciated. (Since I do not have a college degree, it was also the only reference I had when applying for my first job and it got me in.)

Have fun,

Jutta Jordans
Wednesday, November 27, 2002

I hired someone based on the app that they gave me during an interview.

The application was ugly, but powerful. I saw the potential in it, and hired the guy. Best decision ever - you can teach UI design. :-)

Tim Sullivan
Wednesday, November 27, 2002

Things that I've found impressive when looking at demo apps are:

a) Does it have a proper setup program?
b) Does it have help? (note the text doesn't have to be brilliant, just there)
c) Would it pass "Designed for windows"?
d) Is it finished! (do tooltips work etc)

Note these are only strictly relevant for Windows programs, but then that's what I hire for. I'm not sure what the equivalents are for Linux.

Since you don't say what languages or environment you're targeting I can't be more specific than that.

Peter Ibbotson
Wednesday, November 27, 2002

Good idea, do anything that will give you an edge.

Prakash S
Wednesday, November 27, 2002

Thanks for the response guys, I really appreciate it! It sounds like most people thinks this is a pretty good idea, so I'm definitely going to go through with it if I don't find a job fast. I've always coded (yeah, not coding for long periods of time makes me feel uneasy), it's just that my projects are usually "convenience applications" for myself and that usually aren't that useful to other people. I might take one of them and make it useful, but I think I'll start something new instead.

I don't really have a strict preference in the types of applications I want to write, but I want to avoid anything too low-level such as drivers. Reading newsgroups to find problems that others want to have solved seems like a great idea, I'll definitely do that. I suppose something like this doesn't really have to be very original, I would guess that it's more important to have a _finished_ application?

Alberto said "Develop something in a technology that is marketable". I suppose that for potential employers, it would be an advantage to develop something that is related to their market, but since I'm not that picky and since I don't know which companies I'm going to apply for jobs at, that'll be hard. Are there any areas that you'd recommend me to avoid?

As for features, is it more important to have many features or is it more important to have one or two impressing features?

Bill also mentions writing articles and posting them. That sounds like a great idea, thanks! I'll try to think of a few good topics to write about.

Peter, Windows development is what I'm interested in. I suppose linux would be my second choice, but I really don't have much knowledge about linux development. I've been using C# and the .NET framework for the last 6 months and I really like it.

Karl
Wednesday, November 27, 2002

I used to do a lot of interviews a couple of years ago. Almost all of the candidates were graduates and therefore lacking in experience. They all did the same thing with their CVs (Resume) - pad it out to make it look long and impressive.

As a potential employer, one expects this. Also, much of the previous work experience was of the menial variety. Again, to be expected. Most people have had summer jobs during college years.

Lack of experience really is absolutely no problem at all. You are probably being hired for your potential (and because you are much cheaper). Any initiative will stand you in good stead, but don't go overboard. Given the choice between 2 candidates, all else being equal, I would rather give a job to someone with interesting hobbies and a social life that I have something in common with, than someone who lists their hobbies as programming in different varieties of script language. NB This is not the priority, just an added bonus.

If you're going to do a project, you might also consider looking for something on www.elance.com. Don't expect to get rich. The market won't support it, at the moment. Think of it as extra professional experience with which to garnish your CV. If nothing else, you’ll get some ideas for something interesting to write.

You may also learn something about dealing with clients who don't know what they want and change their minds after you've put in 100 hours work.

Good luck with the job hunting.

Justin
Wednesday, November 27, 2002

Well since you're interested in windows development, do a simplistic .NET app. I'd be impressed by someone who could say that their app should pass the "designed for XP" logo program.
I use the word "should" here as to do this testing you need to have some scratch PCs and if you don't or only did the clean uninstall testing bits on one OS version I'd be happy enough with that.
If you're going down the dot net route, read up on the disability bits (large fonts etc), IIRC the Designed for XP logo program is a lot slacker on this the older Win2K program. Win2K had a "designed for" and a "independently certified" program, the latter was much easier and didn't require HTML help or .MSI file usage.
If all you doing is writing "itch" scratching programs, write one to a full professional standard. It doesn't actually have to do much (e.g. a single form to dial phone numbers from a list) providing all the additional support stuff like installers and help would prove instructive for you.
I haven't yet looked properly at the disability stuff in .NET but one of our telephone support staff has severly restricted vision and watching him use a computer has made me want to do it "right" this time (currently he uses a second 21" monitor  in mouse following zoom mode). It shouldn't cost us too much in terms of time to add support for him, but I've also noticed that many users over 40-50 also like large fonts and things too.
If you go down this route it would also give you an area to talk about which lots of programmers ignore.
Good luck in your search for a job.

Peter Ibbotson
Thursday, November 28, 2002

Do it!

Interviews are looking not just for technical skills but for enthusiasm and some reason to choose you rather than 10 identical candidates who are technically equally qualified.

If you have a project you can talk enthusiastcally about instead of just reciting your emplyment history and ansering whatever technical questions they throw at you then you have a huge advantage.

JB
Friday, November 29, 2002

Grrr. Being able to spell and type properly are probably an advantage too but not one I seem to have. I'm sure you can figure out what I mean to write above...

JB
Friday, November 29, 2002

Hi

I've kept myself busy by writing software since becoming unemployed in March. I did it for two reasons:

1. To maintain my C++ skills,
2. Learn new techniques

In the case of (2) these included the wxWindows library and DSP. In fact I'm now so interested in DSP that if I don't get a job soon then I may apply to do an MSc in DSP, which will also keep meet out of the current wrected job market for a year. All my software is open source and is currently Linux only.

Whetever happens, I can at least say I've learned something in my time "resting".

Eccles

WhatTimeIsItEccles
Saturday, November 30, 2002

eccles, where can one do an MSc in DSP?

interestedInDSP
Saturday, November 30, 2002

I presume you're talking about the UK.

The trick is that very few courses are called MSc in DSP, which makes searching for them difficult. The one that I currently have in one of my browser tabs is at Lancaster Uni, http://www.dcs.lancs.ac.uk/courses/postgrad/dsp.html although this one does speak its name.

Many of them go under the name of "Communication Systems" or similar, Derby Uni has one, http://www.derby.ac.uk/prospectus/postprospectus/pcoursedetails.asp?SubjectID=24&Id=189 has one of those. Its a pity there is no central resource for finding these courses. I think Leicester Uni and Sheffield Hallam also have them.

The only thing that holds me back from applying is funding and whether a 2:1 in Computer Science is enough for them.

Eccles

WhatTimeIsItEccles
Sunday, December 01, 2002

A similar thing happened to me earlier this year when I was made redundant.

During my "down time", I wrote a card game and a tool to do daily builds of software. The latter of which I'm now using as part of the development process in my current job.

It's also worth bearing in mind that a skillset can deteriorate rapidly over time if you don't keep active in it, so if you're out of work and looking I'd recommend having a programming project of your own to keep up your interests and expertise.

Ritchie Swann
Friday, December 13, 2002

*  Recent Topics

*  Fog Creek Home