A Geek's Cogitations, Conjectures and other Cortical Experiences

Category: Programming Page 2 of 3

Learning Opportunities

IMG_0633If you didn’t know, I work for a consulting firm as a software developer. I’ve never consulted prior to starting at Cardinal and I have to say that I do really enjoy it. It is kind of weird when you switch clients because it feels like you are always starting a new job but you get use to it after five years. Granted I have only had three clients, all of which were always extending my contract until I was no longer needed. I have to say, when you are at a client for a year+, its almost like leaving a full time job. I often try to ingrain myself into their office culture because it becomes easier to work with all the folks when you feel like you’re part of the team. I think that’s really the kind of thing Cardinal likes to encourage. We don’t want to be staff augmentation, we want to be a solutions provider.

All of that aside, the really rewarding thing about consulting and changing clients is it really does create a great environment for new learning opportunities. Obviously my primary goal at every assignment is to maintain a good rapport between Cardinal and the client. However, what I really enjoy taking away from all my clients are learning new skills and improving my skills. My bookmarks grow quite a bit as I’m always adding new tools and tips that folks from my clients share with me. You really start to develop quite an arsenal to take with you from client to client and its a great way not only to share what you have learned but really helps to build that positive rapport.

Today is my last day at my third client and while it is a little sad to be leaving these great folks I’ve been working with for 16 months, it is exciting to look forward to the next opportunity. The common cause of turnover at my firm are consultants leaving to work for a client, but I find that might be a difficult thing for me to do. Don’t get me wrong, it isn’t because my clients are bad places to work, its because Cardinal Solutions is such an extraordinary place to work! I’m not saying that it could never happen, but Cardinal has raised the bar pretty high!

/cheers

Soapbox: Forking & Dongles

overworked-290x290The tech industry is full of phallic terminology. Every day I make a double entendre about something in the computer and/or programming industry. Granted I’m cognizant of my audience and anyone that might be able to hear what I’m saying. In the case of Adria Richards vs A-Predominately-Male-Industry, while I don’t dismiss her right to be offended, the way she handled it wasn’t prudent either; especially when the comments weren’t even directed toward her.

Be that as it may, the tech industry is dominated by males; and, as a male myself, most of us are neanderthals! I’m not saying that women are not welcome in the tech industry, in fact I encourage more women to get involved because its already too much of a “sausage-fest”. Yes, there is a time and a place for certain remarks and perhaps those boys at PyCon could have picked a better time for their sordid conversation but boys will be boys; and in an industry where stress is as necessary as caffeine, stress needs an outlet. Actually most of the women I know that are in this industry often partake and sometimes take it to a whole new level.

If women like Adria Richards cannot handle an industry full of “forking code”, USB dongles and “fscking” a computer then perhaps you’re not a good fit. I don’t care how much you tweet or blog about how “sexist” these terms are, you cannot change decades of standard vernacular. People, like me, will not stop using appropriate terminology just because it might sound inappropriate (in which case I ask who’s the real pervert).

There are lessons on both sides of the debate here. Be more aware of the volume of your conversation and courteous of those around you. At the same time, be careful what you post on the Internet because the world will see it and you just don’t know what you will stir up. Tibetan Philosophy states “Don’t start none, won’t be none” (source).

/end soapbox

Are Certifications Still Worth It?

geek-300x300I have been working, post-college, as a programmer for going on 9 years now. I have been working for the same company as a programmer over 5 years. I have not earned a single Microsoft certification. Every year I try to set a goal to complete a certification and every year I never do it. I do not feel that not having a certification has had a negative affect on my career or my job. In fact I’m beginning to wonder if continuing to try to get certified is moot.

There has to come a point where years of experience provide a better measure then certifications. I cannot conjure up a scenario for a standard programming job where someone with just a certification and little to no experience will be a better selection then someone will several years of experience and no certifications. Perhaps if the job were entry level and the job wouldn’t really benefit someone with lots of experience, after all I remember what its like to be right out of college and trying to find a job with very little experience under my belt. Those entry level jobs are a godsend.

I have gotten as far as actually taking a certification exam but missed the cutoff by one question. I remember studying the material and thinking that it will be extremely unlikely that I will even use two-thirds of it. In fact, 5 years later I still have yet to even use half of the material covered and it was “fundamentals”. It’s kind of like reading material on how a combustion engine works when all you will really be doing is changing the tires.

Furthermore, it feels like its not worth completing a certification when it seems that every couple of years Microsoft changes what each certification means and what tests are required. Sometimes even the tests themselves are changed or retired. MCSE, MCSD, MCIT, MCPD, do all of these still exist? Are any of them still prudent? Speaking of Microsoft, they really aren’t the industry leader anymore so wouldn’t that also affect the value of their certifications? They are starting to become the old senile relative in the room who only thinks they are still relevant when really acknowledging their existence is more patronizing then recognition.

