Thursday, March 01, 2007

After landing your first IT job: Job Advice Article

The following article is courtesy of Mr. Md. Hossain, a BUET alumnus. This can also be found at the csebuet.org website.

After landing your first IT job

Md. Hossain
Email: mdhossai@gmail.com

To thrive and survive in a new career, first and foremost, you need skill to get the job done, eagerness to demonstrate the ability to learn new stuff and quality to apply the learning. People and communication skills are also essential to showcase your capability. And your out-of-college skill alone may not be enough to ride in corporate-highway. Positive attitude, good communication, professionalism, sense of humor etc will play a key role in your success. There is always room to improve and a few how-to-get-it-right things are mentioned here.

General:

- After landing in a job, first couple of days, make it high priority getting settle down with cubicle, work station, network access, HR-Paper works etc.

- If company offers sessions such as new-hire-orientation, ergonomic classes, and HR-Benefits' briefings, do not miss them. Collect all brochures or notes and read them to make your decisions.

- Identify the key people or team members that you would be working with. Whoever you meet with keep a positive attitude, look in the eyes of that person, introduce yourself politely with a smile.

- After introductory Hi-Hello days are over, someone in the team, will give you an overview about the projects in hand. You might not be able to capture all the knowledge transferred to you, so get a pen and paper ready to take notes before you go for such session with a peer or manager.

- Before start writing code you might want to look into, if there is any, source code management system or version control system(such as CVS, Perforce, VSS etc) which is the repository of the source codes for the projects. This will help you to find the existing approved/project code that has been written by others. Also it might provide you some clues to solve a new problem that you've been trying for last few days since you've joined.

- It's a good idea to ask your manager or peer whether the team follows any specific coding guide lines or development practices that you're not aware of.

- In first few months (say first three) people usually won't expect you to do a critical project, all by yourself. Though it would be great if you can do it. For a good first-hand impression, you need to work hard to demonstrate the skills that you've mentioned in your resume. If you've said that you know programming C language well, people would expect you understand most aspects of C language. Remember your learning capability is the key to success in your job. What really matters to your manager/supervisor far more than anything else, is your basic technical skill and ability to understand new technology quickly. So make sure, while company's money will pay your bills / fills your wallet, you take time to learn and contribute to the company. Do not worry even if it costs few extra hours on top of regular business hours. Moving forward, this definitely will pay off.

- First few days/weeks spend as much time as possible to understand system that you'd be working with. But do not show too much seriousness to your peer. Just relax and learn the projects while making most out of it. If all the applications you're assigned to work run on unix only and you never have used UNIX, do not get nervous, take little time to learn few basic UNIX operating system command first. Then, if needed, learn advance stuff. Do not just sit down because you never used UNIXes. Go some extra mile, If you never have done linux , install linux at your home and do practice, if need to be break it and rebuild. The bottom line: try to get a handle as much as possible within short period of time. Even if you've found yourself in the middle of nowhere do not panic. Remember first few days is not getting job done, but to learn what you need to do for the job and familiar with tools and techniques that you'll be using. If every one uses VI/VIM editor and you are not familiar with any other editors in UNIX, get your feet wet with VI. Do not read manual only do it hands-on.

- Do not keep asking silly/easy questions to your peers at office. It's good to ask/clarify a question and you should not be afraid doing so. But for simple queries you can always take advantage of google/wikipedia. For instance, if you're looking for differences between xterm and vt100 terminal emulator you probably would be able to get the answer in few clicks at google searching. Asking too many silly questions will leave an impression that you're not analytical or thoughtful. Also it might well advance show that you're a very junior person before even you've a chance to show your ability. Remember in the usenet, people always want you to go through the existing archive before asking questions. Same here, do your own home work, before asking simple questions. That way even if you ask silly ones you'd be able to grasp the depth.

