Entries Tagged 'Software Development' ↓
December 23rd, 2008 — About this Blog, Micropreneurship, Software Development, Startups
Consider this the Year in Review for Software by Rob. Here are my seven most popular posts from 2008:
The Software Product Myth
“A certain percentage of developers become unhappy with salaried development over time (typically it’s shortly after they’re asked to manage people, or maintain legacy code), and they dream of breaking out of the cube walls and running their own show. Some choose consulting, but many more inevitably decide to build a software product.
‘After all,’ they think ‘you code it up and sell it a thousand times - it’s like printing your own money! I build apps all the time, how hard could it be to launch a product?’”
Should You Build or Buy Your Micro-ISV?
“None of the products I’ve built or bought required skills beyond that of a mid-level developer. Let’s be honest, building an invoicing system does not involve insanely complex algorithms and coding chops. Most successful Micro-ISV products (and a lot of not-so-Micro-ISV products) could have been built by a few solid mid-level developers.”
Continue reading →
October 11th, 2008 — Software Development
A few months ago I received a review copy of Debugging Your Information Technology Career: A Compass to New and Rewarding Fields that Value Computer Knowledge. I haven’t written many book reviews on this blog, but this book caught my attention as it relates to some of my past posts on job dissatisfaction and the potential for an IT job crunch.
I’m intrigued by the unique concept of this book: to provide alternatives to IT workers looking to change careers, but who want to leverage their existing technical knowledge.
The book lists 20 positions and includes an overview of each, a job description, an example of the typical workday, advice on where to look for this type of job, and a look at how the job is likely to hold up to outsourcing and a recession.
A few of the job titles include:
- Product Manager
- Systems Engineer
- Technology Due Diligence Analyst
- Technology Insurance Underwriter
- Intellectual Property Lawyer
For someone looking to leave software development, this book would serve as a good starting point for additional research. I would not recommend it to the casual reader (the text is a bit dry), but if you are seriously considering leaving programming it’s a good way to get an idea of where you might find refuge.
If you’re in this position drop me an email and I will send you my copy. (sent)
October 3rd, 2008 — Micropreneurship, Software Development, Startups
Micro-ISVs. I’ve been contemplating the issue of building vs. buying for the past four years.
I’ve been on both sides of the coin: I’ve purchased 10 profit-oriented software products or websites, and built three.
Knowing what it takes to develop the initial version of a non-trivial software product (read: hundreds of hours), I’ve become a fan of buying. This is based on two factors:
- I have no spare time and a bit of spare money
- Hmm…no, I guess #1 is the only reason
As a software consultant I’m booked full-time and I bill a reasonable hourly rate. So to spend 348 hours (2 months) building a product means I’m approaching a mid-five figure investment into a software product. That’s not play money; those are real dollars that don’t wind up in my pocket.
Continue reading →
June 26th, 2008 — Software Development
A friend of mine wrote the other day:
If you include parentheses ( ) anywhere in the directory path of a website, the error list in Visual Studio 2005 SP1 will not report the File/Line number/Column number for any compile time errors in the website project.
This has been a known issue since at least last year (I found blog posts dating from back then). One of the developers here [at his current place of employment] reported it to Microsoft months ago when they were on-site and nothing happened. I asked about it again last week after spending a couple of hours tracking down an error, so he opened a support ticket for it. A week later MS gets back to him and says “change the parenthesis to brackets and it will work fine.”
Except that we are on 3.x of the application and it’s all in MS Team Foundation Server (TFS), and TFS doesn’t allow you to rename a project (according to the guy I’m working with).
First of all, ouch.
Secondly, can anyone confirm or deny that you can’t rename a project in TFS?
Third, if you can’t rename a project in TFS…Microsoft, this is lame…fix it!
May 24th, 2008 — Software Development
Giles Bowkett published a post titled Two Flaws With “Time Off From Programming” that disputes some of the thoughts in my recent article The Technology Cliff: How Time Off From Programming Affects Your Chops.
The first point he disagrees with is that leaving programming hurts your coding skills. Giles took a similar leave from programming that was similar to my foray into management, except he became a “starving artist”:
…what I lost in technical knowledge I gained in perspective…After that period, the code I wrote upon returning was more compact and more powerful. The things I built were more inventive, more original, and more worth building in the first place.
I can’t dispute first-hand experience, but I have a hard time agreeing that leaving coding for 2-4 years to become an artist is going to leave you in a better place to come back and hit the ground running writing code. Leaving for a short sabbatical is fantastic; want to throw clay pots for 6 months? Awesome…I bet you’ll come back more motivated and energized.
But the premise of my article was that becoming an artist, a manager, or a shoe salesman for several years is going to take its toll on your coding skills; I don’t see any way around it.
Next, Giles comments about my statement that “4 years could include 2 or 3 new releases of your language”:
Consider how different this sentence would be if Rob wasn’t assuming that you use one language, you choose that language, you settle on that language, and four years later, even though you haven’t written any code in it over the past four years, that language is still your language.
4 years could include 2 or 3 new languages you might use.
Suddenly it sounds like fun!
This is true; if I came back to programming after 4 years I would consider switching to a new language. But I don’t see how this changes the conclusion.
Whether you try to learn the past 2-3 revisions of a language you know, or try to learn one from scratch, the learning curve is going to be similar. I would argue that if you are an expert in a language (I don’t mean in the syntax, but the class libraries, architectures, standards, style, etc… a truly deep expertise) and you come back in 4 years, you’re going to have an easier time returning to your expertise in the language that you left, as opposed to something completely new.
Learning a new language is fun? Definitely. Easier to transition into? No chance.
Finally, Giles concludes with:
If you want time off from programming to be good for your programming skill, choose a way to spend that time off which will be good for you in general…Time away from programming is very, very healthy, and you should definitely take it now and again.
I agree with him here. I’m a hearty proponent of sabbaticals, long vacations, and lots of travel. Short times away from programming have always done me good and allowed me to return to work refreshed and with new perspective. But stepping away for multiple years is going to take its toll on your expertise, whether through new technology releases, or simply memory loss.
May 18th, 2008 — Becoming a Better Developer, Software Development, Startups
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 →
May 15th, 2008 — Software Development
I received an email the other day asking how long it took to get my coding chops back when I moved from management back to development. The author asked:
Once you adopted your ‘Write Code’ mantra, how difficult was it to reverse the ‘management lobotomy’ (an excuse a prior manager had when he no longer could provide detailed technical value). Did you find yourself struggling to get back into ‘for loops’, ‘if statements’, ‘datasets’, and the like?
Continue reading →
May 15th, 2008 — Software Development
Every once in a while I find myself in a conversation about scanning for viruses from code (yes, my life is that exciting). The scenario often goes like this:
A middle-manager, having recently learned about viruses from his son’s copy of Wired magazine, realizes you’re saving user-uploaded files to your web server, and asks if you’re performing virus scans on the uploaded files. You panic, mumble something about how it’s “in the works,” and rush off to look for an open source virus scanning component.
You frantically search Google for “virus scan from [language of your choice]” but the results are dismal. You try 5 or 6 other searches and they all yield the same result: people like yourself asking this same question on forum after forum, with no helpful answers.
A while ago I went down this rabbit trail (sans the middle-manager) trying to scan for viruses from ASP.NET / C#. After working on it for a few days I arrived at the following conclusions:
Continue reading →
May 6th, 2008 — Software Development
Regular reader (and former co-worker from 8 years back) Matt Youell posted the following comment on my post about moving to Boston:
Do me a favor and post on how you move your tech stuff. I just did a modest 600 mile move back in January and it was a pain in the ass. My computers made it intact but then getting set back up, getting services, etc. was a real struggle. Of course I hadn’t moved in almost 7 years, so I was pretty entrenched. I’d love to know how you manage with all your moving.
Matt and I emailed a few more times on the subject, and he brought up some specific problems he ran into during his move that I’ll discuss below. Having moved 9 times in 7 years I’ve gotten pretty good at staying lean in the “stuff” department, and staying mobile with my technology.
Continue reading →
April 29th, 2008 — About this Blog, Software Development
I write this post with mixed emotions. I acquired DotNetInvoice (an asp.net billing system) 15 months ago, fixed loads of bugs, added 50+ features, provided support, turned the customer base around (they were close to mutiny), and grew revenue by 6x. This program has become part of me as much as any code you work with for over a year. My intent was to turn it into a full-time Micro-ISV, but it appears that life has other plans.
I’ve come to realize over the past year that the time I’ve spent developing and supporting DotNetInvoice (DNI) has virtually replaced the time I used to spend working on my blog. Long-time readers will notice that my posting frequency dropped pretty substantially at the start of 2007 (due to my acquisition of DNI).
Debating this internally for the past several months has forced me to evaluate my goals and plans for the future. Through this I’ve decided to invest more time into growing this blog, and into an opportunity that I’ve been chasing for years (more to come later)…all of this means I have to make sacrifices to create room in my life.
So I’m selling DotNetInvoice.
Continue reading →