A Geek's Cogitations, Conjectures and other Cortical Experiences

Tag: app development

IT Consulting is Great for Building Your Career

IT Consulting is Great Building Your CareerI was only out of college for three years before I started working as a consultant. It wasn’t your typical consulting work; I joined a firm that paid you a salary and they found the clients. It has been over nine years now. I have learned a lot in the industry in those nine years but the most important takeaway I have discovered is that consulting is great for building your career. This is especially true if you are at the beginning of your career. The experience you have may only be what you obtained from college, and perhaps from a summer internship. The IT industry is vast and its constantly changing so it’s up to you, in most cases, to stay on the bleeding edge.

Consulting On The Bleeding Edge

When you are working every day at the same company where changes in technology are slow, keeping up becomes very difficult. It often becomes an extra curricular activity, outside of work. Granted there are some companies that may provide training opportunities or accounts to online tutorials (ex: Pluralsight); but there isn’t time during the day to complete them. If you are single you might have the time but if you have a spouse or a family, that free time is reallocated.

What I found most intimidating about consulting is the same thing that provides the greatest benefit. It is rare, in consulting, that you are brought in for staff augmentation. You are primarily recruited to work on a specific project, for a brief period of time and then you move on to the next client/project. Therefore you find that you are essentially “starting a new job” each time you start a new, on site, project. Some folks may find that very uncomfortable; I admit that it was probably one of my least favorite aspects of the job.

However, the fact that you change projects often is also a great way to improve your skills. Depending on the project, you may work on something that is bleeding edge. You never know where, in the plethora of technical solutions, a client might be building their product. There are some companies that want to keep up with the latest browser and mobile trends. Therefore they may be using the latest .NET or JavaScript framework (i.e. Angular, bootstrap, etc) which gives you the opportunity to work on the “latest and greatest”.

For what its worth, it isn’t necessarily a bad thing to have to work on older frameworks and solutions; keeping those skills fresh is just as crucial.

Consulting Builds Your Network

A tenant in life that I often dispense unto others is “only half of life is what you know, the other half is who you know”. As a consultant you will change clients a lot and you will get to work with a lot of different people. It isn’t just other developers/IT staff but other project managers, business analysts, line of business, etc. Whenever I started a new client, I didn’t just build rapport with the developers, but anyone I spoke to or saw on a daily basis.

If you don’t have a LinkedIn account as a consultant then you are doing it wrong. LinkedIn is your greatest tool when you are changing clients/projects a lot. I always made it a point to connect to someone via LinkedIn as I wrapped up a project. You never know when that contact might be useful for your firm or even when you need a list of references. It’s always good to build your network and consulting is a great way to do that. It is especially useful if you are moving to a new city (as was the case for me).

Pipe Bomb: After 9 Years, I am No Longer a Consultant

According to the Bureau of Labor Statistics*, as of January 2016 the average number of years an employee stays with a company is 3-4 years (in Professional Services). The fact that I was with my company for nearly a decade is quite rare. I was at my prior job for 2 1/2 years and I vowed that I would stay at my next employer longer. It’s been 9 years! I would say I succeeded in keeping that vow. However, all good things often come to an end. I have left the consulting world and returned to full-time employment.

My departure was on my own terms, which is not always the case for everyone. I just felt that it was time for a new chapter in my life. Consulting has many great benefits, especially at a professional level, as I outlined above. However, since you are rarely at the firms office it becomes difficult to form relationships with your co-workers because you rarely see them. Obviously that doesn’t mean I haven’t made a few friends over the past near-decade. Working in consulting has been instrumental to acclimate to a new city and state, not just geographically but socially as well. It’s an opportunity to make some friends with whom you will most likely share similar interests.

After nine years I have picked up a few tips for anyone who is currently a consultant or might be joining a consulting firm. I like to refer to these as:

Artifacts of wisdom:

  • Build rapport outside the team – As I mentioned earlier I always tried to chat with the people on other teams or in other departments. You never know what you might learn or who you might meet; which could benefit you in the future.
  • Never attempt to change the culture – Since I work in software development I prefer the adage “break the code but never break the culture”. You are there to help improve the product; you are not there to reorganize the team culture. Whatever team dynamic the client is using is obviously working for them; any attempts to “fix” it will only ostracize you.
  • When in Rome, do as the Romans do – You are already going to feel like an outsider because you are not included in company events/meetings, but do what you can to fit in. Take advantage of relaxed dress codes, work from home opportunities, whatever helps you feel integrated into the team. The more you ingratiate yourself the more cohesive the team will function.
  • Take verbose notes; mark dates of completion – This is a CYA (Cover Your Ass) technique. In some organizations the consultants can easily be blamed when something goes wrong or something seems doomed to fail. You need to protect yourself. Always take notes and date when you started something, when you contacted someone for help and when you completed it and marked it for testing.
  • Save important email – This goes hand-in-hand with the previous point. Any email that contains instructions on what you are working on, when you finish it, or any details someone might try to use against you, you should save it! Save it in triplicate if you need to! I have done this and I still have those messages saved securely on removable media and off-the-grid servers. You must be responsible for protecting yourself.

I was very fortunate to have the opportunity to work with a lot of great people. I have grown professionally and socially. Consulting is now the cornerstone on which my entire career is built. Perhaps, in about 30 years, I will go back to consulting as part of my retirement. It is also entirely possible that I may go back sooner; it all depends on what the future holds. If you are a former co-worker reading this, I wish you the best of luck, thank you for sharing your knowledge and I hope I reciprocated equally.

* Bureau of Labor Statistics Economic News Release

minions_icon

I could accomplish so much more if I only had minions!

 

Tech Talk: Ready For Swift? [UPDATED]

swift-ogA couple of months ago I decided to start diving into Swift. I know Swift is still in its infancy and Apple seems to be breaking it with every XCode/OS/language update. I had watched all of the videos Pluralsight had to offer (though I noticed they recently published new ones). I have dabbled in Objective-C prior to Swift’s announcement and it is as convoluted and cryptic that everyone says it is; but it’s not impossible to learn. Swift, however, would make iOS app development a heck of a lot easier.

It might help that I have a sufficient background in object-oriented development in .NET as well as fluency in JavaScript and HTML5. I’m not sure if the latter would provide any value comprehending Swift, but I’m sure it doesn’t hurt it. I think the concept that provides the most value is understanding the MVC design pattern. I completed a very basic “Hello World” style app back when I first tried out Swift; it appears there have been a couple more updates so I hope to explore those [potential] changes in a few weeks.

Apple has been pretty quiet about Swift since it was introduced. I’m not sure if that’s because they were expecting the Internet to pick up that mantle or if they are planning additional announcements (WWDC perhaps – which, ironically, is occurring on the day that I published this post). If you have been using Swift recently and have something to share (good or bad), I would enjoy your comments below. Perhaps, in a few weeks, after I have dived back into iOS development, I will post an update.

UPDATE: After watching WWDC it looks like Apple is ready to take Swift to the next level with Swift 2 and by making it open source (which was received with raucous applause). This announcement was probably the most exciting thing (for me, at least) to come out of WWDC this year; unfortunately Swift 2 (and the open source library) won’t be available until the end of the year.

/cheers

Powered by WordPress & Theme by Anders Norén