- If you think that it would be better to learn some stuff, ask your boss whether is it ok to buy a book or online subscription such as safaribookonline / elementk or other sources (such as short courses offered by some institution say Berkeley extension).

- If you'd like to get noticed quickly, take initiative. If there is anything that you could lend a hand, do not hesitate to bring it to the attention to your boss. Ask him what is his goal for the team for next few months and let him know your strengths in areas where you feel you could fill void on top of your day-to-day job responsibility.

- Do not allow recurring mistakes to happen repeatedly or regular basis. If lead developer ask you to indent your code properly, try to follow it. Make sure you do not get same warning from your superior for same thing again and again. It will create a very poor impression about your work-ethics. If you really think the suggestion does not make sense, try to come up with alternative ideas. But be confident enough that your ideas have solid base, and in line with industry standard or at the least follow current standards.

- If this is your first job you might not have a fat wallet. Still every now and then try to join with a peer for lunch. It does not have to be in regular basis. It will help build relationship not only as friend but also as team. Remember you do not need to pay for your colleague's lunch unless you want to. And no one expect here that you pay for his/her lunch, even it is some one of opposite sex. If the company has video game console, pool/billiard, foosball facility try to enjoy it with a peer or join with a group. That way you will not feel lonely or left alone. Always think yourself as part of the group and integrate yourself. If you're shy, it might be hard to make friends. But there are some easy techniques how to break ice. Find out some online resources for this matter.

- If you're not 100% sure about the outcome of anything, do not try to correct a senior person how to do it. Just a simple example, if a senior person is trying to see all the files in a directory of linux system, he simply typed ls, do not jump on suggesting right way that he should have typed ls -lart. There is possibility that he might have already made an alias for his command to do so.

- Do not visit porn/adult/offensive sites using your computer at office or at home using office laptop. Some companies do not mind but others are very restrictive regarding offensive material. It could even infect virus in your computer. You probably do not end up at the source of virus across the company network.

- Do not install third party tools in your office computer w/o knowing the policy for such provisions. Do not install pirated software in your office laptop or desktop.

- Keep your personal e-mails personal. Means use a third party account such as (gmail/yahoo) for your personal emails. Because most cases your company owns your email box. Though they won't intrude your mail box, but there is no guarantee.

- Do come up with new ideas in your job. Remember the idea behind companies like Google, Cisco, Yahoo, Sun Microsystem all were (the ideas behind) incubated at Stanford University by the graduate students while doing research/graduate thesis. Find out ways to do things differently and efficiently.

- If you've decided to leave the company, do not start using your sick-leaves in a hurry. Do not stock up you home desk with company's stationery. By any chance if you do not like your job, leave with dignity and in a graceful and professional manner. If possible send a nice note to everyone, that you're leaving and use an email address do they need to contact with you again. Remember you might need some of these people in future for reference purpose.

- Maintain a professional attitude but do not be too phony in a casual setting.

- Keep in touch with the latest technology in your area of interest/work. Pay attention to blogs, technical journals.

- Do not use middle finger in pointing something.

- Do not stick any political logo/political picture in your cubicle.

- Do not use a pirated/illegal/restricted copy of software at your office computer. Say your boss has bought a software with single user license. Do not use the key to activate same copy for you, even if it allows you to do so. This is a violation of software licensing.

- Try to avoid speaking your own language with a peer in front of other team mates who does not speak same.

- Limit visiting online sites frequently which are not directly related to your office purpose. Do not click on spam email links to see what's been sent. It might open up a can of porn sites, that might leave you an embarrassing situation especially when you'd be unable to close your browsers.

- If not needed, do not talk about politics and religion. Do not talk some one's sexual orientation(gay/lesbian/bi/straight etc)

- If you build up intimate relationship with someone, if it's a woman, remember ... against her will is against the law.

- Do not keep saying 'pardon me', 'excuse me' , 'I'm sorry' repeatedly and on every occasions.

