How to Find a Job When You’ve Been Off The Market & You’ve Hit The 5 Ohs.

I originally published this blog entry on LinkedIn.com Pulse here: https://www.linkedin.com/pulse/how-find-job-when-youve-been-off-market-hit-5-ohs-dan-gudema?trk=mp-author-card Please make any comments on LinkedIn. Thank you.

After I made a pronouncement back in May that I was no longer going to work with startups and will be on the hunt for real benefits and a steady check, I had to face some harsh realities.

If you have taken a break from your proverbial career path for any length of time working as a consultant or had a startup and you are looking to get a full time job, well it can be downright crazy frustrating. And I have had lunch with a few of my friends who are trying to figure it all out.

South Florida has the extraordinarily unpleasant truth of having to compete with large numbers of northerners who apply for jobs here because they just can. We are obviously in a bit of a vacation location, so it totally makes sense. The end result is there could be 10x more job applicants than anywhere else for certain positions. So, the traditional apply for jobs is a non-starter in South Florida.

So what have I learned since last April.

Only put in about 10% of your time applying for jobs.

Applying is anathema to a job search. It could suck up hours prepping resumes and filling out forms with corporate robo cruncher job systems like Taleo (which by the way is the worst experience I have ever had with any online system). And every time I come across Taleo, which has that dreaded resume upload and it generates your online resume where the system thinks your last job is now your undergraduate college. Just letting you know that if that is the way they treat you in the hiring process, I’d wonder about the actual job itself! Actually my opinion is if an employer requires you to rebuild your life history through their system from scratch, avoid them like the plague!

Have at least 5 different resumes for a variety of jobs.

Actually you may need 10 different resumes. In fact, you probably should just customize the resume to the job! Yes, get better at Word now! If you are over 50 like me and technical with an MBA, you can probably handle being a programmer, architect, product manager, director, CTO. I have done them all and I need a resume for each.

Don’t Bite The Hand That Feeds You

I had a confusing experience with a headhunter recently who suddenly announced that I had missed the interview and sent inappropriate comments to the hiring company. The problem was, I had not yet been contacted. The other guy obvious had the same first name as me, Dan! The point is, never let your frustrations show. It’s totally unprofessional. That guy totally screwed me!

Pull, Don’t Push

Sounds like the Yin and the Yang of job search, but this is how you should be spending your time. Don’t apply for anything! Go to the top ten job sites and just update your resume. That is Indeed, Monster, Careerbuilder, The Ladders, Ziprecruiter, Linkedin, Dice. The key to this strategy is peppering your resume with the right keywords at the right time. What I mean is, as an example I have worked with Google Analytics, Coremetrics and Adobe Analytics (Omniture), so I add Webtrends, Cognos, Teradata and Tableau on there. I have worked with all of these products… a while ago. Trust me, I have. And once you find the area intensely in demand, like Adobe Analytics as I found out, you get the mother-load of emails and calls. But you need to make sure you have those keywords.

Yes Man

Say yes to everything! The impact of putting myself out there with all my resumes and this hot desirable tech skill was that I got called by 50 headhunters and received 3 to 20 emails a day for about 4 weeks. It was 90% from companies in India, who call like they are in NJ or Madison, Wisconsin. I would not be surprised if they were all shoved in a small building in Mumbai smoking together on their breaks. You need to play along and say yes to everything. These guys are not the real hiring companies, but they seem to have a way in to the decider! And why not say yes to everything? Until you get an offer, everything is on the table. And I will go as far as leaving Florida for the right gig anyway. I noticed occasionally that some jobs allowed for remote… That was interesting, because obviously that works best for me. Regardless, I am out for the highest bidder and the best locations (wink wink). I really am…

Marquee and Recency Matter

So I worked briefly for The Limited/VictoriasSecret.com 10 years ago. Nobody cares now. When you’re at the 5 Oh, and you have been out on the streets as a consultant or worked for startups for a while, you need a good name or two to let employers know you can actually still work! So, when I got the chance to work at Office Depot HQ for a couple months, I jumped at it. Call out to Office Depot friends, I had fun working with you guys!

What’s the difference between web marketing jobs and web technology jobs?

The answer is $30,000 a year! So I found out I am still a tech guy and not an online marketing guy (Though I will send you a resume for whatever you want me to do!) It really sucks being an online marketer who wants a real job. Now I know why so few online marketers want a full-time job, when they can make more as consultants working on a commission schedule.

