Showing posts with label IT Employment. Show all posts
Showing posts with label IT Employment. Show all posts

Tuesday, December 3, 2013

10 rudest behaviors in the workplace

Most of us aim not to be rude in the workplace, but sometimes the line is thin between adorable quirkiness and just plain annoying. Here are some behaviors to avoid.

iStock_000004837564XSmall.jpg
How many times have you wished an office mate would go away – simply because of their rude behavior? The office is a confined space that easily breeds contempt when the right ingredients are available. Be it something totally innocuous, a pet peeve, or a completely inappropriate action, there are certain behaviors that do not belong in the office. You may see them every day or you may be completely oblivious of the fact that you display these very behaviors that outrage or annoy your fellow co-workers.
Here are ten of the rudest behaviors I have witnessed in the workplace.

1. Gossiping

Gossip is never a good quality, no matter where you are. But when you're in the workplace the chances of not being able to escape the hurt you've caused others is a potential job-killer. Gossip has the added bonus of possibly causing those you're gossiping about to eject themselves from the workplace. You do not want to be looked at as the one to have driven employees away – especially by management. When this happens, you run the risk of losing your job and looking petty and insecure. Avoid starting, perpetuating, or generally engaging in this behavior.

2. Being a slob

Expecting maid service is never an option. You are an adult; when you make a mess, you clean it up. This should be the case from the top employee to the bottom. Even if your company has a clean up service, it is not their job to be your personal maid or butler. Clean up service is there to clean the office – not your personal trash. When you leave your mess for others, it's a slap in the face to anyone who actually bothers to clean up behind themselves. Do not disrespect your fellow employees (on any level) by assuming you are above picking up trash or tidying up after yourself.

3. Announcing your victories

I've worked with several people who made it known to everyone around them when they solved a problem. Everything from shouting to doing their own special victory dance. This not only gets annoying, it can serve as an unpleasant reminder of when your co-workers aren't as successful as you. Have a modicum of respect and keep your victory dances and celebratory high-fives to yourself.

4. Being a snob

Cliques should remain in high school – and even then they should be avoided. When you're in the workplace, being a part of a clique does two things: It separates teams and makes those participating look childish. The workplace is already stressful enough – adding to that stress by making others feel like outcasts is more damaging than you might expect.

5. Aggressive typing

How many people have you worked with that seemed to have bionic fingers? That incessant TAP TAP TAP on the keys eventually turns into the sound of hatred. If you are one of those ham-fingered typists, do yourself (and everyone around you) a favor and purchase a silent (or at least quieter) keyboard. Not only will keep from annoying your fellow workers, you won't sound like every character was typed with rage.

6. Being a glory-stealer

Taking credit for others' work or ideas should never happen...yet it does. We're adults, we work hard to attain whatever modicum of success we can and a win in the workplace is a much-needed notch in the belt. When you steal those wins from others, you are not only disrespecting them, you run the risk of the powers-that-be finding out and turning that behavioral tide back on you. Though you may not lose your job the first time this happens...the second or third time around, you may not be so lucky.

7. Abusing trust

Misuse of privileges happens more than you would imagine. I've witnessed it first hand – people using company cars for illicit behavior, using lunch hours to moonlight, enlisting assistants to do your dirty work (such as laundry), not working when telecommuting – the list goes on and on. Here's the thing about privileges – they can easily be taken away. This is often the case when those privileges are misused.

8. Smelling like an old ash tray

Smoking in non-smoking areas might seem like chump-change when compared to other poor behaviors, but it deserves to be listed. There are reasons why the smoking debate lasted for so long – but, in the end, it came down on the side of good health. Respect those around you who do not smoke and who may have asthma or severe allergies. And while you're at it...don't abuse the “smoke break” privilege. You can't chain smoke while at work and get anything done. Limit those breaks and save your lungs.

9. Being a smartphone junkie

Using smartphones when not appropriate is not something you want to turn into a habit. This is especially true when in meetings. It's easy to seem like you're taking notes with your smartphone, but the truth is you are probably updating your Facebook status. Do the right thing and just leave the smartphone out of the meeting room. And if you have someone in your office to discuss a matter of importance, do not have your head buried in your phone or tablet at the same time.

10. Being late all the time

In some cases this is grounds for termination, but often it's just the annoying habit of being a few minutes late for every meeting, presentation, or carpool. When I was in graduate school, a director I worked with had a harsh stance on actors being late. If there were ten actors in the cast and one was five minutes late, he considered that five minutes of each actors time wasted – so everyone would have to stay late to make up for that missed time. In the case of the example – we'd wind up staying fifty minutes after the normal end of rehearsal. That's harsh, but understandable. When you are late you are not just wasting your time, but the time of anyone who depends upon you at your place of work. This could mean fellow co-workers, clients, bosses...anyone.
We spend a lot of time at the workplace. There's no reason why that time should be spent displaying any of the listed behaviors. You want to be someone everyone wants to work with, not avoid. If you can stop and consider how your behavior affects others – you should easily avoid making any of these mistakes.

