A few weeks ago, I had an excellent opportunity to give a talk on my computer science career with young people from Kazakhstan interested in IT. I have shared my educational experience and the path that led me to my academic position. Talking about it and answering the questions, I have realised that it’s not always clear what IT researchers do and how the work in Academia is different from the work in IT companies.
I decided to write about it, but then I had an even better idea. As my experience can be biased and non-generalisable, I decided to conduct a little survey among my friends and colleagues who have both: academic and industrial experience in computer science. Next, I describe the main points that came up from our reflections. These are not absolute truth, might not apply in many cases, and based on our experiences and observations. Still, these are our experiences that might be valuable to those who are only at the beginning of their career.
Teamwork vs working on your own
Coming to work in a company, you usually become a part of a team, which can be either specialised or diverse and include colleagues with different backgrounds. Team size can vary, and it depends on many factors, for example, the size of the company. Like most of the things in life, teamwork has good and bad sides depending on your preferences or work specifics. While advantages could be shared responsibility, being able to rely on others or even just having corporate social events, disadvantages may include the fact that you own a small portion of the process. For example, in the case of software development, if there is a separate UX role, a developer might not be involved in the decision-making process, and the user interface requirements might be already decided. You get a task, don’t get to challenge it, and do your part only, which keeps your knowledge in a narrow professional scope.
Computer science academic research is more individualistic; you usually own the process from ideation and creation to the evaluation of technology impact (spoiler: it is rarely immediate). This freedom lets you explore and gives you a chance to eventually become the best person in the world on your specific topic. Still, it also implies lots of uncertainty in deciding what to do and in what direction and owning most of the responsibility for it. This also usually means that you work alone. You might have a team to collaborate with, but its members will also have their own research projects, which might overlap with yours but still will be different. On a bright side, you are free to collaborate with people from other teams and even universities, which might not be the case in a company. The companies might not welcome your work with other similar companies due to commercial interests.
Choosing the topic and tasks to work on
In Academia, you have lots of freedom to decide or even invent the topics and tasks you want to work on, which are usually open questions that often do not have definitive answers and problems that might not have existing solutions. You can also decide on the methods you apply and even create them yourself. You can choose, but the problems you are working on could be quite theoretic and sometimes you might be working on something that will never be used in the “real world”, at least, immediately. A more immediate goal could be to publish the results of your work to share with the community, which can take lots of time even if the technical solution is already there.
In companies, typically, there are existing sets of problems and tasks that you might receive or come up within a team. There are more certainty and structure, and you are expected to find applicable solutions in a defined amount of time. It is also likely that you have to do (a lot of) routine tasks to support your tools, like fixing bugs or supporting users of your tools, which can get quite boring with time. For example, it is common that have to document and organise your code for other colleagues, keeping it clean and annotated, which is not typically a prioritised task in Academia.
Application of your work
As I have mentioned above, the outcomes of your work are much more likely to be applied practically in the company rather than in Academia. You might be working on a narrow scope of problems and the results can be visible almost immediately. For example, it could take you 3 months to develop a tool but it will be immediately used by a large number of people, which can be either the company customers or other employees. As for Academia, you often develop knowledge or algorithms that could become a base for new technologies, but it might take time before you see the application of your work in real life.
Available resources
Companies usually can provide you with more resources but of course, it depends where you work, we shouldn’t compare a small research centre with one of the Big Four companies, as well as UCLA with a small software company. For instance, the resources that are important for data science or machine learning positions could be available datasets and the GPU (graphics processing unit). Academia, the datasets are smaller than those available in companies, which includes private company datasets. For example, while you might have ten smartphones to simulate the app usage to test it, the companies have millions of real users that provide real-time data. Another difference here is that the datasets used for research are public and you know what data you are working with, and the company datasets are usually private and can be only used inside the company. The data can also be disconnected, include different types and you might not have access to all datasets.
Management
As for the supervision and management, they take place both in Academia and companies but in a different way. Company management might focus on providing you with clear targets and supporting you for completing the projects. In the industry, you have your manager, goals, KPIs, and there are 1,2-year goals. In Academia, you have more freedom and expected to self-manage. At the beginning of your career, the role of the supervisor might be more important, which will mostly include the guidance, inspiring you and trying to keep you on a chosen track. Still, it is more about enablement and support rather than traditional management.
Interests and their conflict
Working on the research projects that have a direct impact or involve several stakeholders, you often have to balance different objectives and interests. For example, in transdisciplinarity research projects, you might have to work on a topic that involves and affects many people. Not all of them might like or agree with the results of the studies. For example, a company involved in the research project might realise that its actions are bad for nature or the product they planned initially is not useful for the customers. As you want to help everyone, you also will have to take an objective position and be honest in your findings, which is in line with the fundamental values of Academia, and root for the greater good beyond immediate profits. This is not always easy but it can give you a sense of purpose and impact. If your research involves studies with humans or other living organisms, it will be moderated by the Ethics Committees that will guide you and help you understand what is appropriate and what is not.
In the case of the industrial setting, the interests can be much more commercial and homogeneous, as you are acting to the benefit of the organisation you are working for. You might not even have to deal with such issues, as there are often dedicated people for such tasks.
Other things to consider
The speed of your development as a professional is usually higher and more linear in the companies, as it is within the commercial interest of your employer. In Academia, your growth is driven by your motivation, and it might happen slower but wider depending on the conditions of your research.
The salary is usually lower in academic research comparing to the positions in companies. While in industry, if you see that you start contributing more and help the company to generate more revenue, you can renegotiate your salary, in Academia, you usually have a fixed income (with some rare exclusions). The possibility to travel to present your work and speak to different researchers is a typical advantage of academic work, which could also be possible in the companies that are interested in sharing their work and taking part in the professional conferences and other events.
Work – life balance, well, it depends, but see the picture on the left, which describes the stereotype of academic work. In the companies you are usually paid if you work overtime.
Talking to those who had both industrial and academic experience in computer science, it is common to switch or even do both at the same time. For example, you might work in a company, develop some expertise, and decide that you are interested in a particular topic and want more freedom in exploring it. Another way is to take the research path after your studies and then transfer to a company when you want your work to be more applied, you want to have a higher salary, or you are tired of uncertainty 🙂 You are also free to have it both, doesn’t matter if you are with a company or in Academia, and work on collaborative research and development (R&D) projects. There are also fantastic examples of company based freedom of research like in Google’s DeepMind (also, Google salary), but these are unfortunately rare, almost like the unicorns 🙂
Thanks a lot to those who shared their experiences with me and contributed to this post!