Entries Tagged 'Becoming a Better Developer' ↓

Why You Should Re-architect Your Career to Amplify Your Strengths

Each of us has our own set of strengths and weaknesses but we never take the time to figure out what they are. Even if you did would you know what to do with the information?

You’ve probably heard that you need to identify weaknesses so you can fix them. After all, if you’re already strong in an area there’s no need to hone that skill, right? You should focus on your weaknesses so people don’t point and laugh at you when you try to…do whatever it is you’re weak at. Right?

That’s what most people think, but I’ve found this approach to be a recipe for mediocrity.

Continue reading →

8 Ways to Recession-Proof Your Programming Career

They finally said it – the “R” word. According to the National Bureau of Economic Research the U.S. has been in recession since December of 2007.

It’s a bit anti-climactic, seeing as we’ve been hearing about the financial crisis from every major media source for months. But stock indexes continue to slide and the unemployment numbers are getting worse.

So in this age of uncertainty how should someone react who simply wants to collect a few greenbacks in exchange for their brilliant programming acumen?

You could hide under your imitation Aeron and hope no one notices, or you could start pursuing ways to recession-proof your career.

Continue reading →

Startup Success Podcast, Open Source For-Profit Startups, One Laptop Per Child 2008, and $19 Usability Testing

The Startup Success Podcast – After the demise of The Micro-ISV Show, Bob Walsh is back discussing issues affecting software startups. A good weekly listen.

Open Source, For-Profit Startups – “FairSoftware is the place to start and grow your online business. We help you team with others, track revenue and share it openly and fairly. Hire people in return for a share of your income stream instead of upfront cash. You save money and they have more incentive to collaborate.”

One Laptop Per Child Give One Get One 2008 – For $399 you get one XO laptop for yourself, and one is sent to a child in a developing nation. The keyboards are small, but they run Linux and have wireless NICs.

$19 Usability Testing -  This is awesome. For around $19 (you can add bonus money to get your tests completed faster), you get a 15-minute video of a real user going through your site or web app, and a written summary of their findings. I’ve used it on two projects and it has raised a slew of issues we had no idea people would have problems with. Definitely worth a look.

And finally, from Paul Graham’s essay Why to Start a Startup in a Bad Economy (emphasis added):

If we’ve learned one thing from funding so many startups, it’s that they succeed or fail based on the qualities of the founders. The economy has some effect, certainly, but as a predictor of success it’s a rounding error compared to the founders.

Does Anyone Know of a Real Software Apprenticeship?

A Software by Rob reader writes:

Today, after typing in “learning .net through apprenticeship” into my Live search bar, I was pleased to see as the number 1 hit: Software Training Sucks: Why We Need to Roll it Back 1,000 Years … .  As I read the article, I found myself nodding in agreement and wishing for a solution. You see, as a programmer who hasn’t done what I would consider real programming since back in the BASIC and COBOL days, I’ve been struggling trying to pull myself up by my bootstraps learning C# by meticulously going through books and online material

I am right now in a position where I’ve made a commitment to stop what I’m doing to devote full time to learning a new programming model and I chose .NET over the LAMP stack. Since publishing your article, have you heard of anyone who has gotten creative with apprenticing new programmers?

A very interesting apprenticeship model I’ve encountered in the past few years, albeit in another industry, is one in the entertainment industry. My daughter had an aptitude for audio recording and, through research, found a company out in L.A. that does recording apprenticeships. She was chosen as an apprentice and within 10 months they were pleased with her work and hired her full-time as an assistant engineer.

Is there any reason in your opinion that such a model (or something close to it) could not work apprenticing .NET developers?

I haven’t heard of any real apprenticeship programs for .NET developers. I think it would be an excellent model for improving development skills, building morale, etc… but it would take a very special company, probably one run by a software developer, to even consider such a thing.

Has anyone heard of such a company? [Consider this permission to shamelessly plug your company]

Update:

I was recently contacted by a company in the UK offering a real software apprenticeship program. Details are below:

e-skills UK (an industry body for IT skills) is piloting a Software & Web Developer Apprenticeship in the UK, working with Microsoft and QA (a training company). Ten IT companies of all different shapes and sizes will be recruiting 20 apprentices, who will receive a 12 month structured apprenticeship programme. This starts with a 4 week programming boot camp, with 5 further weeks of technical training, on topics such as Data Modelling and Software Testing and, dotted throughout the year.

The key is that the apprentices will be working for the rest of the time, learning their trade as developers from the technical mentors in their companies, but also being productive employees. The pilot will be focusing on C# and the.NET framework, and the apprentices will be aged between 16 and 20, using this as an alternative route to going straight to college/university.

To get in touch, email ben.sweetman@e-skills.com or follow him on twitter @bensweetman.

What’s Better Self-Promotion: Speaking or Blogging?

