A Geek's Cogitations, Conjectures and other Cortical Experiences

Category: Programming

Humor Helps

As I have said in the past, I have been in the software development industry for nearly 10 years now. Currently I am working for a consulting firm which means I am often placed at various clients around the city in need of Enterprise Microsoft Solutions. I have worked for some pretty big clients and I have talked to some pretty important people at those clients. I have learned a very important and undeniable truth, humor helps.

I will not deny that it’s more important to be serious when its appropriate. You should not crack jokes in front of a Vice-President, CEO or any other high ranking personnel. However, I think its also important to allow the lighter side of your personality to come through and I believe this for two reasons: building rapport and dealing with stress.

It’s rare when I leave a client that I don’t have well over a dozen people coming to me to say farewell. I know one of my strengths is building a good rapport with everyone. I believe its my humor that helps build these relationship. How many times is it suggested that a joke be used as an ice-breaker? Humor is a natural ice-breaker, it helps quell nervous behavior. Granted I don’t walk into a client the first day and start making jokes, I think its important to warm up to people first and find out what kind of humor is appropriate. The wrong kind of humor will have the opposite effect.

Every workplace will go through periods of high stress. It’s inevitable. The curse of professionalism is the better you are at your job the more work you are expected to do in a shorter period of time. If you are going to survive the day you need to have a way to let go of the stress. When I notice my team is really stressed out, that is usually when I increase the jests. Similar to ice-breakers, the humor quells the nerves and helps relieve the tension, even if its only temporary. I say its far better to laugh in the face of stress instead of wanting to hang yourself.

Remember, humor is a tool and just like any tool, if used improperly can cause more harm then good. If you joke too much then people won’t take you seriously. If you say the wrong thing, make the wrong joke, that can have an even greater adverse affect. This is why I take some time to get to know the people I am working with first.

Cheers!

Soapbox: Programming Is NOT For Everyone

I read an article on CNN where the author seems to think that Americans should learn to write computer code just as they learn to read and write. In fact the guy has started an online “academy” to teach people how to write code … For Free!! I’m sorry but I completely disagree with what this guy wants to do. The ability to write software is far too advanced of a skill to compare it to learning to read. In fact it’s insulting to suggest that programming is that simple. I obtained a four year degree to learn to develop software; granted a four year degree isn’t necessarily required, but thats only if you have a gifted background in computers and/or programming.

I do agree with the guy on one of the points. It would be a benefit, as a software developer, if people understood what went into developing a piece of software. If that were the only reason to offer this academy then I wouldn’t have a problem. Sadly that isn’t the case. Any putz can participate in the online tutorials and suddenly they are “qualified” to write software. The concept, in my opinion, is absolutely ludicrous and frightening.

I appreciate the authors concern that America is losing its competitive advantage but the last thing we need is a bunch of hillbillies thinking they can write robust and effective code. I hate to sound like an elitist but if a company is in need of a competent programmer, and they have to choose between someone with a four year degree and someone who took an online tutorial … Who do you think will get the job?

/end soapbox

For Newbie iOS Developers

After talking to a good friend of mine who had several questions for me on how one would get started developing iOS apps, I thought my advice was worth putting into a post. After all, I’m still a bit of a newbie iOS developer myself. So I thought I would share my experiences for other aspiring developers while all of the steps are still fresh in my mind.

The IDE

There are going to be some costs up front, especially if you don’t own a Mac. The IDE for developing iOS applications is Xcode and it can only run on a Mac. There are some projects out there that have tried to create a windows IDE but I haven’t seen anything that was successful and wasn’t a painful process to setup. You can try running a Virtual Machine and install OS X but you might run into some hardware complications. Honestly, if you are serious about developing iOS apps, go out and buy a Mac.

iOS Developer Program

Once you have a Mac to use for development the next thing you want to get is Xcode. You can download Xcode from the Mac app store and you can either pay $4.99 or you can sign up for the iOS Developer Program and download it for free. The iOS Developer Program is an annual subscription of $99 a year. Obviously you get more amenities other than Xcode for free. If you plan on distributing your app via the app store and/or you want to deploy an app to any iOS device (including your own) you will need to sign up for this. Xcode does come with an emulator so if you want to hold off until you are more comfortable, that’s what I would recommend, but bear in mind the emulator cannot test any email or Internet/Wi-Fi functionality.

If you want to develop apps for the Mac or Safari, they each have their own developer programs and will cost you another $99 a year for each.

Recommended Readings

I know that the Internet is an abyss of developer forums, tutorials and blogs which may, or may not have sufficient information to get you started developing iOS apps. I initially started out by searching for iOS tutorials and most of the advice people had was to go out and buy a book, so I bought two. Here are the two books I bought, which I highly recommend:

Subscribing to the iOS Developer Program also gives you access to developer resources such as videos, libraries and forums. You can also get code level assistance from Apple engineers (apple developer link).

