In this podcast Shane Hastie, Lead Editor for Culture & Methods spoke to Fabiane Nardon about the Staff Plus career pathway and what it takes to become a data engineer.
Key Takeaways
- Staff Plus identifies any role in a technical career path above the senior level
- Organisations should provide options for people to move in and out of technical and management track – understanding both aspects makes you a better leader in either area
- It is important to select the right projects to work on to highlight your skills and value for the organisation
- Data engineering is a relatively new discipline with lots of opportunities
- There are some key skillsets needed to move into data engineering
Subscribe on:
Transcript
Shane Hastie: Good day, folks. This is Shane Hastie for the InfoQ Engineering Culture podcast. Today I have the privilege of sitting down across many miles with Fabiane Nardon. Fabiane is in Brazil. She has been track host for a number of QCon events, particularly focused on the staff plus tracks. And well, Fabiane, I will ask you to tell us a little bit more about yourself. Welcome.
Introductions [01:24]
Fabiane Nardon: Thanks, Shane. So I'm based in Brazil. I'm a computer scientist of many years of experience. Currently, I work with data engineering in a company that does data science, especially for marketing in Brazil. I've been involved with many QCons. I hosted some data tracks in the past and recently I've been hosting this staff plus engineering track, which it was a very interesting discussion and something I am passionate about. So I'm very, very happy to be here in this podcast and talking to you.
Shane Hastie: So, let's start with what do we mean when we say staff plus?
Defining the Staff Plus role [02:07]
Fabiane Nardon: Okay, this expression, staff plus came from a book from Will Larson where he said that staff plus engineers are engineers that are above the senior level. So usually, when you become a senior developer or a senior engineer, after that, depending the company you are, you can be promoted to, if you stay in the technical path, you can be promoted to staff plus to staff to principal engineer to tech lead, architect, which is something that's not so common right now. But you can have several other titles after the senior level. So after the senior level, what you have is a staff eng plus, so this is what this expression means. It means anything in the technical path above the senior level.
So what he wanted to do in his book was to try to make, let's say more systematic, explaining these titles and trying to come up with maybe a suggestion of a classification. He would do a whole research on how companies are calling this technical titles after the senior level. And as you know, you can follow a path in management or a technical path. You can maybe switch from management to technical and back. But usually, either you decide to follow one path or the other path. And if you decide to follow the technical path, depending the company you are, it may not be an option. Depending the company, the company you are, you may not have the support you need. Depending the company you are, especially if you're on a mature companies like big techs, you have a very clear path to follow.
You know that after senior you become, let's say staff, principal, distinguished and all these other titles that are not so common in other companies. But it's something we need to talk about because lots of folks would prefer to follow the technical path. And talking about this, we can decide what better titles we can create or talk about the difficulties you have when you decide to follow up the technical path, how companies can be prepared for that and all these very interesting topics that come up when you talk about staff plus engineering.
Shane Hastie: Tell us a little bit about your own journey in and out of management as well.
Fabiane’s career journey in and out of the management track [04:37]
Fabiane Nardon: Yes, I started as a developer and I have to say that I'm still passionate about programming and developing software and architecture and this kind of activity that I probably would be happy as a developer for the rest of my life. But as it happens with most developers, at a certain point in your career you are presented with the opportunity to become a manager. And what happens is if you decide to follow this path, usually it's very hard to go back to the technical field. And this happened to me many years ago. As a natural progression of my career, I became a manager. And what was interesting is that when I became a manager, the company gave me all kinds of support to become a good manager, like trainees, how to manage people, how to organize a project and things like that. But I was not happy being just a manager and not being connected to the technical field anymore.
So after some time I left the company I was in and I decided to take a sabbatical year to really do a soul search and see what really wanted to do. And during this year, I worked for free for many projects as a developer or as an architect. One of these projects was a startup. And this startup became a successful company and I'm still with this company until now. But when we created this company, one of our strategies was to create a company where you could have a technical path, you could stay in the technical field, we could still be happy doing what we do best, I could still develop. I know that I don't develop all the time anymore, it's impossible, but at least I have some time to do really technical work. So now I'm actually director of technology, but I still like to think that I am in the technical field.
Of course I do some management, but I manage to create the environment in my company where I can still do technical work and still be connected to the challenges, especially the most complex challenges we have in the technical field. So yes, I went to management and went back to tech, and I think this actually helped me to be a better technical person because now I understand management better. And all these trainings I had in leadership in how to manage people and things like that, these are immensely useful in any job, especially when they are leading a technical team. So I think that if companies can provide to people that stay in the technical path, the same level of training in leadership in how to understand the company goals and how to understand what's involved in the business, this can make us better technical professionals as well.
Shane Hastie: Bridging that management, technical, and the management skills that you're talking about there, what are some of the important competency skills that companies should either be making sure that they do offer as training or that people on the staff plus track should go and find for themselves?
The value in training technologists in leadership skills [07:59]
Fabiane Nardon: That's a good question. I think first, leadership, because in this role as you progress in your technical path, it's natural that you're going to lead the other developers or the other engineers, either by mentoring or by pointing the right way to solve a problem. So if you are trained in how to lead people, this helps a lot. This means know how to talk to people, how to avoid stress as much as possible, how to be calm when things are very complicated. The very important skill. Communication, this is very important because communication not just if you are peers but when you are in this position, usually you are called by other departments in the company to provide the technical vision about a problem or project or something like that.
And if you have good communication skills you can explain better the problem to people that are not necessarily technical, and you can be heard and have the right status in the company, you're going to be a voice that is heard as much as someone in the management track. So leadership, communication, how to avoid unnecessary stress for the team. I think non-violent communication, like how to give feedback in a way that you're not going to destroy the team morale. So there are lots of things that you learn as a manager that you can apply as a technical leader, but I think leadership and communication are probably the most important.
Shane Hastie: You've done a number of the staff plus tracks at the various QCons. Looking back over those, what are some of the key themes and key messages that are coming out of the talks that you've facilitated there?
Key themes from Staff Plus tracks at QCon [09:58]
Fabiane Nardon: Thinking about the questions we got from the audience, which are the most interesting part of these talks is to hear from the community that are listening to these talks, what they are worried about. There are lots of questions or concerns about how you can leave management and go back to the technical path. You see many, many people that became managers because that was the only path that they perceived as possible and they're not happy and they want to go back to technical path. So this is one. There are concerns about how to be successful in the technical path. Like if you are a senior, how you can be promoted to staff and from staff to principal and things like that. There are lots of questions about how you can convince your company that having a clear technical path is something important for the industry. That's a very interesting topic as well.
And they enjoyed a lot talks that talk about tips on how to do things like how to communicate with peers or how to choose a project that is going to make you stand out in the company and get your staff plus role if that's what you want. I think, probably, these are the topics that they enjoy the most. Usually, community always enjoy to hear from others' experience, like life stories, like how some people managed to stay in the technical field and what happened and the decisions they made. So lots of questions about this as well.
Shane Hastie: If I can put you on the spot and if you can remember them, what are some of those tips? What are things that our listeners should be thinking about? If they are thinking about going down the south bus role or career pathway and they want to position themselves, what are some of those tips?
Ways to highlight your skills and value for the organisation [11:56]
Fabiane Nardon: I remember several of them because they are so interesting, especially about progressing your technical career. There was a talk that was very interesting about how you can choose the right project to be more visible in the company. So some of the steps are you listen to what the company's talking about, what are the pain points, and then you try to address this pain points or the biggest problems in the company to get a project. Sometimes it can be a project that nobody wants to do because it's either boring or too difficult or you have to talk to too many people. But if you manage to be the one that solve that problem, this can make a huge difference in the company. Other things is another way to choose the right project to address is to understand what the company needs in terms of business.
Because sometimes as technical people, we want to choose the problem that's, let's say, the most interesting in terms of technical challenge, but that may be not what is more important for the company from the business perspective. So sometimes you have to be, let's say, mature enough to choose what makes difference for the company and not what's more interesting to you. And this is something that you have to learn. Another thing that helps a lot is if you are available to mentor other people, so you make your team better because you are available to help them to be better. So this helps you to become a leader. And there are lots of questions when you see this or talk about these steps about time management. How do you manage to make time for all these and still study? Or usually you have to get better, you have to study off hours, and this can be difficult for some people, for lots of people actually, so how you do that?
And it's hard. Depending on how much effort you want to put on this, it can be hard. So there are tips on how to do time management, for example, that are very interesting. For example, block your calendar for focus, so you have time to really focus on what you have to do and not having one hour of focus and one hour of meeting. One hour of focus, one hour of meeting are not going to get anything done. So there are tips like this. There was a talk that was very interesting and that I think it's a very good suggestion, that is working with the community to become more visible. So you can do to be part of user groups or contribute to open source or maybe be a volunteer at QCon, for example, or help to organize a local conference. It can be a conference in your own company, like a talk or something like that.
And this usually helps you both with networking, because you are going to meet other people that are interested in the same field you are, and are going to teach you how to talk to people. Because if you decide to do presentations, first you have to learn very well what you're going to present, and this is one of the best ways to learn something. And second, you're going to learn how to explain things, especially how to explain complex things. If you develop these skills, you are going to learn how to explain to other departments in the company how to explain to junior developers, for example, and mentor them. So contributing to the community, to open source, to user groups usually helps a lot to get visibility and to get more experience as well.
Shane Hastie: Some great advice there. Shifting direction a little bit, your role as a data engineer, what are the big challenges there? And if people are interested, what do they need to do to prepare themselves for a role in that space?
Becoming a data engineer [16:02]
Fabiane Nardon: I think data engineer is one of the most fascinating challenges right now because the amount of data we have, it's growing and growing and growing, and you have to develop new strategies on how to use this data in a safe way or with good performance, with less cost, especially when we think about cloud cost. It can get out of control very, very fast if you don't use the right techniques. But on the other side, this is still a fairly new field, so you don't have many people with the right experience. So I think if you want to get into data engineering, the best thing you can do is to be exposed to these kind of challenges as early as you can. So there are lots and lots of huge basis data sites out there that you can get and learn by yourself. But the best way to learn is to actually work on real problems and to understand all the algorithms that are involved with them.
So if you can get into a company that has lots of data and they are willing to try to use the power of this data, it's probably the best way to learn is to do this with real problems. It's very hard to work with large amounts of data and not having a clear problem to solve. So it's always easier when you have a problem. And there are lots of companies that collected huge amounts of data in the last years and have problems to solve with them. So if you can manage to get a job in this field and learn how to deal with this data, I promise it's going to be very interesting. Lots of algorithms to learn, lots of things that work differently than traditional applications. So it's something very interesting.
Shane Hastie: What are the tough challenges in that space?
The tough challenges of data engineering at the moment [18:00]
Fabiane Nardon: Well, I think probably doing, processing data with less cost is probably one of the biggest challenges, because you have amazing tools right now that you can just plug in and can, for example, query terabytes of data and give you the result in seconds, but they are very expensive as well. So if you know how to use better algorithms and how to prepare the data in a more efficient way, you can have the same results using a lot less money and less resources as well. And I think this is not something that is still in the radar of many companies, although we had a track about something similar at the last QCon, but the energy used by data centers right now is huge. And if you process this data in an inefficient way, you are going to use more energy, more resources.
And this is becoming a problem. If you know how to deal with large amounts of data using less resource and using less energy, this is going to decrease your costs and be good for the planet as well. That's a very interesting discussion right now on how you can process data using less resources and, by consequence, less money and less energy. This is one. The other one is data quality. Probably all the companies have the same problem of data that is collected, and a lot of this data is not good enough, noisy and things that don't follow the right pattern and things like that. So there are lots of work to be made to make this data better and usable. This is a challenge as well. And privacy, privacy is a huge concern. Privacy and security is a huge concern and it's something that we have to be always vigilantly... how you can use this data in a way that is not going to cause any harm.
So this means that you have to know the local legislation, you have to be aware what you can do and what you can't. You have to use algorithms, for example, to anonymize data or to be sure that the statistical processing you are doing are not going to provide information that can expose data that shouldn't be exposed and things like that. It's something that you have to be always aware and always worried about.
Shane Hastie: And for somebody looking to get into the field, where do they start? What do they need to learn to be able to come into data engineering?
What to learn to become a data engineer [20:47]
Fabiane Nardon: If you have to learn distributed processing, things like Spark for example, Apache Spark, it's a very powerful tool. It's very useful if you learn algorithms that can deal with large amounts of data. For example, things like algorithms to count data more efficiently using statistics for example. You have to learn no-SQL databases that usually are going to give you more options on how to store and how to deal with data. You have to learn, depending on the cloud you choose or you may learn several different clouds, but each cloud has their own tools to deal with data tool. They usually have a different storage you can use or different tools to do distributed processing.
Or you may decide to build, to install your own cluster and do your own processing, which is always fun as well. But usually, distributed processing is statistics, algorithms that deal with large amounts of data, no SQL databases, data quality strategies, anonymization algorithms, and get into all the cloud vendors and learn what they have in terms of tools and see if there are tools that can solve your problem. But be aware of the cost of these tools so you don't run into very expensive solutions.
Shane Hastie: Fabiane, thank you very much for taking the time to talk to us today. If people want to continue the conversation, where do they find you?
Fabiane Nardon: They can follow me on Twitter @fabianenardon, my full name, and I'm on LinkedIn and usually I speak at conferences around the world. So if you follow me on Twitter, I always say where I'm speaking next. Feel free to reach out and if you want to learn more about data engineering or staff plus engineering, I'm very happy to talk about it.
Shane Hastie: Thank you so much.
Mentioned:
- Staff Engineer book by Will Larson
- Fabiane Nardon’s content on InfoQ
- Fabiane Nardon on LinkedIn and Twitter