Arrested Development: You’re Awesome, Just Don’t Be Awesome Here

I’ve moved around quite a bit in my career. I’ve interviewed with a ton of companies and have worked at a lot of different places.

As a consequence, I’ve had the opportunity to experience something that I find extremely interesting, something that I’ve been exposed to more than most have. It’s a scenario that people in other fields might not experience as much as those of use that make a living in the technology sector. I like to refer to it as the “Arrested Development” phenomenon.

A Job That Hamstrings You

No, I am not talking about the popular TV show (or the band from the early 90s). I’m talking about those cases where you’re hired to fill a position because of the your skill set, experience and character. Then, when you join the company, you a constrained so much that you cannot showcase any of the things that made you the right person for the job.

The process of getting a job is a long and arduous one. Writing a resume that stands out from all of the other candidates is not easy. In addition to that, interviewing with a potential employer is often stressful.

Although part of this process includes your assessment of the company and the position, most of your time is spent trying to show the interviewer(s) that you are good at what you do and can bring something valuable to their team. You go out of your way to demonstrate your skill set and showcase your experience. If you are a good fit, and a good interviewee, you will most likely convince them that you are in fact awesome and, odds are, you will end up getting an offer.

At some point in your career, after you’ve established yourself in the industry, this process becomes a lot less stressful. In fact, employers will start seeking you out when they have a job opening. They look for you, and offer you a position on their team, because they believe that you have the right skill set and can help them achieve their business objectives. In other words, they think that you are so awesome that they must have you on their team! This is where it get a little weird.

I will hire you because you are awesome, but I don’t want you to be awesome here.

arrested-developmentWhat sometimes happens next is what I’ve started calling the “Arrested Development” phenomenon. Your new employer has gone through all of the effort of finding you and determining that you are the most qualified candidate. They’ve evaluated you  thoroughly to make sure that you are a good fit based on your skill set, experience and personality. You’ve passed every test and you’ve wowed them at every turn.

Yet, when you join the team, you are immediately handcuffed by bureaucracy, budgets, politics, existing processes, established ways of doing things, and a whole host of other constraints. It’s like your asked to work with shackles around your ankles and one hand tied behind your back.

Sometimes it seems like they are saying “I will hire you because you are awesome, but I don’t want you to be awesome here.” This can make you regret your decision to switch jobs and can make it hard make an impact at your new company.

Find a Place Where You Can Be Awesome

I’ve had the luxury in recent years of not having to spend too much time looking for work. These days, I am usually approached by a previous employer or coworker and asked to interview with their company. This happens because the people that I have worked with in the past know my work ethic, skill set and experience and they think I would be a good addition for their team. Sometimes it turns out not to be a good fit, but other times I come out of these interviews excited about the position and end up taking the job.

Unfortunately, sometimes the environment at the new job isn’t setup to take advantage of my particular flavor of awesomesauce. This is totally understandable in certain situations. There are business objectives and financial limitations that come into play. But that doesn’t keep it from totally sucking the air out of your sails.

Most of the time, we change jobs because we believe that it will be an opportunity to grow or at least showcase our existing skill set. Coming into an environment where you are not being challenged or do not have the opportunity to grow as a programmer can be soul sucking and demoralizing.

One of the things that I love about the company that I currently work for is that they don’t try to hold me back. On the contrary, they encourage me to exercise my awesomeness every chance I get.

In fact, on my first day at the company, I sat down with the managing partner and he told me several things that really blew my mind. They were all a complete 180 degree shift from what I have previously experienced. One of these things was that he wanted me to take every opportunity I had to be awesome! He told me that he hires us because we are great at what we do and he wants us to showcase that greatness for our clients.

The best part of this is that he wasn’t kidding. As long as I’ve been with the company, I’ve been encouraged and expected to be as awesome as possible. It has been a great experience.

– Miguel

Unfortunately, I’ve heard this tale told many times over. I have a large network of friends in the industry and have heard, over and over again, how this same scenario has played out for them and others. Although it is not easy to prevent, if we do a little bit of homework we can try to identify these potential problems ahead of time.

Then again, whenever we find ourselves in these situations we should remember that we are still in the driving seat. We can always reevaluate if that positions still makes sense for us. If not, we have the option of going somewhere else. That is not a bad thing. Some jobs are just not a right fit.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More


Not Just a Programmer: Let Your Personality Shine Through

Just be yourself — it’s the only way it can work.
— Johnny Carson

You are a programmer, and you are building your brand, but that does not mean that the only thing you should present to the world is code.

People want to get to know who you are. They want to learn from you but also get an idea of the person behind the coding tips and technical knowledge. So let your personality shine through your work.