The App Store

I thought I would finish with some things to keep in mind when you go to post your app to the app store. When you submit your app it first has to be reviewed and this process can take up to seven days, depending on the complexity of the app. You are responsible for setting the price of the app; you will receive 70% of the sales revenue, Apple will take 30%. There are no additional fees for posting free apps, credit cards, hosting or marketing.

That’s all I have for now, I hope you found this useful. If more tips come to mind, I will do a part two or something. Good luck!

Cheers!

A Dichotomy of Degrees

Most of the time I blog about gaming with the occasional current event or gadget thrown in. As someone who has been in the software development industry for about 10 years now, I thought perhaps I should start finding some career related topics to blog about. I’m not some high profile industry pundit nor do I work for any major computer or software giants, however I do feel like I offer a unique perspective on the industry.

If you know me personally, or have read the About page, you already know that I was a dual major at Purdue. I not only got my bachelors in software development, but I also earned a bachelors in organizational leadership (which is essentially a degree in HR). I feel like my degrees are an interesting dichotomy, a left brain degree and a right brain degree, but I feel that having both of them has served me very well so far in my career.

The days of stowing programmers in dark closets are ending. The introduction, and growing implementation, of agile development has many programmers having to be more interactive with other departments within a company. Communication is paramount now more than ever which is why I feel like my organizational education has not only helped me integrate into collaborative groups but has also helped others (the tech savvy and the non-tech savvy).

I think having the two degrees has also given me the unique ability to view an organization not only from the technical perspective but also from a non-technical perspective. I know many programmers, and other tech savvy people, may not like to admit it, but we can be a little obtuse sometimes. Management’s decisions to do, or not do, something may seem infuriatingly illogical on the surface, but there is always other factors that managers/directors/presidents also have to consider. There might be additional costs, additional resources, budgetary constraints, or even political reasons behind the decision.

I’ve already had a few times in my career where I felt strongly against a decision but I understood the reason for the decision. So, instead of protesting, I tried to help the others understand the reasons and help them find a way to cooperate. I know it’s tough to be a peon, especially in larger organizations, but learning to cooperate and collaborate will go a lot farther than refusing to adapt and change.

So that’s my spiel. I think if I keep going I’m just going to sound like I’m repeating myself. I hope that I have provided sufficient evidence that I’m competent enough to discuss industry topics. I do welcome and appreciate your feedback and topic suggestions either in the comments of this post or on Google+ and Facebook where I’m sure I have posted the link here. Thanks.

Cheers!

It’s Not As Cool As You Think

I have been playing PC games for quite a while, and before that I was big into console games. I have beaten just about every Mario game that exists. I have stayed up all night playing Half Life. I have gotten my butt kicked playing Quake at LAN parties. I know a lot of people that are really good at playing video games. I often hear these people say, “dude, it would be awesome to make video games. I am going to learn how to do that!

I have over ten years of experience developing software, none of which were video games, and heed my warning, it is not a glorious profession. Please make sure that you are doing it for the right reasons. Just because you are really good at video games isn’t a qualification for pursuing a career in developing them but a passion for video games is crucial. The stress of deadlines, defects and users is overwhelming; and that’s from developing any software. You probably want to multiply that by 10 when you are developing video games. For example lets use the grief the players constantly give Blizzard developers every day for the bugs and delays players encounter. Would you be able to handle that kind of criticism and negativity on a daily basis?

Let’s say you can. Now you have to know how to code, regardless of whether you are UI design or you are writing business logic. You have to be aware of CPU usage, memory allocation, storage capacity, memory leaks, ease of installation, user friendliness, and that’s just to name a few. If you want to do graphic design, you should probably consider taking a few courses, or even getting a degree. You will need some understanding of math, science, physics, vectors, splines, etc because if its not believable or somewhat realistic, then it won’t keep the players’ interests (games like Minecraft are a phenomenon, not a standard to be compared to).

I want to end on a high note, because I sound like I am trying to discourage people from pursuing a career in developing video games. That is simply not true. My goal with this post was to try to advise you as to what you will be in for mentally should you choose to pursue the career. Don’t get me wrong, the frustration, long nights, no sleep, stress and emotional break downs will pay off. It can be a very rewarding career and you have my unwavering support should you decide to do it.

Cheers!

Snippets: [JQuery] Toggle Expand/Collapse

I have posted a new snippet on Snipplr. It’s another jQuery snippet that handles the expand and collapse of a div (or span) section. The idea for this snippet is that the user would click a plus (+) image, the code would display the hidden section and change the image to a minus ( – ). The reverse, of course, would happen if the user were to click the minus.

Here is the snippet:

The #img and #div should match the ID attribute of the page elements the code needs to respond to.

You can see this and more of my code snippets at Snipplr.

Happy Coding!

Page 3 of 3

Powered by WordPress & Theme by Anders Norén