What Languages do I Use

I was recently asked what I use to develop software and websites. I mostly use DotNet Technologies as it is often interchangeable between websites, web applications and desktop applications. I can often use the same data access classes and business logic between multiple platforms. I find that DotNet allows me to easier structure objects visually and logically.  I prefer to develop using C-Sharp, but I get requests to use VB.NET and J-Sharp on a regular basis.

When I went to college, I had learned C, Pascal, COBOL and some Mainframe language that I cannot remember.  Upon graduating I taught myself VisualBasic 3, RPG.  My first programming job was Visual COBOL.  I had created a company in the Caribbean Islands programming public utility and insurance software in RPG.   I can honestly say since I sold my shares of the company, I cannot foresee myself developing in RPG again.

Why don’t I use PHP?  Well I do use PHP, but for specific purposes and upon request by a customer. A specific purpose is when I create a WordPress site or other content driven sites. I will not often create a website or web application from scratch using PHP as Microsoft made ASP.NET easy for rapid development.

Do I use JAVA? Yes; I do believe there are cases where JAVA is still relevant. JAVA is still a good tight platform for developing small single purpose applications.  I have used JAVA 3 times in the past 2 years for applications that I believe fit the bill well.

Now, I am curious;  What do you use and why?

When a Developer Leaves

To start; I am not saying this is me, but I did talk to a few developers for research.

Employers are often left scratching their heads when a developer leaves. The unfortunately truth is when one leaves another often follows not to long after. It is very hard to understand why the first developer left let alone the second or third. I believe as a employer, team lead or VP, you should know some of the “WHY” for a better understanding of a developer’s behavior. I admit we are a strange brew of employees.

Developers like to be challenged and appreciated. When the challenge is gone, so is the developers will to continue. Developers need to know that they will not be doing the same thing day in and day out. They really need to mix things up a bit. They need responsibilities, new tasks and freedom to try new things on their own. They also need to know they have the company’s support to continue education, and not just a pat on the back. Try to hire from within the team before you look for that new manager. Sometimes you have the perfect leader within the company already.

Developers also have a keen sense of appreciation. They do not need a thank you, or a pat on the back from their employer all the time, but they definitely know when they are being exploited and taken advantage of. More and more companies are introducing foosball, video games and fun activities to show their developers that they can have fun and are appreciated. It is the little things that go a long way. A BBQ in the summer with some good laughs and keep the spirits a little brighter.

These are just brief explanations of why a developer may leave a company, but very rarely is it just for more money. There is often more to it. An exiting interview may shed more light on the “WHY”, but more likely you will never know. An observation that I have made recently; there is a real misunderstanding of junior developers. Junior developers are ones that leave their company the most. Junior developers leave because they are treated poorly by senior staff, paid unfair salaries, no or little vacations and benefits and simply they often do not feel apart of the team. Junior developers add value to any team for a couple reasons.

  • Successorship for senior developers
  • Brings new ideas and techniques to the table
  • They still absorb new information at a fast rate

Why would other developers leave shortly after?
Loyalty is often a factor. Developers are social creatures who form a tight community that is often hard to break into. They often congregate at bars and coffee shops after hours or on breaks to share and implement ideas. This form of interactions creates a tight bond. If a company hires one developer, it is not uncommon for that developer to want to take a few of his trusted colleagues with him. This is a practice that shows the tight bond and trust between the development community. Developers like to work with people they know and trust. It is also becoming a more common practice for the new employer to try to take an entire team of developers that are linked by a common employer or group. This helps create a stronger team.

What Not to Say to a Developer
I was once told that I would never be able to advance out of my position because I was too good at it. These words are like knives going into the heart. A developer likes to be challenged and advance through their career like anyone else in the workforce. Developers are often known to put their heart and sole into their work; often giving 110% of themselves. Advancement is often equal to being similar to being appreciated and/or trusted. Nothing kills a employee’s will to continue faster than words. Chose your words wisely.

Strange Creatures
Developers are strange creatures. They are creatures of habits ( generalization ) and often do not like change. Exception here is developers often embrace changes as in new technology and ideas. When I say they do not like change, they do not like to

move homes, place of work, parking spots, watering holes, etc. They like their every day habits and routines. When a developer leaves it is often a big decision and they did not take it lightly. It is often not a personal reflection on the company, but rather a personal reflection of themselves.