Five things managers do that job candidates hate

For managers, the hiring process is, admittedly, a bear. But it's also time-consuming and arduous for job candidates. Here are five things you can do to make the experience more pleasant for those who apply to your open positions.

The hiring process is, admittedly, a bear for managers. It’s time-consuming and arduous. But enough about you. How do you think the job candidates feel? Because the process is all that for them too, as well as being pretty scary. Here are five things that job candidates wish you wouldn’t do during the hiring process.

1.  Already having an internal candidate in mind

I’ve worked at some companies that have a policy that every job opening has to involve interviewing external candidates even if you already have an internal candidate in mind. I’ve also worked at jobs that require managers to open a job to internal candidates even if they have no intention of hiring someone internally.
I know that companies are just trying to make sure they open things up to all the people they can in the hopes that they get the best person, but this still rankles if you’re someone looking for a job. You’re playing with people’s time and expectations.

2.  Waiting too long to let a job candidate know something

Waiting weeks and weeks for an answer is bad even if the answer is that you got the job. It’s pretty devastating when you find out that, after all the waiting, you don’t have the job.
Maybe you’re with one of those companies whose deciders take all that time because they’re striving with surgical precision to make the best possible decision. They want the best person and they also don’t want to waste money with a bad hire.
But you know and I know that the most common reasons for keeping candidates waiting is that
  1. You’re waiting to see how your real first choice works out before you let the others off the hook completely
  2. The decision to hire, and who to hire, has to go through corporate channels –a process that is slower than molasses in winter.

3.  Not letting a job candidate know if he or she did not get the position

If a job candidate doesn’t hear from a company at all, he or she knows they don’t have the job. But it’s still disappointing and disconcerting not to hear anything. Is this just laziness or rudeness on your part?
I will allow that you may just want to avoid any kind of unpleasant experience. After all, it’s not a lot of fun breaking that kind of news to someone.
Maybe you’re also concerned that  if you go into some detail about why a candidate didn’t get the job, you could be setting your company up for a lawsuit. I know of one instance when a woman applied for a job with several people from the company she presently worked for. The reply was that her qualifications were not up to par. Yet, that company hired several (male) employees who were a couple of levels below her at the current company and who were not as qualified as she was. She sued.
Still, there’s a way around that. Just send out a general notice like: “Thank you for showing interest in the (POSITION) with (COMPANY). This letter is to let you know that we have identified our finalist and will not be moving forward with your candidacy.” What’s so hard about that?

4.  Vague, misleading job descriptions

From the looks of some want ads I see, it looks like some companies use a boilerplate job description and just adds a few IT-related terms. But it would save a lot of time if you would just come right out and be specific. For example, instead of saying you’re seeking someone who has “experience with object-oriented JavaScript or programming,” (which could, in some minds, mean a person who once watched someone create a desktop widget), be specific: “Extensive knowledge of DOM scripting with native JavaScript and familiarity with JS frameworks such as jQuery or Mootools.” “Experience with...” is perhaps the vaguest, and most open to interpretation, phrase one could use. Try to avoid it.

5.  Interview process is too long

Is your company’s interview process so long that job candidates could qualify for HR benefits? And I’m not talking about all-day get-grilled-by-the-team-then-four-VPs kind of interview. I’m talking about one process that includes a fifth or sixth interview. For the guy who actually gets the job in the end, this is forgivable. Sort of like birthing a baby. But for the people who go through that long process only to be told they don’t have the job, it’s confusing and makes them question everything about themselves.
I know you’re seeking perfection, but I can tell you that there are some people who are just extremely good at interviewing and not doing the actual job. You’d like to think that by putting candidates through a process longer and more arduous than a Keeping up with the Kardashians marathon you’ll be able to spot the perfect person. Unfortunately, the effort does not always end that way.
Hiring is a big deal and it’s important to find the best candidate for a position. But there are things that you, as a manager, can do to make the process easier for those folks who are applying.

Is IT a sexist industry, and is it growing worse?

Statistics indicate that fewer women are choosing IT as a career; is it a result of sexism in the industry?

Last week, Fox Business ran a story about women in technology, with host Stuart Varney musing that there might be "something about the female brain that is a deterrent from getting women on board with tech," and that keeps companies from putting women in positions of authority in technology companies. 
 
Wow. The notion as stated on Fox is appalling at face value, but the imbalance is certainly real, and not just at the executive level; women are scarce at all levels in technology, it seems. 

When I entered the field, unthinkable years ago, I was a junior programmer in a group of 13 that contained five women. Today, more than two decades later, the Bureau of Labor Statistics tells us that the percentage of women in a typical US IT shop has fallen below 25 percent. 

In colleges around the country, the story is even worse: back in my day, more than a third of all computer science degrees were awarded to women; today, it's a disappointing 12 percent. And, ironically, among high school students, girls are more likely to be generally computer literate than boys (although boys are more likely, three-to-two, to have actually done computer programming).