Your Community Is Everything

In the end, one of my past associates got me a gig, which I am at now. Director of Business Intelligence and Analytics (I gave myself that title)! So, the best way to put this is, hours of resume writing, fighting the robo cruncher job system “Taleo”, at least 40 hours of phone interviews, probably 60 hours of redoing my resume, skype interviews, emails and texts and so far what I have is I am back at a consulting gig with no benefits that somebody helped me get into. Life is crazy and not always fair and it is less fair when you are in the 5 Ohs or greater because the world is prejudice in favor of youth. Youth does have more energy and can work till 10pm. I can’t! I’m already asleep.

Now, speaking about community. Once again we are running a startup pitch event at Cendyn Spaces in Boca Raton, FL on Sept 21, 2016. This event has a demo day portion where startups can buy space at table/booths where they can show off their product or service to investors! If you have pitched in the past, you are welcome back to demo your service or product if you pay for a table or half a table. We already have 65 RSVPS and 3 companies pitching with 3 weeks left to go. Everything you need to know is here on Meetup:

https://www.meetup.com/Boca-Raton-Tech-Start-ups-Meetup/events/233315418/

Now the funny thing is my associate who landed me my recent consulting gig I originally met at an AIP meeting (Association of Internet Professionals). Get out there and get networking. So community is everything! Hope you enjoyed this entry and I will see you at our pitch event!

Dan

10 Rules of A REAL #SocialMedia Strategy For #startups

About 2 years ago a group of startup founders working at a tech startup incubator at The Greenhouse in Boca Raton talked about running a tech startup pitch event.

I decided I would promote and run the very first event.

Back then I did not know how to promote a pitch event. What I did count on was the couple hundred people I was connected with on Linkedin as well as Twitter. I also had been blogging for a couple years about technology and startups.  So whether I acknowledged it or not, I had followers and likes!

Rule 1: Start your social media strategy by looking at what assets you can leverage.

I began to promote my event through my personal blog and through local startup organization social sites as well as Meetup and Eventbrite.  I also mentioned the event to local newspapers. To my surprise I had over 110 attendees for my very first event.

Rule 2: There are no rules
to social media.

Each unique social media campaign requires different forms of social media based on what you are doing.  You wouldn’t promote your daughters birthday party on Linkedin and you should keep business on Facebook to a minimum. Nobody on Facebook likes it!

I just think that using a one size fits all, cookie cutter approach to all social media makes absolutely no sense.  Often that is what social media agencies seem to do for clients. They seem to have one set of tools they deploy for all clients. Well, let’s just say if you outsource YOUR social media to a paid agency, expect to get crap and expect to pay a lot for your load of crappy social media. How would they know your business better than you?

I don’t use Pinterest, Instagram or Vine because it makes no sense for a startup pitch event.  I don’t use Facebook because I don’t think my family members, high school friends and fraternity brothers want to hear about my event.  They just don’t care!  Use the right social media that makes sense for each market segment!  I use Twitter extensively. Even Twitter does not work for some social media campaigns. Meetup, Eventbrite and Periscope are part of my tool-set.  I run events, that’s why!

Rule 3: Be Real.

Being real simply means that authenticity means a lot in the world of social media.  It means talking directly to people like I am talking to YOU in this article. When I see non-personalized business articles, simply stating facts, products and services with no personality, it is just not that interesting.  And it is really not effective. It is just best to be a real person behind the social media! When you go and purchase 30,000 Twitter followers and send me a canned response when I follow you on Twitter that you are going to change my life.  That’s actually worse than junk mail.  It’s just not real.  Let’s just say that my 6 and 8 year old sons can tell you if you are being real.  That’s a good test of your social media!

Be real and people will follow you.  I will say it again, do your own social media and don’t outsource it!

Rule 4: Give up something and you
will get something back.

When I see a blog that just wants something from you, selling you, soliciting for something or Tweets asking you to buy something without an exchange I shake my head. What I am doing right now is giving YOU at least my thoughts (for free). Before I ask you to do anything I give you something. By teaching you I am giving to YOU.  I gave away my last book, Names, for free as a PDF if you sign up for my email list.  I give and give and give.   And after I give, sometimes I give again.  Then whatever I am asking for at the end, attend my event, buy my book (click here), join my email list (click here) or buy my new 3 year projection excel spreadsheet for sale on Gumroad (click here), you choose whether you want to do that.