Quick Points

  1. Find out what other companies are doing to keep their developers engaged and happy
  2. Talk to your developers often on a personal level
  3. Create a trust with your developers. Do not give them a reason to not trust you.( Example: monitoring internet usage and emails )
  4. Give them freedom. Allow them to occasionally work on projects of interest ( Google often does this and then makes money from the side projects )
  5. Let them use social media to keep connected and build the communities. You do not want your developer to feel isolated. Non-techie people often do not understand a developer
  6. Do your hardest to create real expectations, and not push crazy hours. Developer burnout is rampant in small companies
  7. Do your best not to call your developer all hours of the night and every day when they are on vacation. You would not want this for yourself.
  8. Treat your developer as you would want to be treated

The Art of Task Delegation

Delegation is a tough skill to master.  Many mangers have trouble delegating tasks to employees because they have trouble giving up control.   A good manager knows their strengths and the amount of work load they can handle without stressing.   A good manager also knows their employees strengths.  Use those strengths to your advantage.  Through the art of delegation, you can harness the skills you don’t have and reduce your stress by reducing your work load.  Delegation of tasks does not mean you are no longer responsible for the task, it only means that you are now managing.  You are still responsible for quality of the work done by the person you delegated the task to.  You still deserve credit for getting the work done, the only difference is you should be sharing the credit with the people who helped you.

Tips for Delegating Work

  • Know everyone’s strengths
  • Follow up with everyone who you delegated work to.   Ensure they are on task and the quality it to your desire.
  • Delegate tasks only to the people you trust.
  • Use a calendar.   Make sure you are following a schedule and that everyone knows the schedule.
  • Make sure everyone has the resources to get the job done. 
  • Provide your knowledge and share your experience.
  • Manage, manage, manage – this doesn’t mean you do the work. 
  • Share the glory, if you get praise, share the praise with those who helped. 

Importance of Tracking Daily Activities – A Personal Perspective

When the cat is away the mice will play.

This famous saying suggests that when a person in authority is not present, the people under his rule will enjoy their freedom. However; this should not be the case. The employee should be relied upon to get work done that was assigned as well as conduct themselves professionally and with dignity. “Farting Around”, should not occur. There is always something to be done in every organization. Push a broom, re-index a database, setup a new help desk system, sort papers, refill the toner in a printer. Even researching a new technology or idea can be beneficial.

We as paid workers with self worth, should be keeping a log when the boss is away of our daily activities. This log should include all interruptions, lunch, breaks, and tasks. Do not spend a lot of time, but spend enough time to make yourself look productive. The activity log could be in the form of a blog or a text file and should be easily printed in a readable format.

There is two main reasons for the log. It keeps you as the employee focused on activities that require your focus and it keeps the bosses informed.

If done on a daily basis it can show the boss weakness and strengths in the team that he/she is responsible for. It can help allocate tasks to those who are best suited for the task. It can also point out where time is being spent, which can be either allocated to someone else or reviewed closer. It is mostly about following trends in the logs in which we can extrapolate productivity value.

For the employee, it should be considered a review of one’s self worth within the organization. Even if the boss never sees it; review it yourself and see what you have done. I would bet you have been doing more than you had thought. Often it can be used to improve your resume, your feeling about the work you can do. I know myself I sometimes think I should have gotten things done faster, but in review of my day, it makes sense why I did not.

I believe every employee should want to do this at least on a part time bases, and every boss should want to have the ability to review the work logs weekly of their employees.

Popcorn and Office Etiquette

Today I smelled the sweet smell of popcorn and thought gee, I would like to partake in some.  So, I opened my desk drawer and pulled out some of the my favorite buttery popcorn to pop.  While walking back from the microwave a few people asked if they could have some and of course I said yes.  While passing another desk, a small voice asked me if I had checked before making the popcorn; I said “why the heck would I ask, the microwave is free for use”.  A little later an e-mail was sent out to the entire office about smelly food.  I kind of mocked the e-mail.

On the way home I was thinking about the events.  When I got home I Google’d the the Popcorn in the Office question that I had.  Apparently I was wrong.

It turns out that popcorn in the office is bad etiquette as the smell often bothers people.  While the smell may be enticing for some of us; for others it can be very unpleasant.    The smell of popcorn can linger for up to an hour depending on ventilation and that can be very unpleasant. Everyone is entitled to a clean work environment which includes smells ( not just popcorn ).

My advice to everyone, think about the smells and other offensive things you may bring into the office.  It may be not so nice for the people around you.

In short – I offer my apologies to all the people in all of the offices that I had ever worked.  I did not know that the smell of popcorn was possibly offensive as well as poor etiquette.