Alas, Dear Reader (I suspect that there is indeed only one person ever reading this...), the vicissitudes of wage slavery have kept me from posting...
[perhaps a confessional tone "Forgive me, Blogger, for I have sinned..."]
Nearly 6 months since the last post. I have been busily diving into new sections of the product, ostensibly to "broaden" my experience.
The Ninja aspect of this has been the lack of input from me on the schedules - dates were set by management without my being asked how long it would take to develop the code. Most deadlines were on the 8-week plan, with the notable exception of the first, which was 10 weeks, 6 of which were consumed by the requirements team pissing away on the requirements document, and the most recent, which went 7 weeks late, and one week pulled in by the VP.
So what is a Ninja to do? Major changes to the product and not enough time to develop it properly? I punted - I developed the new server in Python, driven by text configuration files, and wrote 2 small C++ interface utilities to reach into the product where Python could not. I avoided working significant overtime, and came in almost on schedule - and I plead my case there on the many meetings that wasted my time. ["We will hold daily 2-hour meetings to determine why productivity has plummeted. All the VPs will be there to hear explanations"]. And the decision not to work excess hours lent a Zen-like calm that helped. I did not panic over delays or setbacks.
The lesson to be learned here is that you sometimes need to work outside the system - use a different language, ignore the micro-management, and solve the problems without worrying about how to fit them into the existing framework. I got the chance to use Python in a production project, and I didn't kill myself.
As an aside, I really have to compliment the Python developers - the suite of modules available in the standard package is outstanding - FTP library, tools for handling gzipped tarballs, easy access to the command line, all in the "stock" package. Kudos, folks!
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Developing software in the Real World is different from all the theory. I'll attempt to explain my insights into this process, based on 25+ years in the industry in a number of different companies.
Friday, December 01, 2006
Thursday, June 29, 2006
Reminders of reality
My job brought me a dose of reality this week.
No matter how much Management claims to want to produce good software, they don't want to give up the idea that they know better about how to produce it.
Specifications that are never frozen - schedules that do not include the time for documents required by company process, etc.
The Ninja Solution(tm)?
You need to understand your software well enought to have the basics of a feature hashed out in a hallway conversation with the other developers. If you have clean interfaces, and well-factored classes, you can have the design in mind before they ever finish the spec, which will change anyway.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
No matter how much Management claims to want to produce good software, they don't want to give up the idea that they know better about how to produce it.
Specifications that are never frozen - schedules that do not include the time for documents required by company process, etc.
The Ninja Solution(tm)?
You need to understand your software well enought to have the basics of a feature hashed out in a hallway conversation with the other developers. If you have clean interfaces, and well-factored classes, you can have the design in mind before they ever finish the spec, which will change anyway.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Sunday, April 23, 2006
The First Rule about Optimization Club....
...Is you don't talk about Optimization.....
[yeah, cheesy, but this is the web.]
I ran across this, an article about code optimization, and I gotta say, it's dead on. I've been burned by bad guesses as to where a program was inefficient, and using a profiler to start with is vital.
I do think that the final steps of optimization need to be weighed against the maintainence load of tighter code, and only done if the program needs the speed.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
[yeah, cheesy, but this is the web.]
I ran across this, an article about code optimization, and I gotta say, it's dead on. I've been burned by bad guesses as to where a program was inefficient, and using a profiler to start with is vital.
I do think that the final steps of optimization need to be weighed against the maintainence load of tighter code, and only done if the program needs the speed.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
The First Rule about Optimization Club....
...Is you don't talk about Optimization.....
[yeah, cheesy, but this is the web.]
I ran across this, an article about code optimization, and I gotta say, it's dead on. I've been burned by bad guesses as to where a program was inefficient, and using a profiler to start with is vital.
I do think that the final steps of optimization need to be weighed against the maintainence load of tighter code, and only done if the program needs the speed.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
[yeah, cheesy, but this is the web.]
I ran across this, an article about code optimization, and I gotta say, it's dead on. I've been burned by bad guesses as to where a program was inefficient, and using a profiler to start with is vital.
I do think that the final steps of optimization need to be weighed against the maintainence load of tighter code, and only done if the program needs the speed.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Wednesday, April 19, 2006
When Managers Attack, Pt 1
Schedules are such fun.
So we have a tentative schedule for the next product release, and so we set a date for code complete. After a few managerial meetings, the Powers-That-Be decide to add a couple of new features. Fortunately, they also added 2 weeks to the schedule. So my boss publicizes that to the group, and we're happy.
So early this week, the Higher-Powers-That-Be decide that we need to pull the schedule in. A quick analysis determines that the new features are not actually affecting the code in my system, so we can safely cut the additional 2 weeks off again.
And now, they realize that they had not specified a feature, and so they add it into the schedule, but DO NOT extend the deadline. No idea about impact, no idea as to effort. So I do what every good Ninja Developer does - consult the experts and determine that there is a clever, clean design change that will be easy to do.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
So we have a tentative schedule for the next product release, and so we set a date for code complete. After a few managerial meetings, the Powers-That-Be decide to add a couple of new features. Fortunately, they also added 2 weeks to the schedule. So my boss publicizes that to the group, and we're happy.
So early this week, the Higher-Powers-That-Be decide that we need to pull the schedule in. A quick analysis determines that the new features are not actually affecting the code in my system, so we can safely cut the additional 2 weeks off again.
And now, they realize that they had not specified a feature, and so they add it into the schedule, but DO NOT extend the deadline. No idea about impact, no idea as to effort. So I do what every good Ninja Developer does - consult the experts and determine that there is a clever, clean design change that will be easy to do.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Sunday, April 09, 2006
I Told Ya So!
A few posts back, I discussed offshoring, and I mentioned that one of the big things standing in the way of American companies when they try to hire in India is the relative volume of applicants. Browsing Google's gmail feeds I found this article, which details the problem confronting Inidan hiring - the sheer volume of people they have to process in the short times. It also notes that there is an impending skills shortage there. All this is good news for teh American IT/software market - as offshore talent gets scarce, their salaries rise, and it becomes less effective to move the jobs away.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Wednesday, March 29, 2006
Are Geeks Countercultural?
It's hard to be a real geek these days.
Online gaming is almost mainstream; everyone is hooking up through MySpace or some other similar website; collaborative sites like Flickr abound; everyone has email.
Even geek fashion is everywhere - between the 70's revival and Napolean Dynamite, plaid is scarce.
During the dot-com boom, computer people were trendy and popular, and everyone wanted to be a webmaster. We're still in the halo from that time.
So geek culture is slowly inching its way into the mainstream, but from a flanking angle.
We're not yet totally accepted, but we're no longer pariahs. The schoolkids are still vulnerable to Lord Of The Flies scenarios, but less so after Columbine.
The downside is that with this explosion of mainline geekiness there is a greater capability for the less-geeky to better harass those they dislike. Online bullying is almost trivially easy, and the posting of embarassing photos to websites can draw volumes of ridicule from across the nation.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Online gaming is almost mainstream; everyone is hooking up through MySpace or some other similar website; collaborative sites like Flickr abound; everyone has email.
Even geek fashion is everywhere - between the 70's revival and Napolean Dynamite, plaid is scarce.
During the dot-com boom, computer people were trendy and popular, and everyone wanted to be a webmaster. We're still in the halo from that time.
So geek culture is slowly inching its way into the mainstream, but from a flanking angle.
We're not yet totally accepted, but we're no longer pariahs. The schoolkids are still vulnerable to Lord Of The Flies scenarios, but less so after Columbine.
The downside is that with this explosion of mainline geekiness there is a greater capability for the less-geeky to better harass those they dislike. Online bullying is almost trivially easy, and the posting of embarassing photos to websites can draw volumes of ridicule from across the nation.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP
Subscribe to:
Posts (Atom)