Are you are horseback rider? A motorcycle racer? A husband and father of a special needs child? Don’t be afraid to let people know it.

Be Yourself In the Office

You need to be yourself in the office and company you work for.

shi1When I first started at my current job, I held back in many ways. I acted in a reserved way, feeling out the culture and the people. Because, I have other interests beyond programming, some of which people tend to have strong reactions to.

But as I got to know people better, I began to slowly dribble out more information about myself, to let them see who I am. That meant telling them about my herniated back that I got from trying to start a farm and failing at it. I was cautious about doing so at first, because, what if my bosses became concerned that I would not be able to do my job due to back troubles? But I did so anyway, so that I didn’t have to try to hide what was ailing me.

It also meant revealing that I was a Catholic apologist (and then explaining what “apologist” meant). That may not seem like a big deal, but it turns out that the managing partners of my company hold the very kinds of belief that I wrote a provocative book about. What if they read my book and got offended that I was challenging deep-seated religious beliefs that they held?

Nonetheless, I have a public presence in that sphere doing radio shows, blog posts, books, and interviews, so I figured it was better to tactfully reveal it instead of hoping for security through obscurity.

Tact is required when letting your personality shine. Some interests that you have may not be shared by coworkers, and could even be considered in a negative way by them. (In other words, not everyone may be as into death metal as you are.)

Let Yourself Shine Through Social Media

Usually being yourself in social media is easy, perhaps almost too easy. Twitter especially lends itself to fast tweets that people come to regret.

That said, people are connecting with you on twitter because they expect to get to know you. They find you interesting and want to see who you are, what you write about.

tweeBut it can go too far. I followed a popular developer whose mobile app framework I have used. I read his tweets over several days but none of them were about mobile app development; they were all political tweets about this or that party and candidate.

Now, I happened to agree with him on most of the issues, but I unfollowed him, because I am interested in his mobile programming work, not his political views. I’d have been fine if he had mixed in a political tweet with ten other programming ones, but all politics, all the time was overboard.

For facebook, if you have a page for your blog or business, mix up the posts by sharing other content you find interesting and adding commentary on it. Include some personal reflection or experience you had related to it.

Doing so shows that you are actually managing your page and that you don’t just share your own site’s posts. It makes you more real and also more a giver than a taker.

On your blog, you have the opportunity to write meaty blog posts that contain lots of personal experience. Yes, show us the code and patterns and how you figured out the solution to a nasty bug, but also let your voice come through. It’s okay if you’re a nerdy guy, or if you are a bird watcher or salsa dancer. People love to find out those tidbits.

I followed a blogger for years who was into a religious topic, plus science fiction shows and books, plus square dancing, and eating low carb meals. I was interested in two out of the four topics he blogged about, and I found reading his opinions on the others interesting in a curiosity sort of way.

But Keep Some Parts of Yourself Private

For example, keep your private parts private.

A friend of mine owns a business and interviewed a young man for a position.

He liked him and was going to hire him. But he did a cursory google search for his name and his facebook page came up. The guy’s profile photo was of him naked, holding a beer in one hand to cover his genitalia and pointing to the sky with the other hand.

My friend called him and said, “sorry, I can’t offer you a job. Our clients could search for you and find the same photos, which could cost us business. You should consider being more discreet about what you show.”

The guy got offended (of all things) and said, “this is who I am. If you don’t like it, too bad.”

Well, yeah. But, certain basic boundaries do exist and should be followed. Prudence and tact are important, even when letting the real you be known.

Spicing Up Software

Programming can be a dry topic. But programmers are never dry. Show your technical expertise to the world, and do so with your own personal panache.

hanseI think a good example of someone who shows personality is Scott Hanselman. He writes and speaks on many topics but brings a humility to it, and a human-ness that is appealing. While clearly a sharp developer who has done tons of different work across a broad swath of technologies, Hanselman is also willing to reveal that he doesn’t have it all figured out and that he even has doubted his own skills many times.

When I first began my blog, I went straight to the topics that were on my mind and heart at the time: leaving a company I had worked at for almost 14 years. It was a bit raw and unfiltered, and I received feedback from good friends that I was being to harsh and critical.

I reflected on their feedback and ended up going back and revising many of the original posts. I deleted a few too. If what I wrote would not help anyone, but was only me venting, it wasn’t something I wanted to remain out there. Best if I had thought more about it before posting in the first place, since caches can last forever. That said, better to delete something I regretted than to leave it there in perpetuity as if I still stood behind it.