Rule 5: Connect and
Automate Everything.

I will give you a little tip.  You can either pay a Hootesuite to post out to all social media out there after writing an article or you can use a little known feature called Publicize built into Jetpack, a WordPress plugin to hit a variety of social media all at the same time. Jetpack sends the actual social media blast through WordPress.com {The WP Mothership} When I am done with this article, I will use it and blast out to Twitter, Linkedin, Facebook and Google+ with one click. Now that will save time.  See, I am still giving stuff to you!

Rule 6: Duplication and Replication is ok.

There are all these Google rules you will hear about like not duplicating content, but my experience is that only applies to website pages and static pages and not social media.  Linkedin for instance does not get searched well by Google (maybe the Microsoft deal will make this even worse).  So I copy and paste these articles to my @dgudema Medium.com account as well as my personal blogs http://startuppop.com and http://strategicpoints.com. And don’t be afraid to tweet the same thing over and over.  Yes, it’s ok. Tweets are fleeting and tweeting 2 hours later actually reaches a whole new crew of people in different time zones.

Rule 7: Activity is Everything

This is why Facebook is so good for social media, there is non-stop activity. Because I don’t feel comfortable using Facebook for business, I use Meetup activity as a way to replicate some of this constant activity.  People seeing action really helps the group or event get traction.  This is why I often give away the first 40 or 50 spots for my events, because once people see I have 50 attendees they want in on the action.  Have you attended one of my events because you saw 75+ RSVPs already in the meetup queue?

Rule 8: Be Available

I don’t think you have to be around 24 by 7, but you need to be part of the mix. Without you, the social media personality or social media manager responding to comments and coming out of your shell, you are pretty much dead in the water.  I read a great article that says if you don’t respond to a comment on your blog, you are dissing the person commenting!  Try to respond to every comment!

Rule 9: Be Controversial, Be
Daring, Be Different

Nobody wants to read 10 Golden Rules that everybody already knows!  They want to learn something.  They want to be challenged.  They want to be engaged. They want a reason to put down a comment at the end of this article telling me that I am so stupid and here is why!  Don’t be afraid to say something nobody wants to hear. For me, well, I am still fighting this feeling that I am over-exposing myself with certain issues.  I am not going to make a comment on this election, but those of my close friends know what I really think. Like Ted Cruz said “Vote For The Person You Think Will Protect Your Freedom!”  That’s about as political as I am going to get here.  Being honest, direct and truthful is what makes the most sense for social media.

Rule 10: Build YOUR Community

Whether you want to have an event, a party, a new business, a startup, a school, run a non-profit, help kids with autism, be a writer or anything, you need YOUR OWN COMMUNITY.   That is why you need to start building members of whatever community you will need for your social media campaign in the future… today.

If you are sitting at a job and are starting a startup next year, you need to be recruiting members to your list today.  How to do this?  Well, there are so many ways I can not even list them all here.  You don’t need to build out your own social network technology.  That would be stupid and just not worth it!  You can use Facebook, Linkedin, Google+, Twitter, Pinterest, Instagram, Vine, Tumbler, Periscope, Meerkat, Meetup, Eventbrite, Medium, Evernote, WordPress, Goodreads and 100 other social media out there.  You just have to choose the right tools for the right segment of people for what you are doing!

If you are in south Florida and are not in my Meetup group, please join below:http://www.meetup.com/Boca-Raton-Tech-Start-ups-Meetup/

Once again, I am promoting my new eBook called “Names: How To Name Your Startup Venture here on Gumroad, or here in paperback on Createspace or here for Kindle at Amazon.com.

Follow me on Twitter here: http://twitter.com/dgudema

Read this and other articles here on Medium: https://medium.com/@dgudema

Have a great weekend and start blogging like me if you want to create a community for what you are planning tomorrow!

Buddypress Redeux

Sometime in 2011 I was asked to assist a friend in setting up Buddypress. Buddypress was a special plugin that, along with WordPress MU or WPMU would make your WordPress site into a social network.  It was a bit of a dream at the time, to be able to plugin this in and that in and get a basic Facebook.  It was not easy and there was a bit of trouble, because it was actually built on top of WPMU which was really many blogs in one.  So it was very convoluted.

