Category Archives: Planning

What does your resume really say about you

For this entry, and it has been a while, and I really want to get some sanity in my life so I can do this more regular, I have to discuss the merits of what I look for in hiring someone, and what a resume really does say. Now I will be the first to admit, I am not a career adviser, and I am not a resume expert, and I am not a recruiter looking to siphon out people to different companies. I run my own team, and need to find specific talent for this team so that we can build some of the best apps around for the clients we have. So in this effort, I am needing to hire some good programmers and system administrators at times, and at other times, I am needing to get business analysts and other business side process staffing. The thing that drives me mad so often is the initial contact, or the initial viewing of the resume. If you want to build a great resume, go to a place like The Ladders and pay the money to get professional help in building it. This diatribe will not help you do this. What this may help you understand, is what I look for, and possibly what others look for.

Looking for a job anymore is like posting on a social network. Only, this would be a lot more focused. Think of this in terms of light. Regular social media is like a flashlight blaring out light all around and sometimes it crosses other light paths. Job hunting is like a laser, focused and distinct, aiming for a specific end goal, which may make turns, reflections and bounce off others, but it still remains focused. So when I am hiring for a technical position, I have very specific things I am looking for. Those are (in no particular order):

  • Is this candidate teachable
  • Does this candidate have the experience I am needing
  • Does this candidate know what they are talking about
  • Can this candidate carry themselves properly
  • What training and schooling does this candidate have
  • What projects has this candidate been a part of

So what does your resume say about you?

When we look for candidates, we put out a posting, and then look around at job boards we subscribe to. I also post it out to LinkedIn, Twitter, Facebook, Google+. I try to be proactive as well as reactive. And many times I see resumes on job boards that just make me wonder what are the candidates thinking. When I go resume harvesting, I know this candidate may not be interested in my job posting. It may be they put the resume out there, just to be ready, which is fine. So based on the above list, I will go thru some of the things I encounter, both good and bad.

Teach-ability

This may be the one I put the most weight on. I once had no knowledge, and had to learn. Everyone has been there. I cringe when I see resumes that are over-boastful, arrogant or down right cocky. It is perfectly fine to be confident in your work, and explain your history. When it comes off as arrogance, or over-boasting, I immediately start thinking about whether this person is teachable, based on what I am reading. For example, I recently saw a resume that was something like this in the cover letter section:

I do great work, and want a remote job, so recruiters do not bother to call me about any jobs in other states. Dull work is not for me. Imagination and creativity sets the programmer apart. Personality and skill, I have those both. Can your programmer get jobs done quickly and securely? I can, this is what I do. Great communication is something I pride myself on. I’ve worked remote and I have never had a problem. I can personally guarantee you wouldn’t regret hiring me.

While this candidate is busy patting themselves on the back, and bragging about how great he thinks he is, what about the employers? He claims he wants to work remote, but is not interested in out of state jobs. If the job is remote, why does it matter if it is out of state? This led me to not consider this candidate seriously. In fact, I passed him by as soon as I read that. Had this candidate shown less bragging, I would have gone further.

A great way to convey the same message, and appear teachable, is to discuss the challenges of the remote work you have done, how you have learned and grown in previous positions, and why you feel that you are better. Instead of telling people you can code securely, why not explain in a few words what you had to learn, and how you keep those skills up. And never personally guarantee an employer would not regret hiring you, because how are you guaranteeing that anyway? Are you going to repay all the salary plus benefits to that employer should you not fit in before they break even?

Experience Needed

When you respond to an open position, please show that you have the experience we need. This can bite people in the backside from different angles. One is trying to say you have more experience than what you really have, and the other is showing you have experience but are way beyond what we need, over-qualified. The first one is really funny to see. I had a resume that said they had nine years experience, and they were 23 years old. They were responding to an opening I had for a senior programmer. Nine years sounds pretty senior, however, the age is what calls into question the experience. If they have nine years experience, what were they doing at age 14, 15, 16, 17 that would make me see that they had real experience? I would have been better off to see five years of experience, because that is a little more understandable and capable. So do not try to pad your experience years. I do go back in your history and analyze.