Clearly, things are going in the wrong direction.
What's going on here? Why are women steering clear of technology careers?
Several theories are out there, trying to explain the imbalance. A study of Canadian high school students has shown that few young women are attracted to the field to begin with, citing a perceived life of isolation, which the media fuels - the dreaded geek factor. Fewer than five percent of young women arriving on undergraduate campuses do so with intent to pursue a computer science degree. 

And once they've arrived on campus, there does indeed appear to be a sexist force at work: a 2006 study published by MIT Press asserts that undergraduate classroom environments tend to weed women out by emphasizing competition over cooperation, and that undergraduate laboratory environments, where teamwork is often taught, tend not to be inclusive of women.

Once in the workplace, women report 10 percent lower perceived receptivity to their input than their non-technical peers; they also report less perceived advocacy for their skills. It's not hard to see why little girls, dreaming of what they want to grow up to be, might seldom picture themselves arriving in a .NET developer's cubicle.

What are we missing out on, given this state of affairs? Let's set aside the obvious, that we're truncating nearly half the intellectual and creative potential we could be accessing, and note that one of the nagging deficits in the IT workplace today is diverse communications skills, in which women in general exceed men; or that turnover has become outrageously expensive, with the cost of replacing an IT professional now often exceeding the amount of a year's salary, and the note that women tend to move from job to job less frequently than men. 

The big one here, however, is that the Information Age is burgeoning all around us, and we aren't just a service industry; we are shaping the world to come. The very forum in which you are reading these words right now has been a game-changer, not just in the performance of business tasks, but every aspect of our daily lives, social, political, and economic. The more input we have into the shape of things to come, the better off we all will be, as our technological future unfolds. To even partially exclude half of the human input we might introduce into the evolution of technology, company by company, in the coming years seems not only wasteful but foolish.

How we can move more firmly in the direction of rectifying this imbalance is something for an upcoming discussion.

Saturday, November 16, 2013

How to craft your resume if you were part of the healthcare.gov rollout

If you think your resume has a questionable spot or two, think how the IT pros on the healthcare.gov rollout feel.

The CIO for the Centers for Medicare & Medicaid Services, Tony Trenkle, is leaving CMS, the agency embroiled in the hideously ridiculous rollout of government's Healthcare.gov insurance marketplace website. He is departing effective Nov. 15 to take an undisclosed position in the private sector.

This shocks me—not the “leaving,” part--but the part about going to a position in the private sector. I’m shocked because if I had one piece of advice to give anyone who worked on the project, either in a coding role or in tech leadership it would be this: Immediately X out that little adventure from your resume.

I don’t care if you were just the spellchecker on the content side, distance yourself quickly. Plug something more palatable into your resume, like during those months you were Miley Cyrus’ image consultant. 

Even the folks at the top of this trash heap were able to spin a better story out of what happened, they would still have to admit that they were guilty of an unimaginable lack of communication. 

Be clear: I’m not stating an opinion on the concept of Obamacare. I’m focusing here about the project. How could it happen? How could a project of such monumental proportions fail so miserably? You’d think that--knowing a whole political party was waiting with fingers crossed that something would go wrong--that everybody involved would have treated the details of the project with the same scrutiny as they would in mapping the human genome.
I know the first excuse is that a short timeline was the culprit. Maybe so. Maybe the project’s architects, managers, and coders were all screaming to slow the train down but no one listened.

But from what I can cull from news reports, it might have been a communication issue. Some of the people involved—like chief project manager Henry Chao—claim they were kept in the dark about serious failures in the website’s security. But then, according to a later Huffington Post article:
In a July 16 email sent ahead of a meeting with then-prime contractor CGI Federal, Chao described the agency's low confidence level in the project work, from constant struggles with releases to changing delivery dates and poor quality assurance on software.
So was everyone on the same page or not? At some point it’s clear that the communication stopped, whether out of pressure to launch on schedule or because the people in the trenches weren’t sharing their concerns with the right people. Maybe they were scared. Who knows? The point is that there was information to be shared and it wasn’t.  

I’m sure we’ll find out the whole story in a year or so when Hollywood picks up the film rights. Which just may be the undisclosed position in the private sector Mr. Trenkle is headed to.

Wednesday, November 13, 2013

Beat the technical interview! (Part 3)

Here's an article that makes the process of securing a software development job (which for us usually lands on the .NET/C# side of things) more fun by treating it like the "cheat codes" to a game in which you're the protagonist preparing to go up against hiring managers.



The Software Manager Boss.jpg



Level 3: Boss, Software Manager

By: Ben Weiss, Digital Marketing Strategist at Infusive Solutions
Special thanks to Sean Kennedy, Director of Software Development at Steadfast Financial, LP and Ian Yamey VP of Software at Park Assist, LLC.

When grappling with the software manager in level 3 of the interview, one of the first things to remember is that while this professional will often have a technical background, these interviews typically evaluate candidates on a more macro level. 

On that note, it is generally assumed that if a software developer has advanced beyond the “tech out,” they have sufficient technical acumen for the role and now must be vetted for overarching problem solving skills.
Software Manager Cheat Code.jpg