Now I am pleased that the posts I wrote showed forth some vulnerability in what my career had looked like, what difficulties I had faced, and how I decided to make a big change by leaving my company and going to a small, private company. Other developers have messaged me privately and told me that my posts struck a chord with them–even that they felt as if they could have been the ones writing what I wrote. That is a great feeling.

So let your voice shine, and strive to make it the best version of yourself that comes through. Inevitably and at times you will fall short, but that itself is a learning process that you can grow from. Your audience will appreciate your candor and humility.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More


Becoming a Programming Expert Is Within Your Reach

I have always really enjoyed building things.

I had a dad who built all sorts of things out of wood. That was his medium when not working on his day job. He built gazebos and greenhouses and decks. He also put things together without instructions.

He got places without asking for directions (before GPS). He would charge off into the woods in search of a stream to fish. He would get into his airplane, take off, get to where he was going, land. All of this was done effortlessly.  He has always acted as though he knew how to do things. He was an expert at everything!

Two Kinds of Expert

Jeweler using a blowtorch while he works on a ring
Jeweler using a blowtorch while he works on a ring

As a dad myself I now know that from time to time he was either “winging it” or had toiled enough at a task way ahead of time to make the task now seem effortless. And much of his success in the now was based on previous successes and failures of past experiences. But ultimately he had told himself that he would figure it out. He had faith in himself to solider on and get through it. But from my point of view looking from the outside in he was an expert at everything he did. I was always amazed.

Over night success is achieved through years of hard work and practice.

To be honest I think there are really two forms of perceived expert in the world. There is the guy that is a deep dive technical genius in their world. They have seen everything. They have done everything. There is no stone unturned. They have forgotten more then you will ever learn. They can answer any question asked.

Then there is the person that isn’t afraid to say “I don’t know.”

They have seen some things. They have gotten their hands dirty from time to time. They have failed at least as much as they have succeeded. They know someone with the right answer, or they can produce the answer through searching and reading. They can eventually answer any question asked.

Different Types of Expert Produce Different Results

Now let’s talk about how valuable these two folks are to me, you, our industry, and our society.

madscThe first person may eventually solve cancer. Or cure world hunger. Or resolve global warming. That would be valuable. But perhaps they learned game changing things along the way to solving one of these world issues – but didn’t actually solve anything? And they didn’t share any of their findings while on their journey. Then died. Their activities unrecorded. Their knowledge lost. Not very valuable.

Take the other person. They have been here and there but not everywhere.  They have done some things. While learning they are also actively sharing their findings. Over time they amass a great deal of knowledge – almost comparable to the guy that knows everything.

Also, as they are putting who they are and where they are out in front of the world for all to see – they are continuously being pushed to be better. They correct any wrong assumptions they have made along the way. They are not working in a vacuum.  Instead they get feedback every step of the way.

Perhaps they solve one of those world issues. Perhaps they don’t. Perhaps instead they contribute to someone else who can tackle the world issue.  But in my mind the guy that is more valuable is the one that gave to the community without seeking anything in return. The person that contributed to the story potentially for someone else in their industry learn from.

Becoming An Expert

As a kid I was inspired by my father to tackle problems head on. Get shit done. No one could stop me but me.

html3As a result of that whatever I was interested in at the time, I was pushing in new ways. Learning all that I could. Never enough to be a truly deep technical expert to the experts of the world, but always enough to be more expert than the majority of the next guys.

One day a customer at Fry’s (while I worked as a technical representative for HP at Fry’s) showed me HTML. It was a very low bar but amazing. He opened notepad and just started hammering out some characters.  With each iteration he would flip to a browser and show me a web page. Back to code. Back to a web page. He was building something out of nothing. How cool was that!? I have no idea if that guy was an expert or not, but to me he was the only person I knew that could type out all sorts of gibberish and make something structured and usable.

Every expert was once a beginner.

I have seen people that knew nothing about a topic quickly come up to speed on something and immediately grab the title of expert.  Being an expert can at times be a context-oriented label.  You can be an expert at something in your peer group. You can be an expert at something in your office. You can be an expert at something in the city you are in. Or you can be an expert at something in your industry. Those are all levels of expert.

Then you can further slice those definitions of expert by vertical slices in our world of technology. You may be an expert at building distributed systems using C# and NServiceBus on MSMQ. You are the expert in this space. However, in a room of Java programmers, you might be reduced to being an expert at the theory of distributed systems but a total n00b at the any of the technology tools they may use.

Apply this to any band of people. People live in groups. Programmers have peer groups, coworkers, city of residence, city where they work, regional groupings, industry groupings, industry sub-groupings, and global groupings.