- Do not nod to yes with everything from your supervisor or other team members or other departments. In one of my jobs, in a role some what close to sys-admin, I used to say yes whoever request anything. This creates a miserable situation in time management and getting core things done. Before saying yes, try to analyze the situation. Also you supposed to get to-do items mainly from your boss. So take cautions when you say yes.

- Never ask/talk about other salaries, and don't disclose yours unnecessarily.

- Always maintain a sense of good humor, but do not be funny/sarcastic all the times. Do not always take comments personally unless it was really meant to hurt you, such as 'Dude, what the f***ing code you've written, that has broken everything'. If this is not the type of code you always write, take it easy.

- During weekend/after hours do not take a outside friend to use company facilities, such as Gym, Hot tub etc, unless there is a provision to do so. Whenever in confusion check the rules with HR/Facilities for guests.

- Just before earning announcement, sometime company executives send confidential emails to employees about the summary of earnings and future forecast. Do not forward those emails to a friend asking him to buy stock as you already know the rosy details of the earnings before it disclosed to share holders.

- Do not work lot of extra hours without producing solid results. This would show that you work hard but not smart.

- Do not misuse copier-printer-phone for personal purpose. That's been said, do not waste 1 hour to go out for copying/printing. Make a balance between personal use and official use.

- Always maintain a mild tone when you're in command mode. For instance, instead of telling some one ... I've told you to do this. Have you done that? You could rephrase this as ... Do you've a chance to look into the issue? Remember being polite won't cost you anything. You still probably would receive the same answer but with win-win situation, even if the answer is negative.

- Get along with others, especially, if you're a low performer and unable to show visibility through your work. It will at least help you in the long run professionally and technically.

- keep learning new stuff, and stay on top of your academic/job related matters. If you know some areas better keep a blog or join a group where you can contribute to it through online. This will pay off in your current job as well as any future endeavors. Not to mention this will bring both money and honey in no time. People always respect someone who knows his/her areas better.

Communication:

- If this is your first job, first thing you need to put on shelf is your shyness. Being polite is good, but being shy will keep you in the bay from promotion and team work. At back-home if you're shy, people may not care about it. But here in North America, it could develop an impression that you're not able to communicate and co-operate in a team environment.

- Before communicating through e-mails or answering phone calls in office try to get familiar with online netiquette and phone etiquette. There are thousands of free online resources that could help you mastering in this arena. If you'd like to learn about online etiquette, A good place to start at RFC 1855(written in simple English, even non technical people can understand). In general, remember few rules:

- Understand different email attributes such as cc, bcc, urgent flags etc.

- Communicate with short sentences and with clarity. Always try to speak to the point before explaining it details.

- Do not send an email written in all capital letters.

- Always check spelling and grammar of your email. Now a days almost all mail clients have built-in checker.

- In a professional email do not use too many informal IM words such as great (gr8), before (b4) etc. Words like ASAP, IMHO, FAQ, BTW, EOM , ETA etc are ok. A list of such words can be found here.

- Do not send a MB attachment with an email to clog the mail traffic. If possible upload it to an internal server and send the link to your audience.

- In all cases, if possible, prefer plain-text message over html mail

- Try your best effort not to send typical formatted emails, or configuration files/source code through email. You should not assume that everybody is using same mail client as you do. The person who will execute your formatted source code might not get the same compile/run time error/success that you have had, because of the extra characters embedded in it. It may even create some non-desirable outcome.

- If you need to use email signature use it line with company's policy for official email.

- If you meet new people in meeting or in hallway try to introduce yourself in a professional manner.

- If you're in a conference call and try to make point , make sure you tell you name before dropping your thoughts. Remember everyone might not recognize you from your voice.

- When requesting meeting or scheduling it through software, make sure you mention meeting agenda. Incase if you've an office in east and another in west coast in North America, try to mention the meeting time clearly such as PST, EST, PDT etc. Do not simply rely on outlook or other scheduler to tell your participants about the timing of the meeting, even though it will automatically do so.