What’s Next?
Like many software developers I’m afflicted with ‘What’s Next?’ Syndrome. It’s a disease whereby you’re never content with your situation, no matter how cool it is, how long you planned for it, or how many hours you spent working to get there. My stagnation range is 6-12 months; if I’m not learning new things by then I start to unravel. Blessing? Curse? Not quite sure.

It seems like the most common activities for climbing the ranks in the development community are blogging, writing books, training/teaching, and public speaking.

Blogging? Check.

So what’s next?

Continue reading →

The Single Most Important Career Question You Can Ask Yourself

By the time I was 13 I had been selling candy and comic books to my classmates for almost 3 years. Though I did quite well, I was itching to try something bigger, and that meant extending my reach beyond the walls of Math class.

This was the late 80s, so resources were limited for a 13 year old living in the country. I ordered all of the free information available in the work at home section of the Penny Saver (a free newspaper consisting entirely of ads), and started going to the library twice a week to read up on entrepreneurship. I was searching for a business idea that I could pull off at 13, and after literally hundreds of books, booklets, and information packets I decided to publish my own booklet on comic book collecting.

“Smart”
Since I was seven years old I’ve been an avid reader. I consumed 2 or 3 books a week during my childhood, including a large collection of “crazy facts” books and the Guinness Book of World’s Records (every year). By the time I was 13 I’d been reading 2-3 books a week for 6 years, and the breadth of my knowledge was astonishing for someone my age.

I knew how the stock market worked, why Beta had lost to VHS, why Apple was losing market share to the PC, and how double-entry accounting worked (although I couldn’t do double-entry accounting). But I had no idea how to start a business. With all of my book knowledge about the business world, I had no clue how to execute an idea.

Continue reading →

Q & A: What Should I Put on My Programming Resume?

I received the following email a few weeks ago:

I graduated with an MIS degree while serving in the Military. I took some programming classes like JAVA, C++ etc… I am now back in Boston, MA and find it difficult to find employment where I can learn to become a better programmer. I don’t have the experience but I am willing to learn. Can you please provide me with some direction on what to say on my resume, to gain the experience in the civilian workforce so I can become a better programmer?

My response:
Continue reading →

Self-Marketing for Software Developers

SmartMoney.com interviewed me this week for their article Web Sites Find Security Seals a Boon for Business. The article talks about ways online merchants, specifically small businesses, can use security seals to legitimize their websites in the eyes of potential customers.

It occurred to me that displaying seals doesn’t change how a website operates; the seals are all about marketing. They’re all about playing the game of looking legitimate to potential customers.

In this case, standards and seals are a good thing: they allow people to quickly verify if a website uses SSL or is reasonably “hacker safe.” This is helpful when you’re shopping for that antique Platypus Beanie Baby and wind up on a site you’ve never heard of. Seeing the Verisign seal probably gives you a bit of warm fuzziness.

Continue reading →

The Two Fundamental, No Frills, Square One Rules of Exception Handling

When I was a coding newbie I thought applications should never crash. I wrote code that caught and ignored errors because I didn’t know how else to handle them. I didn’t want the user to see an error page, and figured a running application was always better than an error page. Oh, how wrong I was. On one application alone (not written by me) I wasted 50+ hours over the course of a few months because of exceptions that were caught and not properly handled. Don’t let this happen to you.

I’ve found this mindset to be so common among new developers that I’ve distilled the basics down to two fundamental rules a new developer should follow to the letter. I’m exhausted with cracking open code and seeing a Try/Catch block with no action after the catch. Whether you’re using a language with actual exceptions is beside the point – what matters is that you read through these few simple paragraphs and never, ever obfuscate your application errors.

Picture this (in C#):

Try
{

‘ Application code here
}
Catch
{

‘ Do nothing
}

What happens when an exception is thrown from the application code? Nothing…and that’s a problem.

Continue reading →

Becoming a Better Developer Part 11: Get a Massage (and Get Your Boss to Pay For it)

This is part of an ongoing series centered on becoming a better software developer. For other posts in the series, see the Becoming a Better Developer heading in the right navigation.

Last Valentine’s Day my wife gave me a gift certificate for a massage. Nearly a year later (obviously a busy one) I finally redeemed it, and had the most productive day I’ve had in a while.

I’m a pretty healthy guy with no medical conditions or injuries, and I only occasionally eat my weight in carne asada. But I have aches and pains just like anyone else who sites in front of a computer all day.

My massage therapist (whom I mistakenly called a masseuse…oops!) gave me quite an education while I was there. She began by asking about my breathing; most people with desk jobs tend to have very shallow breathing while seated. She drew my attention to my breathing as she worked on my neck, chest, rib cage and, oh yes, the back! Anyone out there with neck aches? Rounded shoulders? Pain in wrists & forearms? Yeah, I thought so. You can have the best ergonomic workstation in the world, but our bodies need care to compensate for endless hours in a chair. Massage with an eye towards specific work in these problems areas can go a long way towards longevity in this field.

Continue reading →