Dave Balzer

Confessions of a Webgypsy

<August 2008>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456


Navigation

Blog Roll

Subscriptions

Post Categories



Business and Consulting (RSS)

Business and Consulting
So you want to be a senior developer?

I was told once by a good friend of mine that a senior developer is one who has a firm grasp on the basics and the ability to find any answer they are faced with.  I have always agreed with this assessment, but I would also like to propose a list of characteristics any  senior developer should exhibit.

  1. A Senior Developer needs to be a leader. 
    Anyone assuming the role of senior developer must usually wear the hat of team lead.  If you aren’t a natural leader you may not be suited to the job.  Team environments have a tenancy to be dynamic and full of varying opinions.  If you are easily mistaken for a door-mat then more often than not your team will fail in their efforts.  Don’t dispare though, this is an area where you can overcome.  Next time you are browsing on-line for the upcoming conferences, find a leadership seminar and give it a try.  It may not be as interesting as learning about Yukon’s new XML Data Type, but I guarantee your career will flourish.
  2. A Senior Developer needs to be a teacher.
    So how did you get to be a senior developer in the first place?  Most likely you studied hard, got that first job, had someone take you under their wing and show you the ropes, and faced lots of challenging problems in the school of hard knocks.  Now that you’ve reached the level of Senior Developer, you must take someone under you wing and mentor them passing on the vast knowledge you’ve accumulated.  Mentoring/teaching does several things, first it helps the Jr Developers to grow in their profession.  This is beneficial to you because when the Jr Developers under your charge grow and exhibit professionalism then your projects will succeed more often.  This will make you look good.  Finally, mentoring also helps you by reinforcing the skills you already know.  I’ve found that nothing you can do will give you a deeper understanding of something than when you have to put it into words to share with someone else.
  3. A Senior Developer needs to be compassionate.
    Do you remember what it was like to start your first job and have a total paralyzing fear of being good enough? OK, so maybe you aren’t obsessed with your inadequacies the way I am, but being a Jr Developer is hard.  You want to look like you know what you are doing while trying to figure out what you are doing.  Senior Developers need to be understanding and help to guide them through this difficult time in their career.  Be supportive, be helpful, and be forgiving.  I’m not suggesting that we carry their load or hide incompetency, just that we look for strengths and build upon them.

  4. A Senior Developer needs to understands customer service.
    Customer Service is king.  And who is your client?  Well, it’s the company you work for as well as the company(s) they work for.  It is anyone who is involved in the flow of finances that eventually find their way into your account.  Nothing is more damaging to a company or an individual’s career than poor customer service.  We need to treat the client with respect.  We need to understand the clients needs.  We need be responsive to the clients requests.  We must be polite and must never criticize their ideas.  Remember that by your actions you are are as much a salesman as you are a developer. 
  5. A Senior Developer needs to understand the technology.
    Never stop learning.  Yes, we need to understand the technology that we’re working with, but as you’ll noticed this is the last item on my list.  Why is it last you may ask.  There are two reasons.  The first goes back to my opening statement that a senior developer must have a firm grasp on the basics and the ability to find the answer to any problem they are facing.  The second is that as almost no-one becomes a developer unless they already have a love for the technology.  Most of us spend great deals of time reading, studying, and playing with the newest beta releases of all the tools and components.  It’s who we are.  However, with that said, if you have become stagnant in your growth nothing is more important for you than to updating your knowledge. 

There you have it.  My list of must have characteristics for a senior developer.  So do you feel up to the task?

