What do you do to stay current?

30. July 2010

Doesn’t seem like too much of a difficult question, but when asked to developers some sit with blank stares. I’ve listened to that question be asked in three interviews this past week, and I really didn’t hear any decent answers. One candidate actually asked us what we do to stay current after a long pause without answering the question.

I recall when Katie Couric asked Sarah Palin what magazines she read to stay current. I thought that was a silly question to begin with because who actually reads printed news material anymore? Still seems like a question you either know, because you do, or don’t because you’ve never tried to. Those people who don’t know often pause, mumble, and just in general seem very confused.

Just thought that was an interesting take away from this week’s interviews.

Business, Offbeat

Programming Interviews and AJAX Experience

18. April 2010

When I became the senior developer with my current company with it came some added unexpected responsibilities. I instantly became the main technical interviewer for the programming department. I became the bearer of the responsibility for weeding through those deserving few who would bless our department, and more importantly our code with their presence.

It wasn’t into my third or fourth interview where I’ve started to notice a very unsettling trend. Every single developer we brought in listed AJAX not once, but many times throughout their resumes. In addition to being listed within the skills section nearly every project listed AJAX among the many accomplishments of a project. The problem is that the entire experience and exposure to AJAX consisted simply of using an ASP.Net UpdatePanel.

ASP.Net UpdatePanel’s do not mean you’re accomplished at AJAX. It simply means you can drag-and-drop a control onto a Web Form. Congratulations you’ve just accomplished something any first year programmer can do. The saddest part is the people I’ve been interviewing lately have more than 10 years of development experience and nearly all listed their expertise as expert on the .Net platform. Every single one of them couldn’t answer a single question related XMLHttpRequest, jQuery AJAX calls, consuming a JSON web service, or had any idea what an PageRequestManager is.

UpdatePanel does not mean you’re an expert at AJAX. Updating a page without a full-page post back does quality as an AJAX behavior, but does not make you an expert on AJAX. None of these AJAX experts have ever worked with jQuery, and only one has ever touched the AJAXToolkit. It’s seriously starting to get to me. It’s like putting down that you’re a NASCAR driver when all you’ve done is driven a go-cart around a track at an amusement park.

Business

iPad is the perfect business device

8. April 2010

Yah, I said it. I think the iPad is a perfect business device. Why? Lack of true multi-tasking ability, it’s incredibly portable, has wifi by default as well as 3G ability, supports external peripherals (keyboard in particular in case of need), and compared to many touch screen manufactures is very low-cost. The screen size is large enough to display most web pages without much effort, the speed of the device is enough to render most web pages with ease, and can run a variety of business tailored iPad applications.

I should most likely clarify that the iPad is perfect for ‘most’ businesses. In particular I believe the iPad is perfect for call centers, retail stores, or any inventory management tasks for retail industries. I’ll hit more on the call center environment in particular as I think this is one of the biggest industries that could benefit from the device.

Call centers? Why would a call center ever benefit from the LACK of multi-tasking? Firstly the lack of multi-tasking means that when working on an application that is the sole focus of the call center representative. No playing on-line music, no playing on-line games, no instant messenger, less vulnerable to viruses, and contains NO USB inlets for call center reps to take out sensitive data or bring in virus/malware into the work environment.

Can you imagine the bandwidth that would be saved by the simple restrictions imposed natively on the device that limit the amount of slack-off activities most reps do between calls? At our company you become very accustomed to walking down isles seeing Pandora streaming, Yahoo games open, IM windows, and umpteen number of random websites call reps are browsing. Also notable is the headache caused by the IT staff constantly having to police proxy settings, or reimage a PC after a virus outbreak. Seriously, this gets old after a while when remoting into a PC seeing porn application icons flooding the desktop, pop-ups appearing all over, and something closing the task manager whenever you try to kill a process. Very old.

Getting back to the original case the advantage of being portal would come in incredibly handy for call centers. The desktop space required for the phone, headphones, keyboard, LCD monitor (depending on the company… could be a CRT), the desktop on the floor or behind the screen in smaller cubicle areas just takes up a LOT of space. That’s not including paperwork, note pads, pictures, candy, or action figures that may be floating around in that area as well. The small slim stature of the device makes it incredibly easy to reposition anywhere in the cubicle area or desk space. It can be held, it can be mounted to the wall, it can be set on the keyboard mount, and amounts to little more than the area required by a standard LCD minus the actual desktop.

The iPad has no wires. No plugs means no wires. With wifi built in by default the device can connect to the network without wires. The restrictions are instantly lifted on where a person can work with the iPad. No wires means call center reps don’t have to tangle their feet on cat5/6 cable strewn across the floors, no wires draping from the ceiling down through pillars with electrical wires, and with 10 hours of battery life (well past the 8 hour work day) the device doesn’t really need a power outlet either. Worried about the security of the devices? Just lock them up after work, and hand them out during the beginning of the work day.