And programmers have a huge variety of technical options across all of those people groupings. This means there is a very low bar for you to become an expert at certain things in certain circles.  Being an expert at something, which will ultimately help you achieve your career goals, is mathematically accessible to anyone who is willing to put in the work.

All the so-called ‘secrets of success’ will not work unless you do.

So then how do you become expert enough in your area of interest? START!

There is no reason to not be thought of as an expert by someone in a meaningful way. There are so many sites on the internet dedicated to people posting their questions in a given subject matter. For programmers that site might be as simple as StackOverflow. Find a topic that you love, subscribe to the appropriate tag for your topic, and start answering questions. This will force you to do research. And you will quickly find that you are an expert to several people.

Another way is to start a blog. This may be seen as a bit more difficult as there is some technical know how required to set up a blog – even a free one hosted somewhere. Also, this usually requires some creativity on your part to keep coming up with topics to write about. And some research for each thing you want to write about so that you sound enough like an expert for people to want to read what you say.

blog1But the key to either of these methods for becoming an expert is to do it with a regular cadence. Practice answering peoples questions. Or practice observing the world in ways that produce topics for you to write about. Ultimately both of these will force you to get better at doing what you do.

Another slightly more difficult thing to do is to write a small book. Pick a topic that is somewhat in your wheelhouse already.  Then learn enough about that topic to get a high level of understanding about the topic to piece together a table of contents that is three to four levels deep.

Then start researching each of those topics enough to form thoughts on each of the topics. Publish this book in real-time as you add content to it. Give the first few rounds away for free to get feedback quickly. Evolve over time. The key here is that you will start as a new guy. And finish with a published book on the topic. And since you researched all the content in the book you are now an expert in two ways: 1) you likely know more than most because you went wide and deep on the topic and 2) you are now a published author which brings a certain level of professionalism.

The key here is pick something. Scratch a little more than the surface on your topic. Give back to the community. They will criticize you for your efforts. And you will learn by fire. And eventually pop out the other side as an expert in some circles.

The secret here that nobody will ever tell you, but I will.  I have met a lot of industry experts. The only difference between them and you is that they did some work to get where they are. They actively chose to learn something vs. watching the latest TV series. They had a plan to be better than the next guy. And then they did it.

Follow through, commitment, dedication, stick to it and get shit done. In our world, this is the recipe to becoming expert enough in something.

Here is a whole site dedicated to being “Expert Enough”.  You will find a similar theme being mentioned there.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

brand buiding crossword puzzle

How to Build Your Brand As a Programmer

I am always fascinated by people give me a funny face when I ask them what their personal brand is. I know I had a funny face when someone first asked me that during an interview once. But ever since then I totally got it and now promote the idea daily.

Everyone in our industry know’s who at least one of these guys are: Linus Torvalds, Scott Hanselman, Uncle Bob Martin, or Martin Fowler (If you don’t know any of them, pick one and go research their contribution to our world immediately!). They have a big marketing engine behind them simply because they have contributed to our industry in great ways. They are natural givers.

Give and Take: Why Helping Others Drives Our Success

I just finished reading the book Give and Take by Adam Grant. I highly suggest that you read this book at some point. It will change the way you view the world. And likely make you more successful in your day to day interactions with people.

It describes differences between givers, matchers, and takers. And tells you why one personality type is more successful than another. An example of this – who do you think is the least successful at work? Givers! They give too much of their own time and can’t deliver on their own tasks. Who do you think is the most successful at work? Givers again! Because they give selflessly of their time, they are more likely to get the troops moving in the right direction.

– Andy

But you and I don’t have the same big engine behind us – because we haven’t yet contributed in the same mammoth way to our industry.  We will talk about how to level up our game in a mammoth way in other posts: time management, passion, willingness to give to others, etc.  But in this post we need to look at how to get you on the path to being at least somewhat known by the people that matter most to you.

Manage your resume on LinkedIn

We all know that we need a resume. How else will I get a job. But gone are the days where I need a resume, and a “profile” on one of a hundred job sites. It would seem that these days I can have a resume built on LinkedIn and send either a link to my LinkedIn profile, or a generated resume from LinkedIn. I prefer to use the LinkedIn labs resume builder.

Now all you need to do is add your history to LinkedIn. And remember to add your major accomplishments that you achieve at work in real time.  Otherwise you will end up with a resume that states where you worked and what your title is. There is no way you will remember every little awesome thing you did along the way between this job and that job. Especially if you are under pressure of getting the next job.

I prefer to add the books I have written, all the jobs I have worked at, along with some highlights for each job. It is ok to repeat certain things like whether you did ASP.NET MVC at every single job. That shows that you are likely good at that skill.