I heard WordPress acquired buddypress a few years ago. Well, the 2011 version of Buddypress did not implement very well.  From what I remember we stumbled into it and found that we needed a developer to do this or do that. Eventually we lost interest in the project, because we were just trying to create a basic social site.

Many Buddypress plugin functions hardly worked, and you were really limited because at the time you had to use a special WordPress template that was Buddypress compatible.  In fact, you had to not only have a special template or create one yourself, you also needed to hire a programmer to get Buddypress to pretty do anything out of the ordinary.  So, what this meant is you ended up with a common looking Social site that was no different than Facebook, so nobody cared.  In fact the template issue was as big a stumbling block as the custom coding issues.

So, fast forward 4 years, and we are now popping the new Buddypress into action. Basically it is a whole different world. I know that WPMU became part of the standard WordPress build.  So, it is not really worth going into, but basically Buddypress can allow you to not only create a social site, it can be combined with BBpress to create a multi-blog site for your users, where every user can have their own blog.  Does not sound too important, but that was the basis of Buddypress in the beginning.

The big improvement, because I have been away from this plugin so long, is that you can pretty much choose any WordPress template to work with Buddypress.  Does not sound too important, but it makes it possible to design your social site anyway you wish if you are designer.  The end result is you can find that killer template, pay a small amount or get it for free, plug this and that new WordPress plugin in and you have a real social site.

I have worked on a bunch of custom social sites, so I know as well as anybody what it takes to build out a real social site.  Obviously you are going to have to sacrifice some level of customization to make Buddypress work for your concept, but if you are not that concerned about custom functions, this is pretty much going to do the job.

So, want your own Facebook or social app, you can configure Buddypress and WordPress and get something special. If you have a WordPress site already and want to figure this all out, let me know.

Dan

dan@startuppop.com

The Art of Not #Negotiating

I am in no way an expert on negotiating.  Let’s just start with that statement. The Art of Negotiating has been a studied and well-written about subject for the past 100 years.  You can pick up a great book about it.  You can take a webinar on negotiating.  You can attend a seminar. You can become an expert at negotiating.  Learning how to negotiate is rational stuff.  We all need to learn to negotiate in life.  However, that’s not what this blog post is about.

The art of negotiating is a delicate balance in dealing with people that we all need to learn.  I admit, I am not great it it.  Some are born with the gift of negotiating. There is a give and take to negotiating.  It just happens that negotiating means meeting in the middle. It means that to get what you want, you have to give something up.  That’s how it usually works in life.  It just happens that having children has changed my view of negotiating, because most children don’t know how to negotiate.  A child’s method of negotiating can turn into a full-blown bratty screaming “I will not take a bath!” I tell him that if he takes a bath, he will get some ice cream afterwords.  Instead of negotiating with me, he just screams, repeats himself and runs away. Even worse, now he cries for just the ice cream, and no bath. Well, that as you know is not exactly negotiating.  It is what I am referring to as The Art of Not Negotiating.

And quite frankly this blog post is not about my 5 year old son.  I wish it just was about him.  I actually thought that most people understand that you have to negotiate.  Some kids don’t negotiate, cry and just want what they want.  They usually don’t exactly get what they want. Hopefully there is a lesson there.

There are different tactics in negotiating.  For instance, I once negotiated a job via email many years ago, where I asked for every possible perk and salary I could get or not get, like a high salary, 100% paid medical, additional weeks of vacation, paid education, work at home, 401k immediately, a parking spot.  They came back and basically could not deliver on 95% of what I asked for.  I got the parking spot.  So, when it came to the salary, they found that they had to give in to some level.  We negotiated the deal.  I got a great salary.  They were happy with my work. I ended up working there 6 years and we got along after negotiating.  It happens.

When you don’t negotiate and you come into a situation making demands without any room for negotiating possible, you are quite frankly damaging the long term relationship.  That is the strategy that I recently ran into.  I could say it was with my 5 year old son, but it wasn’t.  People who think they can make demands and believe they always get what they want are either egomaniacs or never learned the lesson I am trying to teach my 5 year old.  You have to give a little to get a little.

WordPress Gets Bigger & Better & Sometimes Too Big

After upgrading about 25 of my client and personal sites to the recent WordPress 4.2 version(s), I can tell you that things are working better than they ever have for WordPress.

