The Two Sides to Job Hunting

I have had students ask me about how to get hired or who is hiring. I have also had employers ask me how to find developers when they have had a tough time hiring quality employees. These are tough questions to answer, but I have been on both sides of the table.

Continue reading The Two Sides to Job Hunting

Enhance Your Technology Career By Learning To Speak

Have you ever had a customer, co-worker or manager look at you as if you had two heads? When an IT Professional, speaks it is very important that who we speak to understands what we are saying. You cannot sell an idea, explain an issue or develop a project plan if you who you are speaking to does not understand. The use of jargon is the biggest obstacle that IT Professionals face. Continue reading Enhance Your Technology Career By Learning To Speak

We Do Not Know You

I have encountered the phrase “We Do Not Know You” a few times during the job hunting process. Recently I interviewed with a company that used this phrase. I threw everything at them including LinkedIn Recommendations, Contacts, Resume, Cover Letter, Links to Code Samples and screen shots. This was not enough. Continue reading We Do Not Know You

IT Professional and Communication Skills

It is a well-known fact that Information Technology professionals are often lacking skills in the communication department. Almost every job posting lately had stated you must have good Oral and Written communication skills. This was not me; at least until recent. I was always the guy standing by the punch bowl or snack table with hands in the pockets that said “HEY” as people walked by. IT professionals often confuse colleagues, friends and customers with their acronyms and tech-lingo – I was one of these people. Then I was pulled out to a Toastmasters meeting. Continue reading IT Professional and Communication Skills

More Than Meets The Eye

There is more than meets the eye with me. On my resume it is majority Microsoft skills. Microsoft is used more than open source because that is what my work and customers demand from me.  Can I do more? Yes! I have experience in a lot of open technologies such as PHP, MySQL, Python and more. I do use these technologies, but not often Continue reading More Than Meets The Eye

Project Manager – Team Lead – Manager of Development

I have been asked a few times for resources and tips for a new Project Manager, Team Lead, Manager of Development type position.
My tips are a generalization as I can pull out more resources for certain situations.

Tips 
1. Have an open door
2. Don’t tell your team everything that you know. Be selective
3. Be positive in all your dealings
4. Lead by example. Do not ask your team to do anything you would not.
5. Speak clearly
6. If a developer says it will take a week, say two. If a developer says a month, say 6 weeks. Always buffer time.
7. Be real with expectations
8. Be kind, not too strict, but strict enough
9. Careful planning of project details
10. Listen to those above you and below you. You will learn stuff from everyone.
11. You are not the end all be all.
12. Fight for those who deserve it, help those who need it
13. Stay Organized
14. Meet with your team weekly with an agenda, so everyone can be prepared
15. Know what your superiors want from you
16. Know your place
17. Make sure you keep developing
18. Code reviews are a must, even yours ( can be fun for the team )
19. Earn your trust, trust your team
20. Know each team member’s strengths and use them. You cannot be everything to everyone
21. Failure is always an option – learn from each failure and success
22. Reflect on everyone project as there is always something to learn
23. Find a mentor or mentors – they can be good sounding boards

Online Resources 
http://www.fenman.co.uk/activities/training-manual/team-leaders-development.html
http://andrewtokeley.net/archive/2008/05/02/how-to-become-a-development-team-leader.aspx
http://www.atlassian.com/agile/people/teamlead.jsp
http://en.wikipedia.org/wiki/Lead_programmer 

Books to Read 
Project Management in a Week By Mark Brown
Survival is Not Enough By Seth Godin
Made in Canada Leadership By Amal; Morissette, Francoise Henein

My Blogs 
http://unlatched.com/blog_What_is_Leadership.aspx
http://unlatched.com/blog_Effective_Listening.aspx
http://unlatched.com/blog_How_a_Senior_can_Help_a_Junior_Developer.aspx
http://unlatched.com/blog_Can_Senior_Developers_Learn_From_Junior_Developers.aspx

Remember: Have fun or you will not like it. Take time off – you need breaks.

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

Who Is Andrew Pallant

I was recently asked the question “Who Is Andrew Pallant?“.   Although I am Andrew Pallant; I find this question very complex and complicated to answer.   One must reflect ever so often to rediscover who you are and what you are doing.   As I was caught off guard by the question, I had to pause and think.  This was hard.  Can you answer the question freely?

Here is a series of questions to ask yourself:

  1. Who is <>?
  2. What am I doing?
  3. Am I adding value to my life?
  4. Am I adding value to others?
  5. What are my current goals in my personal life and professional life?
  6. Am I completing my goals?
Here is my answer that I had given to the person who asked: “Who is Andrew Pallant?“.

Andrew is a proud father of 2 children.  I am a confident person who works hard.   Whenever I am given a task or take on a task, I give 120% of myself.  I never take short cuts.  When I manage or lead a team, I am firm, fair and open to new ideas.   I do not like to miss deadlines, but if I do, there must be a really good reason.   I am friendly, generally fun, and always sincere.  When I am on a team, I listen to others, and try to learn from them.  I am continuously learning and listening as I believe no one can know everything.   

Now I am currently reflecting on who I am and what I am doing.   I am making sure that I am the best that I can be.   After reading this blog, you may want to read:  http://unlatched.com/blog_How_To_Be_Awesome.aspx
At the end of the day, be true to you and be the best you can be.

How would you split with C-Sharp

How would you split a string with comma separated values and remove any blank records?

While the solution may seem obvious to most folks, it is not always obvious to everyone. I have been asking perspective candidates this question, but there is one common answer that I get.

“Create a loop with two array variables. Loop through the comma separated string and do substring to extract each value while keeping the current index to use as your next starting point. Then create another loop to loop through your new array of strings to add the strings with length greater than zero to a new array… then return your newest array of strings.”

That seems like a lot of loops, a lot of string arrays and a lot of thinking.

Whenever I suggest using the String object’s split command using the RemoveEmptyEntries; I get told “Oh, what I told you is probably what DotNet is doing under the hood.

My god, that seems like a lot of work even for DotNet. I urge everyone to look at the functions available before undertaking such routines. Can you imagine the code that would be produced by a developer who is always writing code like described above? If you are unsure, use google to find your answer or even better yet use MSDN. Do not assume you know everything, because you are not expected to. There are resources around… Internet is a developer’s best friend.

Source for String Split Options: http://msdn.microsoft.com/en-us/library/ms131448.aspx

Sample Google Query used to find the answers: