Software Shop Success Checklist

Teams of people need structure. Humans are imperfect, forgetful, prone to mistakes, and often cut corners for convenience or “time saving”. Yes, structure and organization are important for teams of programmers and software engineers no matter how many times your leaders have declared that you’re an Agile (with a big A) and agile (with a little a) shop.

Ask Questions during Interviews

It’s easy to get swept up in the marketing techniques that a lot of software companies use during the recruiting and interviewing phases. Maybe you’ve been eyeing a particular position for awhile and finally have the opportunity to make it through the on site gauntlet. You may also be desperate for a job for one reason or another. Regardless, it pays off in the end to make sure you’re aware of how the business operates under the hood.

These guidelines are especially important if you’re signing on as a full time employee or with a company whose primary business is something other than writing software. The former because it’s mentally more difficult to give up benefits, vacations, and a consistent salary should you find out that you’re really not enjoying the job. And the latter because businesses that focus on something other than software are notorious for, frankly, not giving a crap about their various IT/software departments.

During the interview phases of your job search, make sure to take time to ask the interviewer your own questions. Many people overlook this part of the interview phase either because they’ve been in the interview process for 6 hours straight and want to go home, or they just don’t care.… Continue reading

Working “Crunch” Overtime Might Not Help a Team Deliver

The deadline is approaching. Your project is a mess. Your team doesn’t know if delivering on time is going to be possible. Your director has a genius idea. Everyone work overtime with no plan in mind! Have you ever been in such a situation? It’s quite common if you work in IT or software engineer. For some reason, management thinks that everyone working more hours is directly proportional to more productivity.

There’s a problem with that. The common 40 hour workweek was created from evidence-based research. For nearly all professions and activities, the productivity, efficiency, and general output of a worker drops off dramatically after a certain number of hours in a day. It’s easy to simply say, “Work more hours!” It’s a lot more difficult to use a logical approach and discover the root of what’s causing delays in the project.

It’s disheartening when your director or boss says something like, “We signed up for this profession. We knew what to expect when joining this company. Every project has a “crunch” time for people to work overtime. That’s the industry!” I’m sorry, but I don’t buy that reasoning. If projects are consistently late or require “crunch”, then something has been fundamentally wrong with the project planning from the beginning each and every time.

Look, I get it. Really, I do. People want to solve problems. In an engineering profession, people have a genuine interest in producing solutions to problems. Unfortunately, a lot of the solutions attempt to fix the wrong problem.… Continue reading

Open Offices Aren’t Always the Solution

What’s with the latest craze in the office organization of the service industry? Are we really going back to huge, open spaces with no sense of privacy at all? With companies like Facebook, Google, and even smaller companies like Valve praising the open office concept, it sure seems like it will be here to stay for awhile. That’s unfortunate, because open offices suck!

The Concept

Look, I get it. Someone saw the cube farms and said, “Why are all these people locking themselves away? We need to be more collaborative! Our products are failing because no one is talking to each other. Tear down these walls!” Down came the walls. Soon enough the facility planners were shuffling desks together, removing all partitions, knocking down walls and replacing them with fishbowl style glass walls, and preaching Agile processes. All the while the seasoned veterans are running for the doors as quick as possible.

The Good

There really isn’t a whole lot that I like about open offices (as an introvert), so this might be a biased section. However, I will say that open offices do encourage you to talk to people near you that you normally wouldn’t. This can be a good thing in the sense that you get to know your coworkers. But when a project needs to be worked on diligently, the open office spaces seem to encourage people to just chit chat about random stuff all day. Joking, yelling, talking loudly, and throwing stuff around is just a little bit of what can be experienced in an open office.… Continue reading

Completing Three Major Projects in One Year

I think it’s important to brag about any project that you manage to take from idea to completion. Many people (myself included) have a ton of ideas, few of which become something, and even fewer of which are actually finished and out there. So you should take any opportunity you get to shout out anything you’ve completed.

Built a website? Cool. Remodeled your kitchen? Nice. Wrote a short story? Awesome. Get out there and tell people!

I know the feeling of wanting to start something new every day just to forget about any mistakes you might have made in the previous day. It’s all about start, start, start. It’s never about finish, finish, finish. I guess sometimes we feel like “new” is better than “old” even if that “old” thing has potential.

Without further ado, these are three major projects that I managed to complete in late 2015 and early 2016. They’re not much, but hey, they’re mine!

Twolips Dating

TwolipsDatingSplashTwolips Dating is an online dating community aimed at those who want to find others based on their knowledge and skills. Find yourself attracted to someone really good at math? Awesome. Find people in the community who have answered a ton of math related trivia questions and quizzes. Sign up for free.

Or just check out the blog to follow updates until you’re ready to start.

Safer Stash

SaferStashSplashSafer Stash is an online encrypted virtual storage for your physical stuff. The image above does a good idea of succinctly describing it.… Continue reading

Agile Development isn’t a Silver Bullet

Buzzwords are the worst. The absolute worst. They seem to be something that some higher up read about and decided to preach to his or her employees. Inevitably the buzzwords will end up on job requirements (even if the job has nothing to do with that buzzword) or talked about endlessly during job proposals and interviews. Honestly, it’s a huge red flag if someone repeats a certain methodology, process, or philosophy without justifying the context. “Agile” is just one such buzzword that seems to be really misunderstood and misapplied.

When Agile Becomes a Burden

What is this “Agile” thing? Supposedly its a software development methodology designed to react to a faster paced and rapidly changing form of software construction. Perhaps your requirements are in flux, or your customers don’t really know what they want until they see something in development, or you’re just really interested in that “scrum” word you keep hearing about on various tech blogs. Regardless, you really want in on that sweet, sweet Agile action.

You hire some scrum masters, software engineers (remote is OK), QA engineers, technical writers, and business analysts. You setup a scrum board. You preach the tales of development sprints, user stories, and research spikes. You do all the things that you learned during your 2-day Agile bootcamp in Silicon Valley. Oh man, you’re on a roll you think to yourself. There’s no way a project can fail if I know of all the problems in our daily standups!

Over time, some cracks start to appear in your process.… Continue reading

Get Over Your Fear of Remote Work

This article is aimed at both employers and employees alike. In some circles of the technology industry, there seems to be this pervasive anxiety when discussing the activities of remote workers. In fact, certain CEOs have gone so far as to reign in the egregious act of working remotely by effectively banning the practice altogether. I’m sure he or she sent out a memo including words like “agile,” “synergy,” and “cohesion” to seal the deal.

As the complexity and needs of software continues to grow, companies need to be willing to hire workers whose only option is to work remotely due to location or other life circumstances. Rejecting a possibly great candidate because they are unable or unwilling to relocate across the country is a huge loss for many reasons.

First, the employer missed out on an opportunity with a great candidate. Perhaps that person would have been responsible for saving the company a lot of money or publishing a renowned product. Second, by hiring a remote worker, the employer can forgo the cost of physical on-boarding, providing a phone, providing a desk, and providing a location for which the employee can conduct work. Instead, the company only needs to provide hardware and software to get the employee started. Third, remote employees have far more time to actually do work without having to worry about travel time to and from the work location. In some instances, traveling can consume hours each day depending on the commute distance. Instead of wasting time in traffic, the employee can spend time on work.… Continue reading

Introducing the Dota Database

I’ve spent some recent weeks building a cool new web site which exposes a lot of Dota 2 game data which may not be easily accessible to most players. You might be thinking, but I already use DotaBuff for all my Dota 2 needs! DotaBuff is great, but it doesn’t cover everything.

For starters, the new Dota Database that I’ve created is useful to see some of the finer details regarding heroes, hero abilities, items, item abilities, cosmetic items for purchase in the store, and more. This includes details like spell and ability behaviors, which shops you can purchase an in game item, hero level progressions, cosmetic item sets, and even pro player autographs. The information for these specifics comes directly from the game files and the Valve provided Dota 2 web APIs.