Perhaps certifications are good for those folks that don’t have a lot of experience and need to build up their credentials, but if you are a seasoned developer, I really don’t see the point in spending the money.

Cheers!

App Development Dry Spell

When I was working my way, diligently, through a book that explained app development I was really enjoying it. Now that I have finished that book, long ago, I am constantly finding myself in a dry spell. Now that I know how to develop iOS apps, I don’t know what I want to develop. Apple keeps releasing iOS updates and new devices with new dimensions. I feel like I keep falling farther and farther behind with each new iteration of the iPhone/iPad/iPod.

It’s rather ironic, really. In a post I made a while back to other aspiring iOS developers I strongly suggested that while you are training yourself on the technology to start working on ideas of apps you want to develop. It seems I did not heed my own advice, as I’m still stuck in a rut. It’s really unfortunate because now I think I may have to go back and review several of the chapters from the book to remind myself how everything works again.

I feel like the pressure is mounting not only from the additional devices and new formats but also because I have officially purchased my developer license from Apple. I feel pressure now to develop something that I can market and hope to earn back the money I spent on the license. I feel like I first need to perhaps develop one or two free apps just to get the ball rolling and then move into trying to sell an app.

Anyone have any app ideas out there, no matter how small, that you wouldn’t mind tossing my way?

Developing for iOS

So I have completed reading a book, cover-to-cover, on iOS development (as an aside, I highly recommend Head First iPhone & iPad Development) and now I am faced with the next big challenge: ideas. I have hit a dry spell in my efforts to develop apps and that is figuring out what I want to develop. I’ve thought about just developing random apps that don’t have a lot of functionality just to spark some ideas. Generally if I start on a small project I usually think of more features along the way.

My advice for anyone that is also just starting to develop iOS apps (or apps for any device) is while you are in the process of learning how to do it, start thinking about what you want to develop. I suggest this for a couple of reasons.

  1. You might find some neat trick or tool that could be very useful for the app you want to develop. Make sure you explore all the possibilities of that control or tool so you know its limits and how to implement it. Sometimes the best part of programming is extending a control to make it do things beyond its normal intended functionality.
  2. Its important to have some ideas to start building on immediately after you finish any kind of tutorial or technical manual. Unfortunately since I took such a long break between finishing the labs in the Head First book to trying to start my first app that I have forgotten a great many things to get me started. I will probably go back and revisit several chapters to refresh myself.
  3. It’s ok to re-invent the wheel. Just because there is an app out there that already does most of what you wanted your own app to do, create it anyway. I once had a professor that said to always re-invent the wheel because you might be able to do it better.
  4. Make a plan and set some deadlines for yourself. If you are already a programmer then you know what its like developing as a professional. You have a project manager (and perhaps a product owner) that is setting deadlines and expectations. Become your own project manager/product owner. Commit to a timeline and a set of features you want to have completed as your first iteration.
  5. I would think about setting up some kind of version control for yourself, especially if you plan on submitting any of your apps to the Apple Store. There are quite a few free version control solutions out on the Internet for you to use and XCode provides an option to use Git when you create a new project. If you want to read up on version control a bit, check out this website/book: Version Control by Example.

Hopefully my dry spell will end soon and I will be back in the zone writing iOS apps. You can be sure that once my app is approved to be on the Apple Store that I will be telling you all about it here. In fact I will probably create a new section on the site for each app I develop.

I hope someone finds the things I have said here to be useful and it helps you with your iOS development endeavors. Good luck!

Cheers!

Snippets: [jQuery] Highlight Rows with Checkbox

It has been a while since I have posted a new jQuery snippet, mostly because I only get to play with jQuery once in a while (though I wish I could use it more). Recently I had to create an administration page for deleting multiple rows of data. I presented the data in a gridview using checkboxes as the control for selecting which items will be deleted. I wanted to make it clear which items were going to be deleted so, using jQuery, I wrote the following snippet to accomplish what I wanted.

Obviously you will need to define a CSS class called “highlight”. I think the best thing about this snippet of code is that it will work if you are using a standard HTML table to organize your data or you are using a GridView object in ASP .NET. This snippet will also ignore the row that contains the “Select All” checkbox; for my purposes the select all checkbox was in the header of the table/grid.


$('#SurveyGrid input:not(#selectAll)').click(function () {
if ($(this).attr("checked") == true) {
$(this).parent().parent().addClass('highlight');
} else {
$(this).parent().parent().removeClass('highlight');
}
});

I have posted this code on snipplr.com (as usual).

Page 2 of 3

Powered by WordPress & Theme by Anders Norén