Thursday, July 01, 2010

Train and Drive

I have recentally been re-hired at my previous job. Great company, good people. We really get a long very well in our IT Department.

But what I want to talk about today, is how to light the fire of drive/ambition in your fellow worker's.

I have been recently put in charge of our training program, basically me, every friday, doing a presentation on different web/it/coldfusion topics.

This is really something I could fall in love with. :)

I love the idea of helping others, pursue their dreams to improve their skills and master their craft.

But why do so few people have the drive?

Yes, I hear the complaint, that many just don't have the time to train.

But do we also have the time to become stagnant in our knowledge and skills?

No matter how good or bad I may be. I am always driven to improve myself, to always learn, I have piles of books at work at home. I always read a variety of blogs.

I want to be able to get everyone on board, to master the basics, then they can go their own way, in terms of different methodologies, frameworks and techniques...

I want to learn so much, to take what I know, learn what's wrong with it and why, and then make it better.

When I do code, I want to make sure that it won't be something that embarrasses me in the future, looking back.

Too often, I have had to be the person who cleaned up other people's code, so that has really driven me to clean up my own code.

I have no authority to order people to learn, or to want to learn. But I want them to want to learn, to show me they know what I want to teach, then we can focus on more advanced topics.

But without mastery of the basics, variable scoping, good sql queries, clean, readable code, good planning, project management, etc.

How can we even try, to push on to topics...

For those of you who have that drive? How does it feel to you?

When I was a newbie programmer, I kept expecting help from others, but that really never comes, it really is up to each of us individually to push ourselves as far as we want to go.

So where do you all want to go?

Thursday, June 17, 2010

Do we matter?

Lately I went to this job interview for Chandler, Arizona, a good company, paid well, paid for my trip.

But when I go there, I get the feeling of being a cog, just learn the system, fix the bugs do the tasks.

But I look at their site, and it is poorly designed.

The code is well done, but seems overly complex for the actual needs of the site.

And the usability and design seemed rather atrocious. But being the concerned and helpful person, I wanted to help inform the people, so we can release a solid, reliable and usable site. Instead, I was told I should just focus on my job.

And to me that is a turn-off.

I know my opinion won't always be right, or always taken, but I am an experienced professional, not just some cog to do some typing.

I am the kind of programmer, and person, that wants to make my company/department the best it can be.

I will never be a cog employee, I will be a team uplifting, let's become the best we can be employee.

Yet I had to turn down that fulltime job, to go back, and mostly just get a good part time job, with a company I trust to listen to me.

Why is it so hard to be just listened to?

Isn't it a better company when we're all working together, on each part of what makes us the best, towards same goals?

During the plane ride to Arizona, I was reading the book by Joel Spolsky, Smart People Get Things Done. Really great book about hiring great programmers, of which I hope to be one.

I wanted to know what kind of company I want to work for, and what kind of employee I should be to get that kind of job.

I have no problem working my butt off, but it has to be for a company that wants and respects me, and wants me to help them be the best.

That's just me...

Craig M. Rosenblum

Monday, February 15, 2010

ColdFusion needs a rebirth

I have had a lot of struggles with getting a job in coldfusion, I have a part time one now.

But I really love the language, working with it, learning what more I can do.

But I keep re-reading about the death of CFDJ, and it really get's to my heart, yes they didn't always
do things very wisely, and their site really sucked with video ads.

But it was really nice to have a print magazine, i can collect, review, and re-read...

Now it feels like their is no printed history of coldfusion...

And I keep reading on how many people think coldfusion is dead, and doesn't need to be learned or used.

To me that's utter bullocks.

But they are right about 1 thing, how we package coldfusion is pretty horrible.

How we make this as a server product, instead of a language product, makes it a horrible bite to get people into coldfusion.

I think we need a totally rethink of how it is sold, advertised, packaged, and discussed in the community.

Also we need a new approach to education and mentoring, because if people are writing horrible applications, it doesn't make us look good.

Also we so seem to focus on the niche aspects of coldfusion, that so many people/programmers/companies barely have the grasps of the basics.

The Basics:

1. Project Management - Tracking assignments, due dates, priorities

2. Planning - Planning your assignments, making sure they are clear, and identify obstacles to clarity, so that everyone know's exactly what is going to be delivered.

3. Source Control - Use something to control revisions of your code and database changes.

4. Back Ups - Always take backups of code, and database, gives you the ability to restore in case of hard drive or hardware problems

5. Error/Bug Tracking - Making sure bugs are tracked, not just ignored in the cfadministrator.

6. Looking at the log files from web server/database server/coldfusion server, regularly to see if users are having problems.

Joel Spolsky called this his 12 step test.

But what percentage of coldfusion users, actually pass more than 1 of this checklist, I'd bet it's a lot lower than most advanced programmers think.

And this is what has frustrated me, for the last several years, when people focus on what is the fads or trends, rather than the basics, which yet again get overlooked, unused, unmentioned, and companies creating bad cf apps or code, and make us look bad.

We should be seriously focused on generating great coldfusion programmers, that get fully trained and mentored to be great programmers, no matter what language they use...

We should have a far better documentation pages, that hatefully always force frame usage, that is so annoying. Does anyone actually do any usability testing on actual users?

Does anyone at Adobe care about their end users?

Or is coldfusion just a stepping stone for you to move on to better languages?

I can't get over my love for coldfusion......and I want to help if I can improve it.

I am so sick of all the skepticism, it is time for leadership...