With that in mind, here are a few cheat codes to deploy when preparing to go up against a software manager: 

Don’t just answer the question

Because of the many intricacies that accompany software development roles, a candidate with encyclopedic code knowledge may not be enough. 

Rather, these professionals must supplement their wealth of existing knowledge with the mental agility to address a complex problem with a level head and calmly design well-engineered solutions with a logical step-by-step approach. 

Those skills are difficult to test for and consequently, many software managers will ask questions that might sound hard or even absurd just to see how a candidate reacts. 

One such question might be something along the line of “How many pizzas were delivered in Manhattan last year?” While this may sound unreasonable at first glance, the best development candidates will grab a pen and paper and start devising a strategy to arrive at an educated estimation. 

For example, you might start with the fact that Manhattan is roughly 23 square miles, estimate the number of pizza joints per square mile as well as a rough number of pizzas delivered by each establishment every day to arrive at a rough conclusion. 

This approach is far superior to just throwing out a number or looking into the distance with your eyes glazing over. In fact, you’ll virtually always be seen as a superior candidate than the next person who may have experience and a well-padded resume but whose inability to tackle the problem logically will suggest they can’t think outside the box and are only successful when given specific instruction. 

Ask about the big picture

On a similar note, software managers perceive the best candidates to be those that want to understand how their technical niche will impact the larger vision of the company. 

Consequently, they’ll be looking for an indication that you don’t just want to get your job done, but get it done in a way that makes life easier for the rest of the organization and even more so for its customers/clients. 

One strategy software managers may use to gauge such is asking a candidate to do the simple task of drawing an action figure. In this instance, the average candidate will just draw the first thing that comes to mind. However, the best candidates will ask questions like ‘Is the action figure targeted at males or females? What is it made out of? Should it have accessories?’ 

These types of follow up questions are fantastic to suggest to software managers that you’re the type of person who wants his/her work to fit into an established vision rather than someone who just wants to complete a series of tasks and go home.
The bottom line is that you should be cognizant that many questions in the higher rounds of the interview process may not be what they seem. 

Detail how you stay informed

Considering how quickly technology evolves, software managers are looking for development candidates who are engaged with thought leaders in their field and stay abreast of new trends so they can seamlessly evolve their style and skills along with the industry. Consequently, if you express that you regularly visit MSDN and follow Scott Guthrie’s work, that will leave a far more resonant impression upon a software manager than if you say you only read sneaker blogs in your free time. 

Moreover, while you may not need to be proficient with the latest version of C#, for example, software managers are nonetheless looking for candidates who understand what’s new and exciting about latest and greatest software iterations. 

As such, even if you haven’t used the newest version of the technology yet, be sure to research the new features so you at least appear informed. 

Show a desire to learn and create impact

Average software development candidates want a job. Awesome candidates want a job at which they can become a better professional, make a difference and be noticed.

To showcase you’re an awesome candidate to a software manager, ask questions about what kinds of things you might be able to learn on the job or how you as a developer would be able to transition an idea to an implementation stage. These exhibit a willingness to constantly grow and improve as well a desire to make your mark at the company, both highly sought after characteristics.

So now you’ve gone head on with the software manager and came out victorious, ready to complete your quest for gainful employment as a developer after meeting the final boss: the Chief Technology Officer (CTO).
You May Also Want to Read Previous Part : (Part 1)(Part 2)

Tuesday, November 12, 2013

Career advice for Millennials: 10 ways to hack into the workplace

Millennials are facing an astonishing level of competition for every job. There are hundreds of you applying to every job. So, how to defy Oldster expectations and set yourself up with a career you can be proud of?

Human resource executives across America are freaking out. Why? Because by 2020, Millennials will comprise more than 40% of the employment force. What's so scary about that? 
 
For one, most of you are not currently competent to do corporate entry-level work. For another, you've proven impervious to the regular training and mentoring programs that HR has always depended on to develop employees.

You question everything, ignore orders, don't play well with others, and yet you assume that you warrant complete transparency and regular promotions.

Also, and this is a minor complaint, but the fact that many of you still live with your parents, is, in a word, creepy to Baby Boomers and Gen-Xers who were kicked out at 18.
Ignore all of that—it's just paranoid hype, right? Oldsters shouldn't be so worried about you. You're the ones who should be worried. Why?

Millennials are facing an astonishing level of competition for every job. There are hundreds of you applying to every job. So, how to defy Oldster expectations and set yourself up with a career you can be proud of?
Here's a Top 10 List:
1.  Emphasize your generation's advantages
No one can deny you have superhuman multi-tasking skills, you swim in a digital ocean many Boomers only wet their toes in, and you're so savvy about marketing that you're practically impervious.

The ASTD Leadership Development for Millennials study found that you bring to the workplace technological acumen and openness to change and new applications.

Personality traits you bring to the table, according to a McKinsey study, include positive attitudes, optimism, gumption, curiosity, fearlessness, creativity, spark, drive, desire, and of course, your legendary confidence. Millennials have qualities any employer should want in an employee. You can be trained on the rest

