So You’re the New Guy Eh?

The tech field is a great place to work. Whether you are working helpdesk, IT, software development or anything in between, you will be exposed to some of the latest gadgets and tech trends. For the most part, as long as you know what you’re supposed to be doing, it’s fairly smooth sailing. But what about when you enter a new company and have to dive into an existing project? What about getting acquainted with a new team and figuring out what you bring to the table?

First up is getting to know the team. This is crucial as you need to be able to know who you can turn to for help when you need it as well as what area they specialize in. The application I work, for example, has people that specialize in the client information, billing, health services, financials, and every other piece of the puzzle. Regardless of how big or small an application may be, learning who knows the most about what can prove to be valuable later on.

To go along with getting to know the team, don’t be afraid to ask questions! There may be times where you may feel like you’re annoying or that you should know things but guess what – nobody expects the new guy to know everything. Depending on the scope of the project, it may even take a couple months or more to get acquainted with everything. If it’s a new project, there could be newer technologies that you simply aren’t familiar with yet. Don’t hesitate to ask questions if you are stuck. There is a catch though: before you ask someone, try a coming up with your own solution first. Asking questions shows a desire to learn but trying to solve things on your own also shows initiative. These types of things will show the team that you bring value to the table and that you don’t give up so easily.

The final piece of getting to know the team involves realizing one simple fact – nobody wants to work all the time! Put yourself out there. If you see some of the team hanging out by the water cooler or coffee pot, then try and join in. Get to know each other in a more candid manner and not only will you all get more comfortable with one another, work will be more fun as well. One thing that really helped me get to know my team was going out to lunch with them every now and then where we could be completely informal and speak in a way that is more casual.

That pretty much covers getting to know actual people, but what about getting to know the actual software you are working on and environment you are working in? This part is a little trickier. If there is documentation, read and understand it. Play with the software a bit, use break points and trace what the code is doing. Take on some of the smaller tasks and make notes. These notes will prove to be valuable even after you become more familiar with things. Make notes of common debugging steps and document how to fix odd behaviors that you encounter. In the future, you will greatly appreciate that you took the time to make notes about something that happens rarely enough to be forgotten, but often enough to be a nuisance. Besides that, the only other way to become familiar with the software is to just work on it.

Getting to know your environment can go two ways – it’ll either be simple or complex. On my current project, we just so happen to have a fairly complex setup. Our setup is made up of: development; build; test; production; database; and web servers. These are Linux based servers that we communicate with via Windows desktops while the application itself is a mixture of Java and COBOL code. It gets even more complicated if you dive in and notice that once we SSH into our own individual virtual development session, our Windows drives are also automatically mounted and accessible through Linux. It turns out that code we develop on the Windows side is compiled within Windows and Linux in order to be run locally. There are many more intricacies and quirks with the environment, which begs the question – how do I remember everything? Well I’ll let you in on my secret, I don’t! I know a lot about it now but I still have to refer to my trusty diagrams and maps that I drew out. This is the point of this paragraph – if you happen to have a complex environment, don’t sit there and try and remember everything. You won’t accomplish anything other than getting stressed out and frustrated. These maps can also be passed on to others who may need a quick reference and are good for passing on to other new members.

The last tip in my New Hire Survival Guide is to make a cheat sheet. I’m no longer in a developer position, instead I’m the guy who oversees and acts as the admin for all those servers I mentioned. Prior to this I had absolutely zero Linux experience. How am I surviving so far? Aside from doing everything I’ve mentioned so far, I have a frequently updated Excel sheet containing those harder to memorize Linux commands. For example, for a while, I knew ‘ps –ef’ will give me a list of processes. This is nice, but it just so happens to tell me the processes for everyone on the team. What I always forget was that ‘ps –ef | grep <user name>’ would give me all running tasks for a specific user. Thanks to my cheat sheet I never have to go far to find out that information.

This may seem like a lot, but it will definitely pay off and help make your life much easier as time goes on. Above all else though, have fun! Working in the tech field presents a new challenge every single day and overcoming these obstacles is what this field is all about. In my experience, nobody understands that more than the folks at Palm Beach Software Design. Whether you work there or are a client, you can rest easy knowing that if any unforeseen challenges arise, the team can make quick work of it in a way that is sure to not only meet, but exceed your expectations.