Though I have worked on every angle of WordPress from being a user, developing templates, creating and programming plugins to fixing WordPress bugs and installations, I can say now more than ever that WordPress is a great way to go if you don’t need a custom development project.

Saying all that, you would think I am a total WordPress lover.  In fact, the biggest issues I have had to work on recently related to WordPress have more to do with either 1 of 2 user created issues.

Too Many Plugins

The first common problem for users is the user added so many plugins that WordPress is now either broken or has an error in the admin screens or you can’t open the admin.  You can’t blame users for loading up these amazing plugins.  There are about 15 I highly recommend.  But just like your iPhone/Android Phone if you load up too many apps, eventually your cell phone will crash and burn.  I was hired to consult on a WordPress implementation where there were at least 20 plugins.  Once you do an upgrade the likelihood of a having a problem plugin increases exponentially, since all your plugin makes have to have a version that is tested against the new version of WordPress.  So having your website on auto-upgrade WordPress versions can lead to one day opening up your URL and seeing a broken site.

The Dreaded WordPress, Server or Language Upgrades

What happens when you upgrade your version of WordPress is the potential for corrupt files, permission on file issues, database table upgrades and other small quirks.  This the price you pay for being a user of WordPress.  Remember, it is free.  They are doing upgrades like every 30 days sometimes, so the introduction of bugs is very common.  I don’t know a user of WordPress who has not had a small issue.  It is all worth it though, for the value you are getting.  Also just wanted to mention that a hosting company upgrade of some sort has caused me headaches over the years as well.  It is possible that last night the hosting company went from PHP 5.5 to PHP 5.6. Not sure why, but there is a possible incompatibility with WordPress now, especially if you have custom plugin or template code.

What’s Next For WordPress

A couple years ago I read that WordPress was at 8 million downloads per version and 8% of the web.  Now it has to be in the 25 to 50 million range and a good 25% of websites or greater.  You can look this up.  It is big.  It is getting bigger.  Just happens I developed some expertise with WordPress.  It is here to stay and it is important.  The next stages for WordPress look to me like a very similar path of Microsoft.  Once you get to a level where the majority of users are using your system, you have power and the ability to make an impact with a small move.  For instance, the paid side of WordPress coming soon.  Everything that is free in life will eventually have a price.  If you are looking for a WordPress consultant because your site is either locked up, showing a can not open, can not install or other issue feel free to contact me and ask me questions.

Dan Gudema

Web Analytics Consulting History Part 1

Web Logs Becomes Web Analytics

In 1999 I was working for abc distributing in North Miami.  We had been using Webtrends at the time for web analytics.  Actually I don’t think we called it web analytics.  We called it Web Log Analysis. Logfile analysis did not last long. These web logs were just the files that track every file (like image, html, etc.).  We actually call these hits.  Hits are anything that hits the server.  The problem with hits, which would eventually go away as well, is hits are not real people.  You can have one visitor who visits one time, but because there were 50 images in the page, 10 javascript libraries adn 10 other things, there were 70 hits during that one browser session.  Alas, hits goes into the bin of not so important history.

Accuracy vs. Knowing What Was Going On!

What drove this large ecommerce company I worked for to move to cloud based web analytics is that the logfiles got to big to analyze. I found this out the hard way when I was trying to merge together the log files of several large web servers.  There was like 4 gigabytes of data per server.  Maybe today that sounds like not so much.  Actually it is a lot still when it comes to trying to merge millions of lines in files. We needed at least 5 front-line servers at abc distributing, because at the time you needed a bunch of servers with an F4 in front to handle their traffic.  Unless I merged all those files and ran one report, there was no way of knowing the sites real traffic.  I needed an answer quick.

Hitbox To The Rescue

So at that time, the leading lower end cloud based analysis solution was called Hitbox, by Websidestory (always thought that was a nice play on words).   Hitbox would eventually be acquired and merge into Omniture Site Catalyst, which I also have expertise in.  Just happens I was around so early on in the web analytics field that I was helping the Hitbox team figure out what to actually look at.  Years later, as I look around for web analytics consulting work, I still see that web analytics has been relegated quite often to a not so important task done by a not so important employee.  Alas, that is where using a seasoned web analytics consultant like myself can make a big difference.

Seasoned Web Analytics Expert