The other end is the over experience, or over-qualified. I see resumes applying for positions for a Sr PHP Developer, and on the current or most recent employer it shows Sr Architect/President. Or the job title is something like CIO, or IS Director. This candidate may really want to just be a senior programmer, but I have to think about my needs with experience. I need someone senior, but not someone to run the show. Or it could be this candidate worked at a small company where the CIO title was just that, a title and maybe had a team of 2 people, including the candidate, and the company size was a total of 4 people. Do not oversell your title if that is not what you really did, and if you want to go to a position that is perceived lower than your current position.

Know What You Claim

I come across resumes on occasion where they claim many things, they put things on the resume that will get them past HR screeners. While this may work well, it eventually comes to me. And I do not care for buzz words. I care about substance. What are you putting on your resume that you did not really do? One resume I had claimed the candidate did a lot of PHP security and testing. However, in the work experience, the candidate did not list anything about security projects, or testing. It could be an oversight. However, if the claim is that you are doing a lot of security projects, then I expect to see at least one in your history.

Another resume I saw made the claim about test driven development. I immediately had a bad feeling that the candidate was not going to be able to show this. However, to my surprise, they had a resume that showed test-driven development projects, and it was written in a way that made me see that the candidate knew what he was talking about. This makes such a great impression on me. If one makes a claim on the resume, and then backs it up, I am very willing to bring them in for an interview.

Carry Yourself Properly

A lot of debate has gone on in the web about whether or not a person should be found online when doing screenings. I read an article once that said they would never hire a PHP candidate if that candidate could never be found on the web doing a simple Google search. They wanted to see contributions to projects, articles, etc. While this is a pleasant bonus if I find this, I do not care about that part. I work a ton, so does my team. They have lives outside of work, and I do not expect them to be contributing to frameworks, platforms, etc if they do not want to. What I do care about is what I can find about you on the web. This world has become so inter-dependent on the internet, that now almost anything you do can be found, especially if you are not careful.

When looking at resumes, I find ones I really like, then go on a scavenger hunt. I check LinkedIn, Facebook, Twitter, Google groups, everything. It is amazing how many people do not think about things before they post it. When I find something, I am seeing what happens, how does this candidate carry them-self outside of work. It may sound creepy, and it may sound over-zealous, but it is important in this day and age, for a company to know they are hiring the right person. I do not care if I see pictures of the candidate at a party with alcohol, skydiving, kids events, etc. Those are not bad. This is life. What worries me is when all I see are pictures of the candidate passed out drunk, puking over everything, multiple pictures of the candidate fighting others, etc. One designer we were setting up for an interview sent over a resume with a Facebook URL. I looked at it. All it had were pictures of the candidate over-partying, drunk, stumbling around women trying to “grope” them. All the posts were similar, about going out drinking/partying, where was the next big event, who he sex with, etc. I called and canceled the interview. He may have been a brilliant designer, but based on what I saw, I was not sure I could have that dynamic in my team.

It is not bad to share. But share what you feel would be a good representation of you. Remember, you are trying to convince a company they should pay you money for work you will do. You are not trying to get a prize for the Darwin Award. You are looking for a job, not a social club.

Training and Schooling

I always look for training and schooling. I do not expect a four year degree always. Especially in PHP, so few colleges teach it. I went to college too, I know the nonsense they teach. I also know the nonsense you learn in class. Usually the classes are taught by professors or adjunct faculty that may not be in the technology world anymore. And technology moves fast. Already the New iPad is here, and before you know it, it will be outdated. So I do not always care to see a college or degree, but what I do care to see is an actual path of training and schooling you have done. Where did you learn? What did you learn? If you have no college, but an extensive career, show me how you cut your teeth, and how the projects increased. I had one resume for a Sr Admin position where the college experience was only a community college, and the experience started at Sr Unix Admin. No junior, or regular experience, just immediately at the Sr level. I know they did not go to community college and get a SR job right out the door. And I am sure they had more experience, but I could not see it. I could not see how they were taught, or where, or what they did. Always show a path of training of schooling, even if it is not at a traditional college.