2. Passion trumps earning
Follow your passion. This might be an oldie, but it’s a goodie! Anyone who loves their job can tell you it takes a lot of the stress and anxiety out of life. You may not get to start at the top, but do what you love and you can find jobs that will get you started, give you the opportunity to learn your passion from the business side, and then the sky is the limit. 

3. Make use of your power-networking skills
No generation before yours comes close to the reach that you have, and the platform you’ve already built for yourself. Now it’s time to expand it, thoughtfully: if you appreciate someone’s work, be a fan. If you see that you know someone who knows someone you want to know, ask for an intro. Look at your Friends, Links, and Followers and see just who you can be helpful to, and who can be helpful to you. 

4. Question
Never has a generation asked so many questions! The good news is that once you land the job, many of your bosses have learned the value of listening to your questions—it often makes them evaluate a process in ways they’d never thought of before, and opens the doors to more efficient and dynamic ways of doing business. Be mindful your questions are respectful so they don’t come across as a self-involved, under-developed kid who is not ready to work as part of a team.

5. Program the right formal education
"In both Britain and the United States many people with expensive liberal-arts degrees are finding it impossible to get decent jobs,” says The Economist article Generation Jobless.
“What matters is not just the number of years of education people get, but its content. This means expanding the study of science and technology and closing the gap between the world of education and the world of work—for example by upgrading vocational and technical education and by forging closer relations between companies and schools.” 

Closing the gap between the world of education and the world of work includes practical vocational or technical training. If you have a generalized degree, supplement it with a very practical work or vocationally focused degree or certificate. There are great part-time programs available for working professionals.

6.  Self-educate all the time
Additionally, keep in mind that education is no longer linear—high school, college, work, grad school, more work. So many young professionals are creating individualized, experiential learning and development programs for themselves.

On the job, professionals of all levels are responsible for developing themselves and shouldn’t wait for a manager to deliver them a training class or similar formal learning program. In life, everyone can gain skills simply by engaging with the world, so don't forget to pursue hobbies too.

7. Recruit mentors
Get yourself several mentors to advise and council you. Who can be a mentor? Anyone who will talk to you about their career, and answers questions about yours. Facebook relationships, people you meet at social or cultural events, friends who know someone you admire, the people who surround you at work. 

Mentors don’t have to be twenty years older than you—they can literally be the guy who has the next job you aspire to. And it doesn’t have to be a life-long relationship. Some mentoring is just a “meet and greet” where you buy them coffee and walk away with that one piece of advice that changes your world.

8.  Open the door to new communication methods
Get out of your communication comfort zone! Networking events are a great opportunity to practice in-person communication skills. If you're already on the job, look to see if your company stage seminars that help young professionals engage in face-to-face communication.

Regardless, this is something you can take into your own hands. Speak up when you meet someone you think can provide information, no matter where you are. At work, if you see a bunch of your peers gathered in a knot to talk, buzz over and see if it’s a conversation you can be a part of and contribute to. Or, if you see that someone isn’t busy, go ask that question you need an answer to—in person. You’ll learn more from a casual conversation that you ever would from a text. 

9.  Throw out the career ladder
Millennials are only too happy to disregard the idea of a career ladder. There’s no such thing anymore as working for one company for twenty years and moving up in rank on a pre-determined schedule. 

Your career is yours to steer, and that means variety, and that is what you crave. Moving laterally between departments within a company is a great way to widen your knowledge base, network and demonstrate loyalty to a company. Changing industries entirely is fine too, but aim to do it in a way that will allow you to make use of what you already know so that you can now acquire new skills. 

10.  Lead with your ambition
Millennials have a reputation for not being ambitious—prove employers wrong. Prove yourself wrong. 

If you’re excited about your job and ask to be involved in the projects that catch your eye, the bosses will notice. And they’ll reward you with respect, more responsibility, and more access to the aspects of the job you want to learn.

Better still, if you've got a dream job that only exists in your head, go create it. Being your own boss might be a scary challenge, but it might just be the perfect solution to satisfy your nagging ambition and vision.

Sunday, November 3, 2013

Future network landscape means a career jitter ahead for IT pros

New technologies, especially virtualization, will dramatically affect the roles and livelihoods of network engineers. How then, should netadmins prepare for the big changes ahead?

Five years is a long time in IT. It’s like dog years, with the conversion rate an IT constant, multiplied by the complexity of the environment. Planning a future network engineering career half a decade out is no easy task, especially when you’re interrupt-driven, quelling one crisis after the next. We buy our network management tools based on what they deliver right now, not on roadmaps. But for our personal career development it’s reversed, and we must consider years, not just quarters. 

A new job we choose today might position us to ride the next wave to greater compensation, an IT management role or a better work-life balance. But it’s just as likely taking a different role, investing time in the wrong certifications or worse, just doing nothing, that might put our careers on the rocks just five years from now. New technologies, especially virtualization, will dramatically affect the roles and livelihoods of network engineers. How then, should netadmins prepare for the big changes ahead?