All of what I've mentioned is nice, but of course it all depends on software supporting the hardware. With the proper software backing the iPad is the perfect computing device for many businesses. Personally, when I get my iPad in a few weeks (pre-ordered 3G version) the first thing I’m going to do is test the hardware, explore the SDK more in-depth, and pitch the device to the current company I’m working for as the ideal touch-screen kiosk device. Systems we’ve purchased over the last year without 3G have been easily twice the cost of the cheapest 3G iPad, require customers to provide their own high-speed broadband ($60+ per month), and are bulky table-stop monsters with umpteen number of physical buttons/input ports on the side or under the devices just begging to be exploited. Providing a kiosk with a fixed no-contract $30 a month unlimited data access plan, true multi-touch input, and company tailored site/application then you’ve got yourself a winner in my book.

Business

Conducting Technical Interviews

8. October 2009

As the acting senior on the .Net team it’s fallen on me to conduct technical interviews for the past few weeks. Since I’ve never really conducted technical interviews before the whole concept was pretty nerve wrecking trying to figure out the best approaches. After all I have to see through what people want you to see down to what they can or can’t do. Needless to say the whole experience has been an eye opener.

The first thing I didn’t realize was how nervous I was going to be in this position. The best way to describe having to conduct interviews is like going on a blind date while trying to buy a used car all at the same time in under an hour! All you have to go by is a description of the person that they, or someone they hired created in order to impress a potential ‘buyer’. Of course I’m talking about the resume, which I’d really compare to nothing more than a professional personal ad.

A resume is the first real picture you get to see of the person, and just like a professional photo its probably touched up to look better. I’d compare resumes to looking at a photoshoped picture where it looks fantastic, but of course it is probably too good to be true. I didn’t actually start out with this mindset. Each resume set before me I would read line by line, go through each project listed, and I’d compare what they’ve done with what we need. There were some beautiful resumes that were filled with great projects, listed with tons of skills associated, and were just what we were looking for. Not only that but the person(s) had certifications that backed up these great projects to give us a sense of security on the candidate. Man, was that a dream that popped quickly.

The reality of it was besides the name on the resume everything else is exaggerated. Key take aways on resumes should probably only include the listed company names, years at the jobs, and then potentially job tittles. Assume that if the project listed out sounds very impressive the persons role probably wasn’t. I saw some roles on the project that were only related to ‘requirements’ or ‘business integration’ so it turned out that the person was merely a QA or at best a assistant analyst. Not saying that’s not helpful, but when interviewing for a senior developer position being a document creator or requirement gatherer isn’t going to earn many brownie points.

At the end of it I’ve come up with a more refined system for conducting these interviews. I like the two stage interview approach. The first being the ‘get to know you’ phase where I ask you about all the projects you’ve got listed, the skills you’ve claimed to have, and bounce back and forth on applications where their skills overlap with things we’ve worked on or needed. The second phase is the actual technical interview where I ask a series of questions starting from easiest to hardest.

The actual technical questions range from telling me the difference between ViewState and Session state. Describe to the performance benefits versus impacts of using InProc Session state or database Sessions state. I may mix this question up with other questions about OO class design, custom user controls, run-time generated controls, using generic collection objects to build a list of items, tier design, and then followed up by the real-world problems we’ve faced. The real-world problems are the trickiest because we’ve had hindsight on our side along with a good team system to help overcome the obstacles.

Really there are lists and lists of websites and blogs about what to ask,and how to ask them for interviewing. This has been my first experience at doing so and I can safely say it was far more nerve wrecking than I ever thought it would be. At the same time when you find that one person it is totally worth it. Unless of course you offer them the job, they turn it down, and then you’re stuck wondering if you need to start lowering your expectations. Ugh, sometimes you just can’t win, but the search continues.

Business

When the boss is away

14. April 2009
IMAGE_213

Well, here is how it started. My boss, lets call him JD, went on vacation for a week. At the same time we’re just recovering from April 1st mentality around the office. During the week, someone who will remain nameless, came up with the idea of sealing up the bosses office. Not only sealing it off but then also painting the newly sealed off door to look like the surrounding doorway to give it a little extra ‘wow’ factor.

As you can see from the picture we got a little lazy in our implementation of sealing the bosses office. We did in fact seal the door, but were too busy actually working to really devote the time + energy to paint. So we just opted to bring up a shipping container quarter filled with packing peanuts, sealed the door, and made it look like we completely filled the room so much so that it was leaking out. I believe you can see the peanut sprinkle down at the bottom, and peanut line at the top margin of the door frame in the top picture.

IMAGE_215

What was even better was it was requested to send a project summary of what we’ve been doing, and expect to have done in the next few weeks by email yesterday, which was the day before he got back. So all of us on our project lists put ‘filling bosses office with packing peanuts’ on our to-do with expectation to have it done today. I think that was a great team effort to have that done in one day don’t you think?