And if you do have college experience and/or a four year degree, what did you study? What did you do while at college? Did you have a project that you really enjoyed, and helped you grow? This is more important for those coming right out of college with little experience. College projects are always in a controlled environment, so they are viewed differently. But I am looking for what you studied and what you learned. And if you get an interview, I just may ask you about that too. Which leads us into the next area.

Projects

This is the crux of your experience. This is what will separate the resumes. And these projects do not need to be intensive items like an online banking portal, they can be simple ones. I reviewed a resume that listed a local area sports league where the candidate worked on a project to get a portal up so the parents of the kids could post pictures, teams had their own areas, schedules, announcements, etc. It was not anything major, and basically consisted of a few pages. But this project description on the resume explained about the security features instituted, the need for the proper UI experience, the DB interaction, the framework, the business rules and requirements. It showed me that this candidate not only was a part of the project, but that he had a sense of ownership to the project.

The project descriptions I would personally stay away from mentioning:
– you were part of a team; that should be a given, if you are building an app for a company, no matter what the size is, you would have had to interact with someone besides yourself
– the project was interesting; this should go without saying, yet I see this so often
– you were responsible for some part of it; I know you are assigned a specific part, but you forget to mention what that was usually, and again, I see this so often that someone was responsible for the “X” of the project, and never goes into any detail
– dealing with issues that come up; I have yet to encounter a project that runs exactly like it was projected, tell me how you overcame conflicts, not that you dealt with them

Make sure you also go into numbers, achievements, and success stories. How did your work help the overall organization (if you know), what successes did you have. If we get to the point of an interview, I will ask more detailed questions about this project. It is on you to help get me to the point where I am excited to hear about the project.

Conclusion

Above all else, what I look for is common sense and critical thinking. I look for people who want to grow and learn and expand their career. Some of the jobs we do are tedious and sometimes boring and dull. I am looking for people who are smart enough to realize that and make these more interesting for everyone. If you want something specific, make sure you tailor your resume for that. Be yourself and be honest. Be confident, but not cocky. Be realistic, but visionary. Do this, and the resume may just pass you to the next stage.

Ideas on Code Strategies

This past week I have spent time thinking on some of the best applications I have built, and some of the “neediest” applications I have built. Some of them are in both columns. And I am sure this is the case with most developers. Some times, we get to be part of a major project, and get the best possible ideas, and then BAM, a product is released. After patting ourselves on the back and thinking of how great it is, we find special “features” that require updates or bug fixes. Had we just followed some simple steps during the build phases, I am sure we could have prevented that.

In today’s software development world, many phrases are thrown out there and used. We have SDLC, Agile, Waterfall, Extreme, Scrum, Feature Driven, Test Driven, etc. All of which are great when actually used. But how many places that use those terms are actually doing those practices? There seems to be a bigger practice out there, one that is used more frequently than anyone dares admit. This is a practice I refer to as the Atomic Development Cycle (ADC). I am sure we all have done this, either in its entirety or used many pieces of this.

Characteristics of the ADC can cover a wide range that seem reasonable and responsible, but fall far from it. The project is defined in generalities, and possibly some specifics. The design has been kicked around, maybe even pre-approved. The main data has been identified but not analyzed. The use cases have been discussed, not documented. Timelines are unbelievably tight but manageable. Code is dived into, and testing plans not thought of. The final product looks brilliant seems like flash of light. And it usually is just that, a flash of light, and not sustained. Soon, bugs start appearing. Enhancements require more fixing than actual functional coding. The database design turns out to be too strict and not flexible to the changes, so now Db design changed force more testing and bug fixes. Soon, band-aids are applied to the app, and the app is wrapped up in kluge code and an embarrassment. But since the business saw the initial brilliance, it still wants to use it, and now you are forced to go back, triage and rebuild.

Some projects force my hand into doing this, Other times, it could just be laziness or lack of caring about a personal project that would force my hand in this. With this new year, I need to be better about this. I know better. I know that not all apps are going to work well out of the box forever. But I do know that apps that follow a structured process that ensure the proper framework is in place will succeed more than the ones slopped together. Understanding the proper requirements of the application, even if they do change, is important. Getting the Database in order is tantamount to success. Designing the code is another gigantic step in the right direction. I need to be better and not let this get out of hand.