Explosion of gizmos and virtual pipes

Two colliding challenges are driving a fundamental sea change. First, business has compounded the established rate of services concentration onto networks with new technologies and worse, whole new device categories, that all expect network access. BYOD in many environments doubles the number of endpoints, but without the control of company provided gear. Cloud and SaaS are here to stay, and program owners expect improved performance from them than with the LAN hosted solutions they replaced. Telepresence has become critical not just to executives, but also to the everyday management of global teams. Add in increased security attacks from every direction and you have a project list for the foreseeable future.

Second, and more importantly, the virtualization genie is out of the systems management bottle. VMware NSX, standards based SDN and Cisco’s eventual non-Hardware Defined Networking solution will move a significant chunk of today’s command line interface (CLI) under a mouse. It’s no longer a question of if, but rather how and when. There was a time that a graybeard CLI wizard, (greenbeards?), could use PuTTY like a kryptonite shield to thwart sysadmin encroachment, but that’s about to change. Vendors have responded to management’s desire to lower network administration costs. And make no mistake; moving virtualized networks under the control of vCenter gives existing system admins a head start. They have years of experience and management will encourage them to expand their knowledge and assume as much ownership as possible. 

On a virtualized Internetof Things (Cisco’s Internet of Everything), more devices and diverse services than ever will be connected to a programmable network that begins in the datacenter, and then spreads out its most remote edge. With systems virtualization, it wasn’t just racks and servers that were consolidated—system admin teams became smaller as well. The same will undoubtedly happen with networking. We will have larger and more complex networks and fewer network engineers managing by automation. When the music stops there will be fewer chairs.

Learn new ninja skills

Fortunately, the future for network gurus is not a giant bummer -quite the contrary. IT management already looks to network engineers for sage advice and technical direction:
  1. We watch our businesses’ heart beat in the flow of packets on our networks.
  2. We routinely meet with senior managers who know us on a first name basis.
  3. We find the routes to enable new opportunities, streamline existing processes and lower costs every day.
By getting ahead of new trends now, you’ll have opportunities five years from now that you might not even imagine today.
  • Get your head in the cloud. Whether hosted by a major provider or delivering your existing services as a private cloud, you need to gain significant expertise with the networking challenges of delivering seamless connectivity. Soon, if not already in your datacenter, admins won’t even think about the plumbing between the servers whirring in your racks and those silently processing requests out who-knows-where. Vendors like Microsoft have already stated that hybrid solutions are here to stay, and management will look well on the engineer who makes it work well. 

  • Get serious about security. Security issues from firewalls to servers already represent a huge threat to business, and the situation will become even worse in a complex, visualized environment with fewer admins. The reason your firewall policies keep you up at night now is not that you don’t have the skills to sort them out, it’s that you don’t have time. Network security policy management products that automate out errors and widen policy adherence can reduce vulnerability today. Gaining expertise in SDN Security could make you indispensable.
  • Hit the books. New certifications like the forthcoming VMwareCertified Associate - Network Virtualization are going to be important. You’ll need to learn more than just how to do network configuration with a mouse. sysadmins will need your years of networking expertise on their platforms and it’s a great way to gain a seat with root at the vCenter table. In many cases you’ll be the only one to close even the hairiest helpdesk tickets. 

  • Get involved in the budget process. As engineers we generally prefer to stay out of processes that have political dimensions, but in the future vendor assessment, product selection and tools expenditures will be more important than ever. With more complexity comes more management tools, and your understanding of both technology and your business gives you a unique perspective budget managers will need to achieve their mission. Get to know the magic spreadsheets.

Relax, you’re an engineer

Most of all remember that there will be great opportunities for career growth with this transformation. Motivated technologists with ability to quickly comprehend and manage complex environments become leaders when complexity increases. And that is the stock and trade of network engineers. It’s what we do every day. Create some room each week for research, set up a lab for hands-on learning and embrace the changes. You may even make today’s gig more fun.
By Patrick Hubbard, SolarWinds Head Geek




BYOD_Cloud_FINAL-page-001.jpg

Finding the hidden value in the ADHD developer

Has become a cultural punchline, not well-understood or considered; but those adults who carry it have traits that can work to IT's advantage.

"You know you have ADD when you stop at an intersection and wait for the stop sign to turn green!"

"You know you have ADD when you take an IQ test and end up covering it with doodles!"

It's a cultural cliche now, and few understand it well, but ADD/ADHD is now part of our professional world. Since it was legitimized as an adult condition in the 1998 release of the Diagnostic and Statistical Manual of Mental Disorders, ADD/ADHD has emerged as a reality in the lives of roughly five percent of the adult population - making it possible, and perhaps likely, that such a person works in your IT department.

Whether or not ADD/ADHD is a "disorder" or simply a natural state that's at odds with the expectations of the culture at large is still heavily debated; it's a reality that a significant number of us deal with. And if you're a manager in a large IT organization, you may find yourself dealing with it from the other side.

