Skip to main content

Working at a university vs. working in the industry

I have witnessed and experienced first-hand, how different it is to work at a university, vs. working in "the real world", the industry out there. And having a lot of work experience at a university can make one ill-prepared to deal with the outside world. Let me explain what I mean.

When you work at a university, eg. developing software for a particular project (such as a research project), your "client" is usually a university professor who is extremely well versed in the subject and that particular field of study, and who knows it inside and out, usually much better than you.

What this means is that if you receive a complicated task to implement, it's usually this professor him or herself who is the best person to ask for further information and guidance. If there is, for example, a very complicated algorithm you need to implement related to the task in question, this professor is probably able to either directly point out which algorithm should be used, or direct you to the material where you can find out. Even if the algorithm is something that has no ready solution anywhere, the professor will help you figure it out (and, quite often, will do it gladly, as it's often an interesting intellectual exercise.)

In other words, when working at a university, if there's some complication in the task you are given, the "client", the person who gave you the task, is usually actually the best person to consult on it.

There's a trap here that's easy to fall into. Do this for long enough, and you may get too used to get the information you need from your "client". To ask too many questions, in too much detail. Effectively, put the burden on your "client" of explaining to you all the parts that are difficult in the task in question. (Note that here I'm talking precisely about working at a university, doing actual productive work, as your payjob, not studying at the university, and these being some kind of course assignments.)

In the real world, out there, in the industry, the situation is quite different, and if you have worked at a university for very long, and you leave and land on the real world outside, you might have learned too many bad habits related to this.

If you are, for example, a computer programmer, and unless you are tasked with developing some kind of internal project for the company, most likely you will be tasked with developing something for an outside client. (And, in fact, much of this might even be relevant even if you are just developing an internal project for a company, with your "client" being eg. your boss or company CEO.)

Such a client might ask for complicated programmatical tasks to be implemented. You, as a professional developer, should be the one coming up with the solutions to those tasks. You are not supposed to ask your client to give you the solutions. In the industry, it's your job to know or come up with the solutions, not your client's! The client (whether someone external to the company, or in many cases even your boss) is purchasing the solutions from you. The client is paying you to come up with the solutions and implementing them.

If something is unclear, ambiguous, or very difficult (eg. it can't be implemented exactly as requested), your task is not to ask your client for a solution, but to come up with different options and present them (in a simple, clear and understandable manner) to your client, and ask which one he prefers.

A big mistake that one could do in these situations would be to ask the client too many questions about minute intricate details, or worse, for solutions to difficult problems (which was way too easy to ask when working at the university.) Your job is not to ask for solutions, but to come up with them and offer them to the client. Your client is not a professor who is an expert in the field and knows more about it than you. You are the professional who is supposed to be the expert on the field, and offering your services to clients who can't do it themselves.

And, of course, the other aspect of dealing with clients is that you need to be extremely tactful. Even if your client is being a completely stupid hard-head who just doesn't understand that something cannot be done, or cannot be done in the manner that's asked, or can't decide on which alternative is the best, or insists in using a stupid alternative, you need a great amount of diplomacy when dealing with such clients. What the adage "the client is always right" really means is that "you should never make your client feel like they are in the wrong, make them feel stupid, and should always approach your client as diplomatically and politely as possible, regardless of the situation". Even if you really, really need to explain to your client that something cannot be done, you have to do it in a manner that's as neutral and diplomatic as possible. Never, ever just bluntly and impolitely lash out at your client (even if you don't really mean it), either live or in text (especially the latter can be really easy to do because it lacks tone of voice, so you should be extra careful whenever you write to your client). And always offer alternatives that ought to be as good as the original demand, if at all possible.

At the university if something just cannot be done, usually your "client", eg. the professor, will understand the reasons and the technicalities, so it's much more ok to be direct and blunt about it. In the real world you need a lot more diplomacy about it.

Comments