• Welcome! The TrekBBS is the number one place to chat about Star Trek with like-minded fans.
    If you are not already a member then please register an account and join in the discussion!

Any I/T professionals here?

If you plan to work in C++, make sure that you're extremely familiar with the Standard Template Library and at least passingly familiar with the more commonly used Boost libraries.

Too many "C++" coders are simply C coders who use classes. I used to be such a coder; that kind of wishy-washy ness doesn't impress. Either become a low-level C guru (in which case you'll be in demand for embedded computing and compute-bound math stuff where cache use and memory bandwidth are considerations), or target a high-level approach. The fact that C++ lets you do both at once doesn't mean it's a good idea. When writing C++ your goal should be to minimize the use of "new", and eliminate the use of "delete". (It goes without saying that "malloc" and "free" don't belong in a C++ program.) Every dynamic array should be an STL vector. Every polymorphic object should be owned by a smart pointer. There's rarely a tree-based problem that an STL map or set isn't just as good for. Etc. C++ doesn't have a garbage collector, but that doesn't mean memory management can't be disciplined and orderly to the point where leak-related bugs are virtually impossible.

It may also be a good idea to familiarize yourself with one of the GUI frameworks. At the moment, Qt seems to be the crowd-pleaser, although others such as GTK+ and WxWidgets have plenty of supporters too.
 
Following on from what Lindley said, get really good with at least one or two languages, but don't box yourself in. While I work primarily in MUMPS, I regularly work in various other languages:

* Python
* C#
* perl
* Java
* XHTML/CSS/XML
* JavaScript
* ActionScript
* Ruby
* C/C++
* Tcl

It pays to have a working knowledge of as many languages as possible. You put those on your resume, list projects where you used them, and it tells employers you are versatile and not tied down to a specific language. A lot of older programmers only learned one language, because back in those days you had to write just about everything yourself, so you needed a very deep knowledge of the language. Nowadays, pretty much all languages have massive libraries that handle most of the dirty work, so you can focus on the specific requirements of the task at hand.

It also helps to develop some special skills that aren't very common. I got my current job in large part because I'm a version control expert. Most people don't think there's anything to version control besides running some CVS or Subversion commands, but a development department of any significant size or complexity will need a coherent strategy for managing their code versions. The company I came from had no strategy when I started, and I managed to take them to a comprehensive version control solution.

All this is worth bearing in mind over the long term. Some companies will focus on your professional development, but many won't, and expect you to work on that yourself. The key is to have specialties that are in demand without boxing yourself into only those skills.
 
I've been in IT for over a year, although my background is in TV post production.

They offered me the role as the lines between TV and IT is merging, so it seemed like the logical choice.

I have no formal training but am slowly learning. I just class myself as 'help desk', and still deal with media related issues mainly. Am branching out though.

Good luck with your career, Brandon.
 
If you are not already a member then please register an account and join in the discussion!

Sign up / Register


Back
Top