If you’re working full-time, don’t moonlight without your employer’s knowledge. Why? If you feel you can do more than your company is asking you to do, tell your manager that, instead of filling the gap with moonlighting. Tell him you want more responsibility1. Tell him you have more time. For example, that you want to take responsibility for the release process2. Or you want to see if you can explore FaaS. Or point out to him your skills that are not being utilized. For example, “I’m good at building an intuitive UX, and seeing things from the users’ point of view as I build, but my skill is not being utilized in my current backend role. What can we do about this?” Treat your manager as a partner in your career growth. If you want to consult three years from now, tell him, “My next career goal is to become a consultant in three years. I’ll be dedicated to the company till then, and do my job wholeheartedly, but I also want my work to prepare me for the next step in my career. Can you help me with that? What work can I take on today so that the company benefits, and I’m also learing skills for the next phase?”3
To succeed, we need to focus on one thing at once. If you moonlight, you won’t have the focus to think about how you can grow as much as possible in a job. Every job is an opportunity to learn and grow, and you don’t want to miss the opportunity because you’re distracted. When you’ve learnt everything there is to learn in a job, then you can move on, but not before. Focus applies for everything: someone who’s doing a startup in parallel with consulting will do poorly at both. You need the mental space to introspect and ask questions like “What more can I do here?” If you want to succeed, pick one thing and do it well. If you think your job is a dead end, quit, pick something else like a different job or starting a startup or freelancing, give it all your attention, and succeed there. No divided loyalties.
Sometimes people ask, “What’s the problem with moonlighting without my employer’s knowledge as long as I do justice to my primary job?” The problem is that you can’t: one of my employees didn’t deliver properly for two months because he was moonlighting, as I realized later. He was tired at work. I’ve hired people working with me part-time in addition to their primary job who didn’t deliver. You may think you’re good at allocating time or estimating work, but the reality is that work is unpredictable. If you’re working in a factory manufacturing plastic chairs, each chair takes the same amount of time to manufacture, so you can plan backwards: I’m expected to deliver 30 chairs per week, and since each takes an hour, I’ll be working 30 hours, which means I have 10 hours free for other companies. Creative work is not like that: the requirements (“30 chairs per week”) and the time it takes to meet them (“1 hour per chair”) both keep changing and are ill-defined. You can’t plan ahead. If you take on two jobs at once, you will sooner or later not do justice to one, or even both.
When you accept money from someone, the expectation, whether stated or not, is that you prioritize their work, not that you do it eventually when you’re free after your other gigs. If you want to succeed and grow in your career, you should meet and exceed other people’s expectations. They’ll then sing your praises and introduce you to others with a strong recommendation. Not just your leads but also your peers, who will be in positions of authority in the future, and who will decide whether to give you an opportunity based on how you behave. People are always watching you. Don’t think that what you’re doing is not visible to them; it is. If you fail to meet the other side’s expectations, in addition to it being unethical, you’ll develop a negative reputation and it will hold you back in the future. Only people who are perceived to be responsible and dependable grow4.
The only exception is advising other startups. That will result in a lot of growth for you. You’re exposed to a variety of situations, more than you’d encounter in one company. You hear about what problems startups have. You hear about which decisions work well, and which ones backfire. You learn how to get your points accepted. You learn a lot with little time, risk and emotional pain. All this knowledge benefits your employer. So advising startups is a valid use of moonlighting. In fact, advising is not a full-time job, so moonlighting is the only way you can do it.
Even then, do it with your employer’s knowledge. And do it the right way: Tell the other company that your primary job comes first, that you’ll do the other company’s work in the time remaining after your primary job, not the other way around. Tell them that you can’t commit any time (“I’ll work a day a week”) or timelines (“I’ll do this by Oct end”). Don’t accept cash, equity, or any other form of payment 5. Don’t work with a competitor to your primary job. Never reuse code, even if it’s generic and nothing to do with the company’s business. Rewrite it, even if it’s a complete waste of time. Don’t use your primary company’s laptop to moonlight, or reimburse your Internet bill, or physically sit in your office while moonlighting, because some companies have rules saying that whatever is done using company resources belongs to the company.
In general, moonlighting amounts to selling yourself short.
He may suggest you take responsibility for something else like the hiring process. Don’t say no because that’s not core technology, or is not fun. When you’re offered an opportunity to do anything you haven’t done before, say yes. Do it wholeheartedly. Do it well for multiple quarters or years and then, if you no longer like it, you can ask to hand it off to someone else and take on a new challenge. Opportunities don’t come based on your schedule. They come as they come, and you have to be smart enough to recognize and grab them. One engineer told me he wants to learn Flutter this year, machine learning the next, and something else the third. He’s not going to get opportunities based on his schedule. In fact, his rigidity will cause him to lose opportunities that come to him. So, when offered a chance to do something you haven’t done before, say yes.
Not “I want to do X” but “I want to take responsibility for X”. Responsibility means that if it works, you get credit, and if it doesn’t, you take responsibility for the failure. Managers want people to take responsibility, not just do work. Your manager may ask you to first do it before he gives you responsibility for it, but the ultimate goal is responsibility, not work.
Don’t be afraid of this conversation. A good manager will respect you for having a goal and for being professional to discuss it in a constructive manner. It’s his job to coach you and prepare you for what’s next, and that’s all you’re asking him to do. Anyway you’re not going to work in your current job for life. Too much of employment is based on lies from both directions: each party tells the other they’ll be committed forever, when they’re not. If you’re going to leave three years from now, it doesn’t mean you won’t do a great job for these three years.
Some people respond to this by explaining how their company mis-treats them, but don’t do this for your employer; do this for your own future.
For two reasons: they’ll expect commitments in exchange for money, and you yourself will feel obliged to trade off your primary job for the second one.
Never knew we had a word for this! Very insightful; especially for people who work remote as international contractors