Ruby Learning Delayed
I said in a previous post that I was going to start learning Ruby. Well, I got sidetracked. I picked up some interesting books that I am reading before I get started with Ruby.
I'll post reviews of the books after I get finished.
My first step.
So I have collected a small set of resources to begin my learning process. I have a contribute ruby learning site Ruby Learning. As well as 3 books purchased from Dave and /|ndy of the Pragmatic Programmers
- Programming Ruby
The Pickaxe Book by Dave Thomas with Chad Fowler and Andy Hunt - From Java to Ruby by Bruce Tate
- Everyday Scripting with Ruby by Brian Marick
I'll try and write a review on these resources.
I know that there are a lot of Ruby resources. I am trying to start with a manageable amount of information to sort through.
I would like to post a short story about The Pragmatic Bookshelf, where I buy 80% of my Computer Books.
A few weeks ago I ordered 5 books from them. The books arrived in less than business days, I ordered on Monday and books arrived on Saturday. One of the books had a problem with the content. I contact them on Saturday evening, I had a response from Dave in minutes apologizing and telling me they would send it out on Monday. Much to my surprise they Express shipped the book and I received it on Wednesday. To me this is customer service at it's finest. I have been a customer of The Pragmatic Bookshelf for a couple of years, but they have gained a lifetime supporter, and customer.
Thanks
Dave and Andy, and the rest at The Pragmatic Bookshelf.
New Languages
I heard someone say once that you should learn a new programming language every year. This year I am working on learning Ruby. I emphasize learn. I am not going to attempt to master the language. I will try and keep up a running log here.
Labels: ruby
How Profitable
How profitable was your company last month? your division, department? How profitable were you? You have a definite cost associated with you in the companies accounting books, your salary, benefits, the equipment that you use. Add that up and you have the amount that you cost the company.
Now what did revenue did you generate for the company? What costs were saved because of your, this is a kind of in direct revenue. Do you know? Can you answer any of these questions? Are you involved enough in the business side of your job to be able to find out? Are you concerned enough about your career to know who to talk to?
Maybe it can't be broken down individually. But your teams contribution can probably be expressed in a revenue, or cost savings amount. Divide that by the number of people on your team. Now take your salary and multiply it my about 1.3(for standard benefits) and compare the two numbers. If your salary plus the benefits is the larger number then its time to figure out how to do more work so you can become profitable. If the salary is the smaller number congratulations, you might be a good investment. Keep doing what you are doing and keep finding ways to improve otherwise you might find the numbers reversed
Sun Fire T2000 Performance Contest
Sun Niagra Server
After reading this entry on Feld Thoughts about Sun letting people try a Sun Niagra server for 60 days. I followed his links to this form to see if I could qualify Global Decisions for the trial.
The Niagra could replace potentially three i386-based servers. Two development and test servers in my home office and a production server that we lease from Tek Alchemy.
I was soon contacted by the Sun rep., since two of the three servers are based in my home office and the server was to be delivered to my home when he ran a 'D&B' it threw up a red flag. But when I explained the situation he understood and one hurdle was overcome.
To keep the story short I read the blog entry above on Feb 22nd, by the 24th I had been approved and today I received my server. So now it's time to put it through its paces. And I'll let you know how it goes as it happens.
Determining Business Value
Today I am going to make some broad statements: We write Business Applications; most programmers today write Business Applications. But how much of the business does the average programmer know?
When was the last time yous looked at a Quarterly Sales Report, a Balance Sheet, an Income Statement? Don any of those reports mean any thing to you? How does what you are doing affect the bottom line of your company? The more telling question in my mind is do you even care? And are you willing do so something about it?
Why should we care? Isn't our job all about sling code? Churning out the RTF's that the customer told us they needed this release, or this iteration. We don't need the information the Balance Sheet will give us to help us code, or design, or test or any or the multitude of mundane tasks that make up a typical day in a common programmers life.
Chad Fowler wrote an excellent book(My Job went to India(And All I Got Was This Stupid Book) 52 Ways to Save your Job) with more than one reason that you should be interested in the business end of your company, Chapters 21 and 24 specifically.
But I'm not just talking about saving your job. I'm talking about making you a better corporate citizen. I'm talking about figuring out where you and your team fit in the company and making an impact. Maybe you aren't a software company, so your company doesn't sell the product you develop. Then find other ways to make you contribution make a difference. Those Running Tested Features should make a difference to the bottom line. Find out how. That is my challenge to you. From one common programmer to another.
The XP Customer
James Shore recently wrote about responsibility Product Manager for the success of the project. You can read his article here.
When you are company that sells a software product you have multiple customers in the XP sense. You have your Product Manager, the third party resellers and the actual users of the system.
The third party resellers want to see the flash, they want to see the features that show well in the demo's. The features may not be the ones that the end users will actually use, but they are the ones that will get the resellers to show your product.
The end users want features that make their jobs easier. They want the bugs fixed. They want a better product.
This is where your Product Manager is going to earn his keep. He has to juggle the best interests of your product. He must choose the features that will impress the resellers while ensuring that the product continues to satisfy the demains of current users while attracting new users.
To quote James:
So... get a good product manager. If your company won't commit the resources for this critical member of the team, maybe your product isn't valuable enough to be developing in the first place.
"Product Managers Are Critical To Success (James Shore)
A Common Programmer
I have finally decided to begin a blog. I intend this blog to be mainly musing about Extreme Programming, Java, Ruby, Agile Programming and at times other IT centric topics. I do not intend for this to be a diary of my personal life.
Thanks to Sandy of Column 2 whose blog article finally got my butt in gear.
I am still exploring the settings and templates of Blogger, so expect changes.