[ Originally posted at http://www.devauthority.com/blogs/dbalzer/default.aspx     Get your own blog at http://www.devauthority.com ]

posted Monday, May 01, 2006 10:00 AM by dbalzer with 0 Comments

Fire Your Clients! FIRE THEM ALL!!!
Eric Wise posts a great article on firing your clients.  I really love his take on this.  I could have used his advice before venturing down the road of full time consultant myself.  I have had nearly every one of these clients and have made all the mistakes that enable them to be the way they are.  Thanks Eric for this insightful article.

posted Wednesday, June 15, 2005 5:26 AM by dbalzer with 0 Comments

Hire Productive Employees

Eric Wise and I have been talking recently about business practices and employee relations.  Read his latest post regarding compensation and working hours.  The main point he makes is that many experienced developers would be willing to take a pay cut to work less hours.  The benefit to the employee being more time with family or for the pursuit of other interests.  The benefit to the employer being that they could hire quality developers for a lower cost.  One thing I would like to add to this discussion is that although the employer would be getting less hours from the developer, I believe in most cases they would achieve the same level of productivity from them.  Developers who are happy and well rested have the ability to aproach a problem from a fresh perspective.

Employers, I hope you will consider the advantages and possibly even give this approach a try if you find qualified developers willing participate.

I would love to hear your thoughts on this. 

posted Thursday, May 19, 2005 7:51 PM by dbalzer with 2 Comments

How do I know when I'm overworked?

I have of late been burdened with a tremendous workload that keeps me in my office from early in the morning until early in the morning.  I am a self-employed, consultant, contractor, freelancer, call me what you will.  What it boils down to is I am now doing four times the amount of work for about two-thirds the amount of pay.  Seems like a great scenario wouldn't you say?

I realized this morning (about 3 am) that I have reached a burn-out point.  I think it happened when I had been coding for nearly 2 hours on some inane form/database transaction and I had to stop and try to remember what the project was.  I honestly couldn't remember.  I went to bed disturbed by the fact that I still couldn't recall who I was working for.  It's then I realized I NEED A BREAK.  Isn't being a contractor great?

posted Thursday, September 30, 2004 9:22 AM by dbalzer with 0 Comments

Microsoft goes open source

Microsoft has released it's latest (third) open source project, FlexWiki.  It is using Source Forge for distribution. 

You can find the story here

posted Wednesday, September 29, 2004 7:33 AM by dbalzer with 0 Comments

Dot Net QnA Lives!

The .NET Q&A Blog is now live.  It started with an idea that Jay Kimble had to start a blog dedicated to answering questions anyone may have regarding any issue in .NET.  The idea is simple, you can go to the blog and use the Contact link on the side to email your issue.  The issue then gets stripped of any project specific information (for the protection of the inocent) and posted to the blog for all the other bloggers out there to respond to.  The advantage of doing this in a blog is that google seems to index blogs better than forums, so it will be easier for others to find these answers in the future.

 

posted Thursday, June 17, 2004 10:29 AM by dbalzer with 0 Comments

Jumping in the pool with OOP!

Ok,  If you have been following Jay Kimble's blog you have read about me and my lack of Object Oriented Programming.  It's not that I don't understand what OOP is.  It's also not that I don't understand some of the benefits of OOP.  My dilema stems from working as a contractor.  Two major problems here.  First, I have had no-one to mentor me in this area.  I lost all professional contact with developers who were better than I about the time my company was embracing .NET and these new technologies.  Prior to that I had ample opportunity to learn in the technologies we were using at the time (classic asp, vb 6.0, etc...)  but have never had this benefit in the .NET world.  The second problem is that now that I'm an independant contractor I have so little time to spend investigating new architecture that I have been afraid to take the leap from my classic coding approach.  I am too busy being CEO, Marketing Director, CFO, CTO, Sales Director, DBA, Sr Developer, Grunt Code Monkey, Project Manager, Receptionist, Janitor...  ok, you get the idea.

Despite the time crunch I'm facing, I'm getting ready to jump into the OOP pool.  I realize that to alieviate some of the time constraints I have, I need to have a more extensive object library.  Less coding equals more free time (or more projects one or the other).  I'm hoping that some of you may be able to help me with this.  I've started a new category here for OOP and hope that all of you will assist me (and hopefully others) in my quest to become Object Oriented.  I would like to see it become a tutorial of sorts on OOP.  After all, you never know when you may have to maintain my code someday.

My first issue is I need to get into the OOP mindset.  I need to get in my head when it's appropriate to write code to do some task inline in the page, and when I should be creating an object to handle this.   Please post your suggestions and tips.

posted Thursday, June 10, 2004 8:08 AM by dbalzer with 2 Comments

Personal Growth in a Dark Basement

I have been thinking a lot lately about both the joys and pains of being an independent contractor.  I have opted to take on this role to allow me to fulfill some personal goals.  As a contractor I am able to continue to work for the same company that I have for the past four years but live halfway across the country.  As a contractor I can sleep until 8:55 in the morning and still be in the office by 9:00 for that conference call.  As a contractor I can walk upstairs and talk to my wife when I need to or take a break to enjoy some playtime with my son.  As a contractor there are many things that are beneficial to me, but there is one thing that I lack.

I have found the thing that distresses me most in my position is the lack of opportunity for professional growth.  Sure I could go to more conferences, take some courses at the local college or on line, spend hours and hours reading volume upon volume about best practices and architecture, but then I would be giving up all the benefits of family time that I have bought myself with this position.  Besides, I never learned much this way.  I have always benefited from close personal interaction in the workplace.  From mentoring relationships where I have not only been mentored by developers who were better than myself, but where I was able to pass that knowledge on to someone else.  I think that is where I have learned the most.  When I'm teaching a concept to someone else, my understanding of the issue generally grows exponentially. 

So here I am trying to figure out how to keep myself from slipping back to the level of code monkey and continue to grow when my best friend and mentor Jay has begun to realize my predicament.  He is going to help me by mentoring me once again.  That just leaves the issue of me being able to teach these concepts to others to help cement them in my own understanding.  I am going to begin to use this blog to express my understanding of these issues and hopefully it will be useful to someone else as well.  I also welcome any comments to help steer and correct me when my conclusions are in error or do not reflect “best practices.”  I believe that as a contractor this is the only way I will move from the level I'm at to the level I want to be.

posted Tuesday, June 08, 2004 5:21 AM by dbalzer with 0 Comments

FREE GOODIES

I don't know how many of you may have already seen this but it doesn't hurt to get the news out there.  I am not looking to take advantage of the offer myself since I already have a XDN Professional membership, but I thought I should get the word out anyway.  As a current XDN Memeber, I would highly recomend this to anyone.  I mean hey, it's free components and goodies each month for a year!  Who can beat that?  Anyway, details below:

FREE XDN Professional for .NET Bloggers during May 2004
Mike Schinkel, president of Xtras.Net, made an offer on his personal blog of a free XDN Professional membership (http://www.xtras.net/xdn) during the month of May 2004 for anyone that blogs about .NET frequently. If you are a .NET blogger, see Mike's post for how to get your free XDN membership.

posted Thursday, April 29, 2004 7:50 PM by dbalzer with 0 Comments

What Happened To Customer Service

I had an interesting experience today.  I recently left my position as a full-time employee with a company that I have been with for quite a few years so that I could move across the country to be near my family.  I now am an independent consultant and work almost exclusively for the company I just left.

Yesterday I had a conference call with a client to kick-off a new project.  This morning I received a call from the CEO of my former company thanking me for the professional manner with which I conducted the meeting.  It seems the client has had this project under development with two other firms, but the way the developers treated the client made them rethink undertaking the development process.  This is not a difficult project, but they were treated like fools for wanting things done a certain way. 

This got me thinking.  I have seen this in the past in our industry.  Somehow developers allow themselves to let their over-inflated egos to get in the way of customer service.  They start to believe that because the client doesn't understand the underlying technology that they need us and therefore their opinions are value-less.  I have even been in meetings where developers directly ridicule the clients.

I have heard a lot of discussion about Offshoring lately.  I am starting to believe that one of the main reasons that offshoring is occurring is that there is such a lack of customer service in our industry.  We as developers are a bunch of over-paid whiners that let our egos get in the way of listening to the needs of our clients and solving their problems in a timely, painless manner.

Do we want to keep our high-paying jobs right here in the US?  Then I think it's time we learn a little about customer service and begin to practice it.

posted Wednesday, April 28, 2004 1:38 PM by dbalzer with 0 Comments




Powered by Dot Net Junkies, by Telligent Systems