How the ADD developer looks, from the outside looking in
Most of the time, he underperforms. He achieves his goals more slowly than those around him, which puts him at odds when he's working within a team context and others are counting on him. Consequently, he is often given mundane work that can be easily handed off, when he's slow.

He hits homers, not singles; when he's on, he's on - that's why you haven't fired him. Once every so often, he cuts right through the fog and delivers an outstanding solution, or the key piece of some puzzle that others haven't solved.

His desk is covered with distractions - a Doctor Who screwdriver in his pencil cup, a Firefly screensaver on his desktop, a Star Trek calendar on his wall. He actually plays with these things from time to time.

You catch him surfing the net more than anyone else. And he gets up from his desk far more often.

You know he's smart, and you know he's not lazy. He's just not in sync with those around him, or with your expectations.

What's really going on - ADD from the outside in
ADD/ADHD is a consequence of a gene complex that deprives the brain of the number of dopamine receptors that might be thought of as "normal" - meaning that such a person requires more stimulation from the environment than is typical. This was a powerful trait, 20,000 years ago - such people made excellent trackers and hunters, able to zero in on subtle environmental details in stalking prey. Four hundred generations of farming have pushed those genes to the side, but they still surface - in artists, writers, musicians, inventors - people with an eye for the new and different.

The ADD adult craves environmental stimulation and intellectual challenge, the opportunity to be creative. What does that give the IT manager, in terms of assets?
  1. Very high energy. Give the ADD developer a job that's stimulating, creative, near-impossible to solve, and he'll give you an energy output you've only seen before in battle robot builds and Star Wars Lego projects.
  2. Trouble-shooting. While the task has to be stimulating, rather than mundane, the ADD guy is the one you want scanning for problems - he lives for that sort of thing. He's your first line of defense in pre-UAT functional testing.
  3. Hyper-focus. The ADD guy seems distracted most of the time - but the rest of the time, all of his attention is squarely on the problem. He has as much attention to give as anyone else in the shop, he just uses it in concentrated bursts. When a problem needs solving, his hyper-focus will trump most other peoples' normal focus.
  4. Creativity. ADD children and adults tend to express themselves artistically, in new and different ways - they become artists, writers, musicians, and so on, when they don't go into IT. Give the creative task to your ADD guy, and see what you get.
  5. Taking risks. IT was once a conservative professional domain, averse to risk. Today, we don't have that luxury; we are forced by the demands of the marketplace to re-invent ourselves every few years. That means taking the frequent leap into the unknown. Your ADD guy is right for that job.
Finally, there's the "H" factor: some (not all) ADD people just can't sit still. There's the story of an eight-year-old girl who had that problem in the schoolroom, and was finally taken to a psychologist for evaluation. Sure enough, she had to wander the room in order to even respond when questioned. 

The psychologist didn't drug her or put her in a "special" class: he realized that she had kinetic intelligence - she needed to move, in order to think. She grew up to be Gillian Lynne, one of the most accomplished choreographers of the twentieth century.

Someone like that may be working for you right now.

Saturday, November 2, 2013

Beat the technical interview! (Part 2)

Here's an article that makes the process of securing a software development job (which for us usually lands on the .NET/C# side of things) more fun by treating it like the "cheat codes" to a game in which you're the protagonist preparing to go up against hiring managers.


Level 2: Boss, The Senior Developer

Senior Developer Boss Image.jpg





By: Gayle McDowell, Author of Cracking the Coding Interview and Founder/CEO of CareerCup

Just as actors have to audition for a part in a play, developers also need to audition. Of course, a developer’s “audition” will be a series of technical questions designed to test technical expertise. 

Can’t they just know you’re good from your resume and background? You would think so, but unfortunately, you can’t make any assumptions. You could be lying or exaggerating on your resume. Or, your resume could be ambiguous in certain ways. 

One person’s “three years of experience with .NET” might mean a few months of experience spread out over multiple years, whereas another person could have three years of intense, everyday work. And, we all know that years of experience don’t always have a direct correlation with skills. Sometimes, the more “junior” person is better, and these questions are designed to discover that.

Regardless of your feeling on the merits of these technical questions, many companies stand by them. If you’re doing a lot of interviews, it’s likely that you’ll encounter them and it’s best to be prepared.

Technical questions you’re likely to face will usually come in one of three forms: knowledge questions, coding/algorithm questions, and architecture questions. No level of experience makes you “immune” to any type of question, though it might affect the standards or expectations. In fact, many interviewers will ask the exact same types of questions to all candidates, regardless of their experience level. 

Knowledge questions generally have right or wrong answers. For example, an interviewer might ask you a question like, “What does the keyword sealed in C# do?” or “Is it possible to execute multiple ‘catch’ blocks?”

Obviously, the better you know the language, the better prepared you’ll be for knowledge questions. You can also refresh yourself prior to your interview by reviewing terminology and concepts from your preferred programming languages. 

