With the current economy it is important to know what will help you keep you current job or easily get a new one if you need to. Here are my tips for recession proofing your development career - let me know if you have any other suggestions!
1. Have a positive attitude. When a manager has two developers with equal technical skills but one is optimistic/"can do" and the other one is grumpy you can bet that grump will be laid off first.
2. Keep your promises. If you promise to complete a piece of code by Thursday make sure than you do. If you don't think you can make a deadline it is much better to speak up ahead of time and renegotiate what can be done, or get help, rather than say "yes" when you are not sure. If you have agreed to a deadline and things change tell your manager or client as soon as you know, so that you can both come up with a plan B.
3. Keep your code simple. Simple code is easier to read and maintain, generally runs faster and has fewer bugs. Clever code has a way of biting you or someone else in the rear end. Yes it sometimes takes more thinking to write something simple and elegant instead of complex -- and your future self will thank you for doing it!
4. Communicate clearly. The number one way projects fail is poor communication - misunderstandings with clients over scope, missing features, upsetting email threads. Confirm verbal meetings afterwards in bullet point emails. If a topic is getting heated in email then switch to an in person meeting or phone call to defuse it, then document what was agreed in email afterwards. Keep your ego out of the office and out of your code. Focus on what is best for the project and client.
5. Bring up questions early. If you get stuck on some code (and who hasn't some time or other) then bring up questions early. There is nothing worse than a late deliverable that could have been on time if the right questions where asked sooner. If being assertive doesn't come naturally to you read a book or take an evening class on assertiveness.
6. Don't add bells and whistles. If the client has not asked for a feature don't add it without asking first. Maybe they really like the idea and will pay extra for it. Maybe they would rather wait until version 1.0 is released before adding the feature. Maybe it is not of interest to them or the users at all. In any event you are better off asking before adding features that are out of scope.
7. Test and proof read your code. Clients and managers can not directly tell how good your code is but they sure can see when you have a bug! Test your code every time you make a change - there are no changes too small to test! The other thing that clients will spot is typos and spelling mistakes - I know that it is not fair but they will initially evaluate your code based on how it looks, not on what is does under the hood. If you can't spell well or don't have a good eye for user interfaces then get the help of someone who does to give your application a proof reading before you send it to clients to review.
8. Keep Learning. Technology is always changing and companies keep those who have the most upto date skills. Read books on evelopment, follow blogs, attend user group meetings and go to conferences. And if you do have to find a new job it will be easier if you have CF 8 and Flex experience on your resume.
9. Network. If a developer has amazing skills and a great attitude but no one else knows them then it will be hard to get a new job. You never know who may refer you to work in the future. Go to user group meetings and talk with others, help others out on lists, attend the networking events at conferences, trade business cards. Focus on what you can give to others and then you will receive in return at another time.
10. Volunteer. A great way to stand out is to volunteer at your local user group, conference or company committee. Speak, write or blog. Just be prepared to do this on your own time. Consider it an investment in your future.
Attending a conference such as CFUnited will let you learning new skills, learn better project skills and network with more people than you could meet in 210 days at home!