So, if you are looking for a web analytics expert, do not hesitate to contact me to find out what I can do for your business.  It really does not matter if it is Omniture SiteCatalyst, Coremetrics, Google Analytics or one of a dozen others out there.  I have the experience to help you.  Getting the right consultant can make all the difference. Please fill out the form below to contact me.  Thanks, Dan Gudema.

Click here to go to Web Analytics History – Part 2 – SEO becomes a thing

Starting In The Front-End vs. Back-End Web Development

Having been around a lot of website & app development for the past 15 years, I see two major ways to pursue a web or app solution.

You can either approach it from the front or the back.  This just means that either the project starts with design (the front) or it starts with code and database development (the back).

Let’s just say the front-end design approach is more suited to success these days in creating a web or mobile app.  It has more of an agile (not the method, but really agile) way about it. If you are going to develop a software app, showing customers what you are going to first develop, then develop it, makes total sense.  This is all my opinion though.  When I hear that a company is going to develop all the back-end tech first and then figure out how the app will be approached from a customer perspective, I get a little nervous.  The front-end generally dictates the back-end.  But, once again, there are a lot of perspectives on this.  If we were developing 50 years ago, and were using a mainframe, we would have to build the back-end first, because there was virtually no front-end.

However, in todays environment, the largest of applications require some sort of front-end design sooner than later (preferably upfront).  I will give some great examples of success at the end of this article.

In modern web dev apps I generally see a front-side approach.  That does not mean that the back-side is not a way to develop.  It would really depend on the type of project.  It can turn to a situation where the front and back meet in the middle. That Middle approach may be a happy medium.  The Middle approach to me is just the second stage of the Front-End.

Back-End Approach

If the project is completely not dependent on customer user interface design or known business model constraints then back-end makes sense.  A good example would be developing an API.  An API (Application Programming Interface) is a way computers connection and pass information around.  So without any serious user interface, an API generally has no front-end.  But even with an API, I prefer a front-end approach, because sometimes it take a front-end to understand how the API needs to work. Another example would be a database solution that has no user interface.  Let’s face it, if there is a User Interface somewhere involved, even an administration screen, the front-end approach makes total sense.

Front-End Approach

The Front-End approach is relatively straight forward.  One tech team I work with typically will design as many screens as possible in advance, so they have identified all the necessary back-end programming needed.  Once the company or client has agreed to all these designs, they move on to an HTML/CSS version.  At the same time, they typically will start to do some of the heavy lifting back-end parts of the project.  This depends on the sophistication and complexity of the application.  So the Front-End approach ends up meeting the app code in the middle.  It’s a necessity.

The Iterative Approach

During project development, software development companies find stuff that needs to be added or fixed.  I always refer to this as the plumber who needs to open up the wall to find out what needs to be done.  No project is exactly the same as the design.  There are always slight changes, typically made by the product owner/manager. These are the fixes you could not think of initially or bugs that come into the process by mistake or because of an unexpected sequence of events (stuff you could not foretell).

After the first version of a live software project, also called a Beta or an MVP (Minimum Viable Product), there is the next version.  Typically these next versions and changes don’t always start from the Front-End, unless there is a redesign.  The next set of changes go through the same set of processes again and again.

The Final Point

Well, let’s just say that Back-End driven development is good for certain types of projects.  Let’s just say that it can lead to a major problem if the project is consumer/customer facing or consumer oriented, especially if the Back-End driven project was not developed with real customers in mind.  If the customers enter the process later, it may still be ok, especially if there is a budget to redevelop the entire project (front-end design) from scratch.  Most start-ups and divisions of companies don’t have the luxury of being like a government project.  There are many reasons why software projects fail or have to be redeveloped from the beginning.  In order to make sure this does not happen, starting with the Front-End method of development can help seriously reduce this problem.

Remember to buy my book.  Just click this link and it will take you to Amazon.com, where you can purchase Thinking Like A Start-Up.

How To Migrate A Massive WordPress Site

A client of mine called me and told me their WordPress website was growing too big for the server it was on, even though it was a VPS, that the WordPress site was going offline periodically.  They asked me if I could help them migrate this gigantic site.

When I refer to gigantic and WordPress in the same sentence, to me that simply means that instead of megabytes of data in the database they are dealing with gigabytes of data in the database.  And instead of thousands of files, there are let’s say hundreds of thousands of files.

Small Biz Now Has Enterprise Level Issues