Yes, the ADC may work in some instances. And yes, they may provide for some awe-inspiring, mind blowing apps. But just like the atomic bombs, they may look brilliant for a short time, but the devastation they leave behind is never worth it.

SOAP Server and Client, now with WSDL

Trying to get the post in for the day, and this is about the PHP SOAP service. So we have the array of items we need, and we are going to create some quick code for the server and client, but unlike nuSOAP, we do not get a great WSDL generator. So we have to create that ourselves. And it has to work. So that is going to have to work well for us. I have the base WSDL file ready. And it is late tonight, and I got to get a post up, so here is the link to my SOAP directory, and tomorrow we will get into the code and WSDL.

Part 2, with the code

And we are still here

In thinking about the past week, and more specifically, this past weekend, there is one major non event that most people seemed to be tuned in to: The Rapture. Yes, the Family Radio group has been preaching for months now in their RVs that the end of the world was going to happen this weekend. It got a lot of air play, and spread like wildfire through the “internets”. Now Mr Family Radio has over one hundred million in his account, and many people were left here in the real world. For those of you keeping count, this is now the second time that Harold Camping has declared the world would end. We first hit that date in 1994. The proposed date, September 6, came and went without any great fanfare. But this is the day of over-information sharing. Here we are in 2011, and the new prophecy came out that the world was going to end on May 21. And the message spread rapidly.

He had a plan, a radio broadcast, and a site. Many other groups started to inadvertently spread the word, not because they believed, but because they were ridiculing this. So now we are here. The guy was 0 for 1 and still people believed him. No matter what your religious persuasion be, I think one thing we can agree on, is humans are not that bright to figure out what a deity may be thinking or planning. Heck we have been on this planet for (at the very least 3000 years), and no civilization have been able to figure out “the gods”. But it did not matter with this. People wanted to believe something. They followed this guy because of his message, his charisma, his leadership and unwavering belief that this event would occur. And it did not. Now comes the time of denial and flabbergasted responses.

So what positive lesson can we learn from this event? One thing I can take from this is a company has got to give the public something it believes in. This is mainly for the smaller businesses, but can also apply to bigger businesses. Many times a business will just push products out and not really put the belief in the product. Have a plan of action to promote the product along avenues that suit your targeted demographic. Camping did not buy air time during the Fox Business Channel market watch, nor did he get time with leaders of the world, or powerful business men. He went around in RVs to people whom he felt would be receptive to the message. He was not ostentatious about the message either, he appeared humble, and kept the message on a level for mass understanding.

Now, I am not saying go out and be evil about the marketing, nor am I saying put the fear of God into people so they give you money. Be practical about it, message it properly, and believe in what you do. Yes this whole campaign by Family Radio was big, but it flopped. And that is the next biggest lesson to learn from this whole non-event. If you are going to make promises, deliver when it comes time to deliver, otherwise do not promise anything you can not reasonably deliver. That will kill your business quicker than anything else.

Now will Family Radio recover? Possibly. Remember this is the day of over-information. We will laugh about it, and we will keep it in our consciousness for the next few days, then it will be “so last month”. And there will be the next major gaffe about to happen. Just make sure it is not you or your business that is on the receiving end.

PHP Web Service Example Set Up

In a previous few posts, I posted examples for the NuSOAP server. Now it is time for the intrinsic PHP SOAP web service. This will be a quick post for the server and client, as they are easy to do. The hard part will be the WSDL document. With NuSOAP, it created a WSDL for you, but with PHP SOAP, you must do the WSDL yourself. Be sure to read up on the documentation at PHP.net.

So first off, we need to create a few ideas on what we will return. This will be a simple example with data returned. So for the data set, we will return an array of colors, and an array of named pairs for boys/names and girls/names. Two simple methods to the service, and we need to build the client as well.

So this post will only be the set up of those, and maybe next week I will post the actual server and client code. So for now, here are the data arrays we are going to work with:

$colors = array(
	'blue', 
	'green',
	'black'
	'white',
	'yellow'
	'red',
	'beige'
);