Also, curate the tag cloud of skills people say you are known for. This doesn’t have to all be technical skills. Soft skills at work are equally important. If you are known for being awesome – put that on there. Perhaps you are a great leader. Put that on there. Then organize the tags that you have to show the ones you align with most or most want to promote. You don’t have to let these tags auto sort.


Create a personal website

People are going to search for you. It is inevitable. So make sure that they find your voice and not someone else’s. Now-a-days you can do this in less than 5 minutes. Go over to bluehost and pay $5 for monthly hosting. Then stand up a free WordPress site. Pick the theme that you are most happy with.

Now spend another 5 minutes putting your pitch together about who you are. Don’t just include work stuff. Tell your story. Who you really are. What your passions are. How many kids do you have? Give a brief overview of the person you think you really are. This is your first marketing event for yourself – so really sale your personal value.

If you intend to write a blog, do some content here.  Post articles that are a mix of personal and work related.  We can point other web properties here to start building a web.

When setting up your blog, begin to capture emails immediately using AWeber. While you may not immediately have much you can tell your readers other than blog posts, the time will come when you build an audience with your niche and want to share it directly with the people who you most resonate with. These are the people who will be your biggest fans, the ones who will be sharing your work everywhere, the ones who will buy your courses one day that teach them valuable skills they need.

Blog somewhere that already has traffic

While I suggested that you create a blog on your personal site, you don’t yet have a brand and therefore you don’t yet have any personal traffic. Unless you plan to spend a bunch of time self promoting via twitter, facebook, linkedin, etc. – you should get started somewhere that can actively help you self promote.

I started by putting my first blog on  At the time I started with them they had a few hundred bloggers there. All tech oriented. Any traffic they had – I immediately got. This was great. My posts hit their homepage and I got some readers on day one.

They now have well over 1000 bloggers on that site. This means that you get the traffic from some of their top bloggers. But with all that traffic you may get some noise. Also, your post won’t hang around on their home page for as long. But I still suggest starting there over many other places.

Put your code on GitHub

Do you write code? Then make sure some of your code can be seen by others. I would rather see that you write lots of code, for yourself, for others, for open source projects – than see 5 files that you made the most awesome effort known to man. We all get that your skill set is an ever growing and ever changing thing. What you post today may be the best you have now. And that will change over time. Don’t worry about it.

Put something out there. Get some feedback from people. It will help you grow over time.

Jeffrey Palermo told me once “If you were going to hire someone to juggle at your kids birthday party, wouldn’t you want to be sure they could juggle?” This was in response to someone stating that they felt above taking a coding test to get a job. People want to see that you can at least perform what you say you can perform.

Putting your code out there for others to look at gives people some confidence in you. The fact that you put your code out there for others to see also tells folks about your person. You are willing to take feedback and criticism.  You are willing to put yourself out there. This makes you more hirable over those that keep everything close and private.

The importance of helping others

You might be a matcher. You might be a taker. But when building a brand – neither of those traits are going to help sell you. You need to show that you can help others without expecting anything in return.

The easiest way to do this is by contributing on stackoverflow.  Build a profile there. Set up some searches to be sent to you as new questions are posted to topics you are interested in. Spend 5-10 minutes a day helping people solve their problems. Over time you build up some reputation for being a person that can help others.

Contribute to community sources of information

Whether this is a paid or unpaid activity – writing an article for a community site (like dotnetslackers) or for a magazine (like CODE) – is an awesome feather in your hat. Do this often. Again, this an effort to exchange your personal time giving to others for just a touch more polish on your online brand.  Try to do this once a month if this is the main avenue you like for industry exposure.

There are many ways you can contribute to your community. Writing isn’t the only way. I like to create slide decks of information that others can then use to present with. I like to also use my slide decks to present at user groups or conferences with. Presentations can be shared via SlideDeck or similar. And can then be hosted back on your LinkedIn profile.

The key is spend a little bit if your time, frequently, giving back to the community.

Single page sites about you

There are so many sites out there that do this now.  But sites like allow you to build a small snapshot of who you are. I like to include this link in my presentations or on a business card. This is an information radiator that can point to all the other endeavors you have accumulated over time.

I like to say where I am. What my phone number is (a google voice number). My rough home address. My current role. A brief summary of who I am. Then you can link in all of your blogs to be summarized on that page.

Now you have a single place to point to that can then point the viewers to so many other locations.

With all of this (we will write in more detail on this topic later) you can really start to control the search results people find when looking into who you are. Make sure you live by the rule “never say about someone what you wouldn’t say to someone”.  Remember that everything you put on the internet has a forever life. Don’t believe any systems that says “this is private”.  Assume everything you do on the internet is public always.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More