Luckily I have dealt with both the small and large servers over the years.  The real question has always been, can WordPress handle this high volume of DB and File issues.  Well, it can, but the issues have to be thought out and a problem like this turns from dealing with minor WordPress hick-ups to corporate-level Unix issues.

Why They Had To Migrate

Their server was just not able to handle what they were doing in terms of server speed, hard drive space, etc.  And this was causing the website to be unmanageable.  So, it was time to migrate. However, this was not your run of the mill WordPress migration.  It had all kinds of potential problems associated with it, like thousands of uploaded files, hundreds of thousands of records in some tables.

Why My Normal Tools Won’t Work

For instance, the database was too big to download using PHPMyAdmin.  Not that this is a big deal, it’s just if you have been a WordPress person for the last 5 to 10 years like me, you may not have all the tools in the tool chest to deal with this. I typically use a desktop ftp program to do this stuff, but not for this size. Using local ftp clients means downloading to your Mac or PC. It is not recommended at this level. For instance, if you are not on a fast enough download client, you are screwed…

The Tools

The reason I am writing this blog entry is so I can grab all those tools again in the following order in order to do this kind of migration again.

Here Are The Steps I took:

  1. Sized out the proper new server for the client. (My preference is StormOnDemand by Liquid Web, WHM/Cpanel cloud)
  2. Had the client buy the new server and handed over to me the login credentials.
  3. Received all the login credentials I need from the original server.
  4. Created a new website in WHM/Cpanel, generating a new IP.
  5. Created a temporary domain name for the new site and pointed the DNS to the IP.
  6. Created a Database Name, Database User in CPanel with the same name as the old DB Name and User.
  7. From the Shell command line (I use putty.exe) I used the tar command to zip up all the files beneath public_html.
  8. From the Shell command line I ran a mysqldump of the old database, creating a command line .sql file.
  9. From the Shell command line I ran FTP as new account name (not root) on new server and Put the tar file (like files.tar.gz) onto the new server.  (it was in the multigigs)
  10. From the Shell command line I ran FTP and Put the .sql file onto the new server. (it was over a gig)
  11. On the new server from the shell I unzipped the tar file.  Remember to position this right above where you want it to land.
  12. On the new server I switched over to root user (su root) to be able to import mysql.
  13. On the new server from the shell I ran a mysql import command which updated the database.
  14. Finally, while in test mode, there were two lines wp_options which need to point to the right domain.
  15. Make sure all the previous plugins are activated.
  16. We tested the new site with the temp domain name.
  17. Once we were ready, we switch the old IP at the DNS record to the new IP.
  18. Final thing is to rename the site name from the temp domain name to the actual domain name.
  19. Everything went relative smoothly and the site migrated.

That is all the actions I took, now here are the commands I used specifically:

he tar command to zip up the files to a .gz from right above the public_html directory:

The tar command to unzip the files from a .gz right above the new public_html directory:

The FTP commands I used to connect from Linux server to Linux Server:

The mysql command I used to dump the entire mysql database at the command line on the old server:

The mysql command I used import the entire mysql database at the command line on the new server:

Conclusion

Hopefully if you are reading this, you will use this to reduce the amount of time I took looking around the web for the right commands to do this. You may have to look up those other websites, because each of these commands have dozens of options. For instance, if you need to move more than one file at a time, using FTP, you would have to use mput and not put. So, keep up the good work. I hopefully will use this guide for myself next time.

Passwords, Security, Tech Snafu’s & Support

Well, with a title of a blog post like “Passwords, Security, Tech Snafu’s & Support” I am going to cover in this blog article a bunch of thoughts on the support process that I have navigated in the past couple years with our speed dating company.  This means I may chat about the importance of stability, password security, or issues I have run into trying to keep things running, since there are down times and bugs.

First Things First:  What The Heck Have I Gotten Myself Into

Nothing I am saying here is a hard and fast rule.  It is based on my experience.  Let me first start with the overall situation I am in.   Back in 2001 I helped a certain person create a speed dating business.  By help, I mean I wrote all the web application code to create a website so people in many, many cities could both run speed dating events and sign up for events.  This company, called Pre-Dating, went on to be sold to Cupid.com.  When Cupid no longer wanted it, they sold it back to us, and in 2010 I redeveloped the code again from scratch and we recreated the business on a back-end platform called Take It National, i.e. Takeitnational.com.  While I did all these things and built all these systems that work (nicely), I still profess that I am by no means an expert or a serious, serious programmer.