Many popular interview questions can be found online on websites like CareerCup and Glassdoor, so those are good places to look for questions you might face. For each concept or keyword, make sure to think about where you might use them, what the relative pros / cons are, and what the alternatives (if any) are.

If you don’t know the answer offhand, all is not necessarily lost. You might be able to bring in your knowledge from other programming languages or deduce the answer some other way.

For example, if you don’t know immediately whether or not multiple catch blocks can be executed, you could think about how catch blocks work and what it would mean to be able to execute multiple catch blocks. 

Explain to the interviewer beforehand that you don’t know the answer but you’ll try to deduce it. In some cases, you might actually be able to demonstrate a better knowledge of the technologies by deducing the answer than by already knowing it.

Coding and algorithm questions are designed to test aptitude more so than pure knowledge. That is, they’re tests of your coding skills and problem solving skills. They’re supposed to make you think. This is good news actually; you don’t have to just know the answer. The interviewer wants to see how you solve the problem.

Coding and algorithm questions can vary substantially in difficulty, and can include questions like:
  • Implement a program to check who, if anyone, has won a game of tic-tac-toe.
  • Given an array of integers, return the number that it repeated the most.
  • Design an algorithm to find the longest substring that is a palindrome in a string.
  • Given a binary search tree whose “left” and “right” pointers are represented with “first” and “second,” write a program to convert this tree into a sorted linked list. This conversion should be done in place, with the linked list re-using the “first” and “second” pointers.
Some of these questions might test knowledge of data structures and algorithms, depending on your background and the company’s preferences.
Senior Developer Cheat Codes.jpg





To solve these questions, the following techniques work well:

Ask questions
Questions are sometimes more ambiguous than they appear. The interviewer might have forgotten some details, or you may have misheard some of the problem. Repeating the questions back and clarifying anything you’re confused about can prevent you from running down the wrong track.

Use an example
If you don’t know how to solve the problem at first, using an example can help you to brainstorm approaches. Be sure you come up with a realistic example though. For example, if you’re writing up an example to find the longest palindrome, you probably want to use a string with multiple palindromes.

Talk out loud
Your interviewer wants to know how you’re approaching the problem; that’s part of why he/she is asking you this question. Talking out loud will help show him/her that. It also has benefits for you though; it shows you’re either making progress or that you’re off track. Your interviewer can then get you back on track with some helpful hints.

Pseudocode
If it helps you, consider writing pseudocode prior to writing your actual code. This can be especially valuable in more complex code or in code that has lots of little details and minutia.

Write your code
You may not get a computer to code up your solutions on; rather, you will be expected to code on pen and paper or a whiteboard. Although your interviewer probably won’t mind too much if you forget something like a semicolon, you should strive to make your code as flawless as possible. Pseudocode is usually not sufficient (although it’s fine as an intermediary step). 

Test
When you finish writing code in the real world, do you just check it in to the source control system? Of course not. Likewise, in an interview, you shouldn’t think you’re done just because you’re, well, done. Interview code needs to be tested. No, you still won’t be given a computer, but you can run through your code by hand using some examples. 

When you find mistakes – and you probably will – don’t panic! Mistakes are okay; no reasonable interviewer expects you to just bang out flawless code, particularly when you don’t even have a computer. Just think through your bugs and carefully try to fix the solution.

On each question, you will be evaluated relative to other candidates on the same question. Think of this like being “graded on a curve.” The harder a question, the longer it will take to solve, the more bugs everyone will have and generally speaking everyone’s performance will be weaker on an absolute basis. Interviewers will therefore be a bit more lenient on all factors. You don’t have to be perfect! 

Architecture questions ask you to architect a system of some sort. This could be something like an email system or a system like tinyurl.com. 

In these questions, you should start off with understanding the constraints. Let’s suppose we are building an email system. What are we building this for? Are we building a massive email service like Gmail or Hotmail that needs to support millions of users?
Or are we building an email system from scratch for a small to medium sized company? What protocols will the mail system support? These are all good questions to discuss with your interviewer. 

Second, you should start with listing the components of the system. For this example, you’ll probably need some servers for incoming and outgoing mail, a database of some sort and possibly some servers or services to configure it. The email clients themselves might also be considered part of the system, particularly if it has a web frontend like Gmail or Hotmail. It might be useful to get up on the whiteboard and start drawing some pictures; go ahead! 

Third, you’ll need to describe how these components will work together. When and how does each component talk to the other? Do the incoming and outgoing servers talk to each other directly or does each read only from the database? 

Fourth, think about how to make the system better: faster, more robust, etc. How will you handle having a lot of data? What will happen if a server goes down? Is there anything you might want to cache in memory to make the system more optimal?

Depending on the question, you might get into the details of what technologies (which database, etc.) you might use. It would be wise to be prepared with an understanding of the pros and cons of different technologies.

Phew! That was a workout, right? Now that you’ve successfully navigated past HR and the senior developer, it’s time to move onto level 3 and go toe-to-toe with the next boss in the software development interview process: The Software Manager. 

You May Also Want to Read Previous Part : (Part 1)