So today the boss came in from his vacation to find, like many others who’ve passed it in the last week, that his door was completely sealed off and overflowing with packing peanuts. To make matters better for us we got the COO to send an email to him asking why $500.00 worth of shipping materials was allocated to our department with need for explanation from him. Yes indeed we are a crazy bunch in programming, but at least we know how to seal the deal.

Oh, no, we’re not all fired…. yet. And as a precaution i taped an letter of admission on the door care of our friend CK. You can see his figure in the print-out hanging on the door.

Business, Offbeat

New JWH Excavation Site

31. January 2009

I was working on some odd and ends projects this morning when a co-worker of mine messaged me about the newly updated CKurl.com site. I took a look, jolted backwards like watching one of those flash vids where you have to look real close to see what is different then a screaming ghoul pops out. Well, that’s when i saw his picture staring back at me, but i will say the whole site did indeed look ‘new’, and had a more professional vibe to it.

I’ve been needing to refresh a few pages I've been contracted to work on, and of course i picked the quickest one that could be updated. Spent about an hour cutting and pasting new CSS div id’s around, and *wa-la* there is a new JWHExcavating.com excavation company website!

jwhexcavating2BEFOREjwhexcavating AFTER

I feel better after having ‘done something’ new too. Anyway, just wanted to give a post out about the new client site, and the new CKurl. If you haven’t checked out CKurl.com then you’re missing out on some neat right-wing blog action (conspiracy theories.)

Business

Why are overseas out sourced projects doomed from the start?

14. September 2008

Frankly they’re doomed to failure because someone decided to save money by outsourcing overseas. I’ve worked on several projects that dealt with outsourced code and each one was a borderline complete failure until an on-shore developer cleaned it up. I’m sitting here looking at code created for my client and it’s a complete mess.

That brings me to a correlation I never thought possible. If you take code created in India that was an outsourced project the results of this may be a working project on the outside. However, the moment you start getting into the guts of the application it’s the same quality as if you threw three fourteen year old teens into a room that ‘think’ they’re awesome programmers, give them one reference book to share, and provide free liquor to them through the whole project. Some of it is good (the simple aspects), some is a complete mess, no standards, no documentation, no structure, repeated code everywhere, and the spelling of English words and phrases is ridiculous. That reminds me the word ‘please’ has an ‘l’ in it. I’m so tired of having to correct spelling on output message from “Pease” to “Please.”

For those of you who consider outsourcing keep this point in mind when deciding how much you really want to have to rework. I’ve been working on this project for three days, consolidated about 15 pages into a base page class, consolidated five master pages into one with a new custom user navigation control (only difference between them all was menu options), and have had to actually put exception handling into this project. From the time stamps, and fixed copyright dates I know that this project took from 2004 until 2008. Pathetic software development turn around for such a small project. The backend was developed on LLBL Gen Pro with a custom front web application UI, and let me tell you everything on the UI side almost nearly has to be rewritten. This isn’t unique, I wish it was, but I’m just saying I hate the quality of code brought back from overseas.

If you think you’re saving time by having developers overseas who can develop while you’re asleep so you think you get more done, or the costs justify the move just think twice. You may complete the project on time and under budget but the project will be so unstable you’ll just end up eating the costs of poor judgment based on fiscal desires, heck look at Microsoft’s initial launch of the Xbox 360. Cheap material (or code) equals freaking expensive rework costs.

Business, Programming

New client for ASTRA

4. September 2008

As I mentioned before I started a company. It’s been going pretty slowly, had some ups, had some downs, slowdowns that is, and it seems things are back on track. I am still working to complete an in-house software product but the development cycle was halted so that I could upgrade my knowledge base to LINQ and ADO.Net Entity Framework. During this knowledge gathering period I’ve had a lot of personal life events taking place, getting near a marriage, looking for a house, and getting myself into a regular schedule. Development at work has been going well, slower than I thought, but going well none the less.

Today I sold my companies services to a midsized printing company. The initial project has been slated as a six month task with many more projects waiting in the wings. I’m looking forward to starting on this project, but of course have to do some initial project requirements gathering. From there I’ll talk about the business processes that are currently un-documented, and get an idea of the pain points in the data entry roles. So far the client has been nothing but cheerful and pleasant to work with, and I’m looking forward to a very successful delivery of an updated website ready to deliver the results they’re looking for.

In other news I recently took part in a Frisbee golf game that netted me the first hole in one of my life. I think the hole was more than 280 feet and I was able to toss the Frisbee in such a way that it swopped down, hit a tree, and fell directly into the hole. It was fantastic, truly a one in a million accomplishment that I’m sure I’ll never repeat. I can’t wait till I witness another one of my comrades performing the same maneuver.

Business