1. It Works

The most important rule to me and a lot of top developers I know is that it works and does not crash!  This means that my code is not sophisticated, not always in the code hall of fame or MVC perfect or something to write an article or home about.

2. No Bugs, But There Is Downtime.

I hate bugs, and of course I work toward no bugs.  Who doesn’t?  There are some down times, but I will get into when that happens and why it will eventually happen. There are a dozen lessons I learned over the last 12 years dealing with these systems, but the fact is you can not make a perfect system, because even if you made the system perfect, there still would be a crash one day, especially if that is the day the operating system, hardware or the software language gets upgrades.

3. Upgrades, The Bane Of My Existence.

90% of my bugs today are upgrade related.  For instance the big one recently was an upgrade to PHP Version 5.4 from 5.2.  I found out about it when I got a call from the site manager who told me the site was offline with 404 error.   After a little bit of research reading through the logs, I realized that the errors we were getting were due to an upgrade in PHP.  I don’t even know when there are upgrades of languages.  And why would I think an upgrade would crash my system?  So, I found out eventually that this little note on the official PHP site said, hey you had 12 years of us saying this function is going away and to change your code around…

4.  Build For The Next Guy.

One thing I have taken into consideration is building a system where another programmer who knows PHP enough can easily take over and work on it.  I have even gone as far as keeping code in very specific directories so another programmer could take over and figure it all out.

5. Build Like It Will Be Around A While.

So how would I know that 12 years later, a couple versions of my code would still be running.  I didn’t.  Some guy may have written some mainframe code 30 years ago that is still in production.  How would he know that would happen?  We don’t.  But taking a few things into consideration, like not using the most sophisticated ways of doing things helps as well as making sure the code can easily be moved between servers.  For instance, we had an application a few years ago that was looking for an E: drive for an extension, this was ASP, and we had just moved the code.  There was no E: drive!

6. User Errors

Then there is the case where there looked to be a major error in the system, but the error was caused by user data entry.  The users had specifically added or changed something that caused the bug.  This can happen when you leave back-door admin openings (like text fields with no rules) for administrators to add stuff they are not supposed to.  This is why I am becoming more and more negative about HTML content apps on the back-end versus text.  With HTML you can mess up the application easily.  Most important thing here is to check to see if the problem is user entry created first, before jumping in and programming.

7.  The Once In A Lifetime Bug

There is this one bug that happened to me over the years that drove me crazy.  A user with an Irish last name, like O’Neil, wanted to make sure their name had an apostrophe in the name.  So they tried to force their name through the email signup with an apostrophe.  Later on that messes up the application in that it can send a stop code or start code message to the system.  So I fixed this and these users could not enter the apostrophe anymore.  Meanwhile a few years later one of my admins gets a call from a customer and then forces the apostrophe into the system via an admin screen.

8. Using System Email Addresses

There is an article that basically says that they got hacked using their company email address vs. using a Google email or large system email address.  The reason this can happen is if the hacker gets control of the mail system.  How does that happen?  They hack into your GoDaddy account and redirect the mail services to their own server.  This has happened a few times recently.   And with that, they are able to reset your passwords on sites like Twitter, Facebook even Paypal.  So, what I am saying is it is best to use a Gmail or Hotmail email address for the admin accounts, because they will never get control of the back-end of Google.  Obviously bad things can happen as well on Google, but less likely to lose control of the overall domain.

9.  Solve Things Early

General Schwarzkopf had a great saying, (I am misquoting him here, i.e., sic) that “The Quicker You Make A Decision, The Faster You Have Time To Change It”.  In other words trying to get to the problem asap.  So that is why I am always available for a support email, AIM, SMS and make sure the issues are resolved as soon as possible.  It may take time to fix things and figure out a problem, but it is important to solve those problems as quickly as we can.

10.  You Can’t Think Of Everything

I am guilty of many things, and as technology gets more sophisticated I become guiltier and guiltier as I know less and less.  You can’t master everything or know everything.   What you can do is learn what does not change so often… things like MS Excel and Linux.    In 1989 I went to the book store and there were only 4 or 5 books on computers in local bookstores.  Those days ended with thousands of books. And finally today, most of us don’t read books, but we can find 10,000+ articles online that help us solve things.