Live League Game Listing

This page will give you a paged listing of all currently live league games. Some games will display blank data when still in the hero picks/bans phase. Each listing shows the league, the team names, elapsed times, spectator counts, series scores, team scores, player scores, player picks, team worth, and team XP. Click in to the listing to see all the live updated details for the match.

See it in action

LiveLeagueGame

Live League Game Details

When you click in to a live league game, you’ll see a page full of information about that game. Every 20 seconds, the page will refresh and show you the latest updates about the match. All data is provided by Valve through its Dota 2 league web API.… Continue reading

Security, insurance, encryption, and your expensive belongings

People these days tend to buy a lot of gadgets and electronics. Between our smart phones, televisions, cars, computers, tablets, and e-readers, the expense can add up. Many times, we overlook the importance of cataloging everything that we own for various reasons.

First, it keeps us honest. Do we really need another iPhone if we just bought one a year ago? Probably not. Your stash in our service will remind you of when you purchased something (provided you are honest).

Second, theft and loss are real things. We like to pretend that bad things will never happen to our expensive stuff, but it can and probably will. A phone that costs $600 is not something to take lightly, especially if your daily activities require a lot of movement. Documenting the condition of your belongings, when you purchased them, the purchase receipts, and any other details about them can help with police reports and your home or rental insurance.

Third, it’s quite convenient and safe to store your information in online stash. You can pull up your stash on any device that you own immediately. You don’t have to go searching through paper receipts, pulling out the TV to find out what model you have, or go digging through your file cabinets. Everything in your stash is ready for you and secured with multiple levels of security.

Get started for free at https://www.saferstash.com.… Continue reading

The misguided nature of redesigning a user interface every year

I am what I would consider tech-savvy. I tend to dabble in different technologies, semi-early adopt the latest operating systems and versions of software, and generally enjoy testing out new features in computer-based environments. With all that said, even I find it annoying when “designers” find the need to redesign and restructure a product’s user interface on a yearly basis.

Here’s a series of tweets from Google’s VP of Product Design which perfectly illustrate his approach to how things work.

Despite what he says about “having no beef with how Windows looks”, he contradicts himself by first stating that he dislikes the fact that it is “basically XP with a flat design skin.” Obviously the guy is allowed to have his own opinion, but his opinion will spill over into his work on Google’s product designs. That isn’t too surprising given the number and frequency of user interface changes to Google’s products and services every year.

And therein lies the problem. The vast majority of Google’s products occur on the web and on their Android platform.… Continue reading

3 Types of Questions You Should Never Ask During an Interview

So your boss came to you and told you to conduct an interview for a new hire. Or maybe you’re actually the hiring manager. Guess what? These suggestions apply to everyone! Based on my experiences with many technical interviews, avoiding these 3 types of questions applies to anyone wanting to steer clear of legal issues and attract the best candidates with the most accurate predictions of success.

I won’t make any claims about being able to predict applicant performance in specific scenarios. This is mainly because studies have shown such predictions to be difficult to obtain regardless of the type of measure utilized during the interview process. While interviews can be a good predictor of how an applicant will apply knowledge in a general and broad scope, it’s extremely difficult to judge whether or not said applicant will succeed with a specific technology for a specific project that your company has in mind. It’s even more difficult to predict when you’re using bogus, irrelevant, and nonsensical questions as a measure.

My advice is to stick to standardized, measurable, specific, and proven questions that are directly relevant to the job position and company as a whole.

1. Personal Questions

I’ve already discussed this one in an article about learning to conduct interviews, but I want to repeat it because it’s an important one. I’ve personally experienced and heard stories about some interviewers who feel that it’s appropriate to ask the applicant about their personal life including hobbies, what they do in their spare time, family life, age, birthdays, religion, and more.… Continue reading