$names = array(
	'boys' => array(
		'stephen',
		'dave',
		'ryan',
		'brian',
		'chris',
		'tom',
	), 
	'girls' => array(
		'elise',
		'sheri',
		'kim',
		'marci',
		'megan',
	)
);

And we will need the WSDL file in place. So the basic layout for this webservice server will act like this:
1. All calls to the colors function will not take any type of parameters, it will be:

$webservice->__soapCall('getColors')

2. Calls to the names function can be one of three options: both, girls, boys:

$webservice->__soapCall('getNames', array('boys'))

3. Both functions will return some type of message header and array of returned data.
4. The data is set up above, and the structure will be the same.

Now knowing this, if we get the WSDL set up and working, then the service will work. So next week, I will show the WSDL, the Server and the Client.

Part 2 including the code

Will you really know what it takes

So I am entering week three of this month and trying to get things completed. So here is the latest in the line of items that will be done this week:

Monday – Will you really know what it takes; Planning ideas and thoughts
Tuesday – PHP Web Service Example; focusing on coding
Wednesday – Facebook, Foursquare, Twitter oh my!; ideas and code segments for people like me, social lepers
Thursday – I am Here; examinations on location services, social integration and strategy
Friday – Funny quotes; fun stuff to finish up the week

For today, it is going to be short, and more of something to think about. Someone asks you to do something. You have this project in which you need to rely on other groups and other people to help complete the project. Will you really know what it takes? Sure, we may really be in tune with what is out there, and we may understand our part in this, but when we start to get more people and other groups involved, it can become a little confusing as to what it will really take. These other groups may not have the time or resources to work on this project right away, so that may introduce more meetings and political suave to convince a different set of executive management to understand your project. Time allowed for the work to be completed may be a question that comes up as well.

What about your own personal time? How much do you have on your plate, and how interesting is your work? Is this new project something you see as wonderful, and a challenge that is good? Or is it more of a mundane routine you are seeing yourself increasingly doing more often? Is your heart in the project, if it is not, how will that affect the effort you put in? When everything is said and done, your name will be associated with this project, in some way shape or form. Is this something you will be proud of, or will it haunt you later in your career?

Two People Get On an Elevator

This week it is going to be a little different for all posts. I am still going to follow the format from the past weeks, but all posts this week will be 400 words or less. Including the code posts I will be doing.

Up for this week:
Monday – Two People Get On an Elevator; Planning ideas and thoughts
Tuesday – Count the Number of Cakes; focusing on coding
Wednesday – Who Do You Like; ideas and code segments for people like me, social lepers
Thursday – Following the Yellow Brick Road; examinations on location services, social integration and strategy
Friday – 400 Words to Madness; fun stuff to finish up the week

Some of the best ideas are planned in 400 words or less. At one company, this was called the elevator pitch. You have that short of a time to sell someone on your idea. Have you planned it through? Do you even know what it will do beyond your own comprehension? These are things to remember when trying to plan for the pitch. Not everyone is able to just quit their job, work on their own project and be able to fund their ideas, equipment to get up and going, and market this thing. Many people need to have some kind of investor(s) backing. So how would you sum up some of the greatest products in less than 400 words.

One semester I had to come up with ideas to do this. We had to take products that already existed, examine what they did, what benefit they provided, and why they were in demand. These products were not necessarily ones that we knew of. And we had to present these benefits to the rest of the class, and had to do it in under 4 minutes. We could not talk fast, and we had to be coherent. Our grades were going to be determined by anonymous feedback from the rest of the class. If the pitched worked, we would get good grades. If not, we would fail.

In the real world, it is much the same. You have about 400 words to sell your idea. You have made the plans, models, diagrams, etc. Now you need to get someone to back this idea. Much like everything else, you must plan for this. Highlight good points, ROI, and ease of use. Practice on other products. In 400 words, describe the product and your vision.

Measured for Success

Keeping in the theme from last week, every day will have a specific theme, and I will keep the same ideas of last week. So without adieu, here is this weeks plan:

Monday – Measured for Success; Planning ideas and thoughts
Tuesday – You Did What?; focusing on coding
Wednesday – I am Not All Alone In the World; ideas and code segments for people like me, social lepers
Thursday – Everywhere and Nowhere; examinations on location services, social integration and strategy
Friday – Riddle Me This; fun stuff to finish up the week

Birds Fighting Over Food
Image courtesy of Ducklips Photography

And today’s topic is figuring out what is the measure for success. If we look at last week and my posts, I wanted to have a post every day of last week, and I got through Thursday. I missed Friday, and that should have been the easiest one to do. So based on my own goals, was last week a success? I would have to say no. I put a goal of 5 posts in 5 days. I did 4 posts in 5 days, so I fell short. And that is what is important to understand when trying to plan a new application: what is the measurement for success, and can it actually be measured. When planning for an application, it is important to understand what will define the success of the application. It is much like a goal. It should be conceivable, achievable, measurable, and desirable (others do exist, but these are important when planning on gathering statistics). Another important part of this measurement is the fault tolerance allowance. This includes the level of error, or missing the set goal, that you are willing to accept. For this, let’s examine two different scenarios.

Continue reading Measured for Success

Whats the plan, Stan

After nearly a month off, I believe it is time for me to institute a new way I am going to blog. Topics range from a ton of different items, and I think we should have a specific way of what I am doing. So, starting today, and hopefully I will have enough time with this, I will be doing a post every day of the week. Some will be longer than others, and some with be short. But every day, there is a theme that will be followed. The format will be as follows:

Monday – Whats the plan, Stan; Planning ideas and thoughts
Tuesday – Have your Cake and eat it too; focusing on coding
Wednesday – Coding for the Social Leper, ideas and code segments for people like me, social lepers
Thursday – Focus on the Locus; examinations on location services, social integration and strategy
Friday – Fun Stuff to Knock Your Socks Off; fun stuff to finish up the week

Now, the next question ought to be, what makes me such an expert on any of these topics? Well, here is the answer, nothing, I am not an expert. These are my musing and experiences in these areas. I may be right on some of my endeavors, and I may bomb. I will share both with you. I figure one of the best ways to learn and grow is to share experiences with each other. And this is what I am intending to do, share my experiences with anyone who cares to read.

So lets get on with the post for today – Planning. This goes with any thing you want to do. Whether that is code, a social media strategy, or marketing campaign, heck, even mowing the lawn. I will share with you some of the things I do before writing any code for an application. There must always be a start to everything, so lets start with the basics. This will be a very high level overview into some of these items, and will get more detailed as the weeks go on.

What is really needed for the project at hand? Do we know what the goal is, how it should act, behave, grow? Has any research been done. In code, one of the things I like doing is understanding how an end user is wanting to use an application, what they expect. I go through interviews, process flows, and even user stories. This can be applied to almost everything else. We need to understand what it is that needs to be accomplished, and why it needs to be accomplished.

Next is to understand what success and failure metrics for this project. What needs to be tracked, and why. What is important to business groups and why would it be important. What is the success boundaries, and what consists a failure? I like to understand each of these items so I know what to plan for in the code, in the campaign, in the project. Statistics can be a real bugger if it is done at the very end. And it may affect how an application is coded, a project assigned out, or a campaign run.

Once we have these ideas in place, we can start with the next phase of planning, and that involves the documentation, the project write up, and the use cases, mock ups, design sketches, etc. Which can be very time consuming. This is what makes it hard to go this route for many companies. Time means money on a lot of ventures. Not just the money of paying people to do this, but the residuals that involve this as well, electricity to power laptops, internet connections, travel, focus groups, phone charges, etc. This phase can have a lot of monetary impact while yielding very little ROI. So it is finding the right combination of events to maximize those events, and get into the actual work quickly.

Planning is essential though. And it should not be passed over or taken lightly. Think of some of the major applications, or ads, or products out there. Each one of them required a ton of planning, and it paid off. The Old Spice commercials are amazing, and that could not have been slopped together quickly. Most online applications are ones that are well planned, and you can really tell the difference between the ones that are and are not. Companies that are successful plan. But a final word of caution on planning: Do not let it consume you to the point of where you lose focus on the final product. You can plan things to death. Find that perfect balance that works for you, and run with it.