- Activate your voice mail in your phone with a professional greeting.

- Do not solely depend on email, on time sensitive issues, say we are releasing this product at 5 PM. Your audience might not be checking emails to get this important message.

- Do not solely trust emails. People has personal setting for spam/virus filter. Your message might end up at junk email, depending on the setting of the user. For instance if a mail sent to All caps with subject such as. PROJECT LAUNCH AT 3PM, might go to junk. If the user set all caps subject to be considered as junk/spam mail.

- Do not forward sensitive confidential emails by electronic communication to people outside your office. Your electronic communication will speak against you if further problem arises down the road.

- If you're asking someone a question, and the person is not able to understand , try to rephrase it with different words keeping the main theme in it.

- Distribute meeting notes, know how to use conference calls, send meeting minutes right after the meeting.

Relationship with boss/manager/supervisor

- Try to keep an open and honest relationship with your boss.

- Do anything that could boost the image of your boss. For instance pick up an open source code, blend it with something so that it could be a good use for something. Even a process improvement work, or a new tool that your boss find helpful for the entire team. Just show your presence in a way that resemble 'I can do' attitude.

- Be proactive ..., do not always wait for someone to tell you to do something. But make sure you talk with superiors prior to implement some important changes, such as re factoring entire procedural code base with object oriented methodology.

- Remember to look at eyes of your boss while talking whether it's a man or woman. Looking eyes gives an impression that you're not nervous and are not hiding anything.

- If your peers or a members of another team ask you to do some stuff, do not allocate time or accept it w/o consulting your boss first. Remember you're working for your boss, not for others.

Explore company's benefit package:

- Explore all the benefits that your company offers. For instance Adobe Systems offers employees up to ten thousand US dollar per year for courses taken related to their positions in the company. You can even enroll in MBA course, provided your manager approves it. Not to mention that this is extra money on top of your salary.

- Take advantage of company software, laptops, communication/electronic devices, company sponsored (subsidized) product such as gymnasium membership, books, online membership etc.

- Do not go office, when you've severe flu, cold or other sick symptoms which is very noticeable as well as painful to you. Your benefits include some sick leave. Use it as appropriate, but do not misuse it especially Fridays in Summer.

- If possible always participate 401K or other ways (flexible saving accounts) to get some free money that company matches up to certain percentage based on your contribution. If you don't participate, you're simply losing this free money.

- Participate in Stock purchase plan. Usually you'd be able to sell them 15% higher on the day it's been transferred to you. Follow the guidelines and move on your discretion.

- Some companies allow employees to buy software with nominal fees. If you need to buy useful software, do so under this category.

- If the company offers subsidized Gym for your physical exercise, if possible take advantage of it to keep your health in shape.

Others:

- Always flush the toilet after using it. Think about a situation you're coming out of the toilet w/o flushing it and your boss is getting in there.

- If there is a bathroom, for people with disability, try not to use it if you've other options open.

- Plan ahead. Do not surprise people with anything other than good professional charisma. Do not just tell your boss that your mother has found a lovely sweet heart for you to marry in back-home and you want to leave next week. Be diplomatic for that unexpected situations.

- If you've a job that requires lot of travels, feel free to use a credit card that has cash-back bonus. This will add some extra savings in your pocket with no/little cost to you.

- If you donate money to any charity, explore the company's donation matching rules. It might add extra money to your donation from company's pocket up to certain limit without costing you anything.


3 comments:

Ishtiaq said...

I can't but appreciate this article. Superbly written and a PERFECT handbook for new professionals.
Thanks again for the article.

Joy said...

Khub i chomotkaar ebong descriptive lekha.

JustEtc Technologies said...

In North America, follow your boss.
Never ever go for fighting with your boss. if you don't like...just quit quietly.

In NA, reference check is a very common practice. Your boss/supervisor knows this. He can make or break your career.