https://bitfieldconsulting.com/golang/career Learn Go with John Go books Go courses Go tutorials Code Club Let's Code Mentoring Contact Blog About Go tutorials RSS [ ] Bitfield Consulting Friendly, professional Go mentoring 0 [ ] Feb 9 Feb 9 A career ending mistake John Arundel [button] This isn't about the time I inadvertently shut down one of Britain's nuclear power stations, an entirely true story for which the world is nevertheless not yet prepared. Nor is it about the poor junior developer who accidentally destroyed the production database on their first day (they'll be fine, bless them). Instead, I want to talk about another kind of career ending mistake, one that affects more than just the unlucky few. Indeed, it's a mistake we're probably all making right now. And that's not planning the end of our careers. By "the end", I don't necessarily mean picking your retirement date. What we're really talking about is the aim or goal of your career. Where will you be when you realise that this is where you've always wanted to be? If you don't change direction, you may end up where you're heading. --Saying If you love what you're doing now and don't ever want to change jobs, great: you've reached the end of your career, even if it plays out over many decades. If you don't love it, and that's much more likely, then it's worth asking what would make you feel that way, and when it's going to happen. So, where do you want to end up? And is that where you're currently heading? If not, what should you do about it? Out of control The word "career", as you know, means "to rush about wildly", or, of a vehicle, "to move fast and in a way that is out of control". Isn't that apt? And doesn't it describe the career experience of most of us pretty well? The indispensable first step to getting what you want is this: decide what you want. --Ben Stein Most of us, in fact, don't really know what we want to do with our working lives until we're more or less doing it. Then, we bounce around for a while like a pinball, occasionally racking up a few bonus points, or sometimes, unluckily, going down the drain. And pretty soon, often before we're quite ready for it, the game is over. It's not surprising, then, that many of us find ourselves in less than fully satisfying jobs, with doubtful or non-existent prospects for advancement. In all honesty, if we are happy in our jobs, it's probably more by luck than by design. Maybe rather than rushing around wildly, we should give a little thought to what we want to achieve in our careers, and that rather than just sitting back and hope it happens, we should actively plan and take steps to bring it about. As software engineers, we're constantly making detailed, elaborate plans for computers to execute (that's what software is, after all). Isn't it kind of weird that we rarely give a moment's thought to the program we want to write for ourselves? Choose your own adventure The best time to start a pension is always twenty years ago, and career planning is a bit like that, too. By the time you realise you need it, you wish you'd started a lot earlier. On the other hand, it would be foolish to let that prevent you from starting at all. Even a late, sketchy, and uncertain plan is way better than no plan. So what would a career plan look like? And when should we start making it? The truth is that as a man's real power grows and his knowledge widens, ever the way he can follow grows narrower: until at last he chooses nothing, but does only and wholly what he must do. --Ursula K. Le Guin The first phase of your career is probably too early to make serious plans, and any decisions you make at this stage are rarely critical: there's plenty of room to experiment and make mistakes. In the final phase, by contrast, you have fewer options, and there's not much time to pull off a significant change of direction. The autopilot tends to lock in and steer you further down the glide path you're already on. You need to pick your destination while there's still time to get there. So it makes sense that the middle part of your career is the right time to start thinking seriously about this stuff. You should be planning, in other words, to enter the final phase of your career in the right position, at the right level, and at the right time to land where you want to land at the end of the flight. So where is that, exactly? I think there are three main kinds of career destination, at least in the tech industry: 1. Independent 2. Senior individual contributor (IC) 3. Management Let's take a closer look at each of these destination airports, if you like, check out the local weather conditions, and ask what kind of flight plan would get us there. Choose your own adventure. What kind of career do you want to have? Independent [independen] Being independent means working for yourself, most likely in your own company, and maybe with others working for you, but also maybe not. Just being a one-person company doesn't necessarily make you truly independent. A consultant is independent, for example; a contractor is not. The difference is that the client tells a contractor what to do, while a consultant tells the client what they should do. Running your own business, or otherwise being an independent worker, is great for those who like it. I do, and I was never really happy working for someone else. I couldn't wait to strike out on my own. I was probably a pretty mediocre employee for that reason, among others. And there was the incident, of course. On the other hand, not everyone wants the hassle of marketing their business and pitching clients, or the headache of handling accounts and taxes. And not everyone can manage on an irregular, unpredictable income, especially if they have a family to support. If you do want to leave your stable job and decent salary and go start your own business, though, then this transition needs a little careful planning. It would be unwise, for example, to just quit one day in a fit of pique, then start wondering how you're going to make rent the first few months. Timing is important. DENPOK: Lao Tzu teaches: the best fighter is never angry. More important than the blow is knowing when to strike. Like, perhaps, after we experience the executive whitewater rafting trip in Coeur d'Alene. --"Silicon Valley" And to make money on your own, you'll need to be excellent at what you do. There's no one else to pick up the slack. In a big company, you can learn on the job. When you run your own company, you'd better already know your trade. It might be an idea to start studying it now . If you can make the time, it's a good idea to dip your toe into independent working by doing a few small, one-off side gigs. You'll gain experience and some satisfied clients, making it easier to go fully independent when you want to. And if it turns out that you don't enjoy the experience of working for yourself, it's better to find that out before you rage-quit your job, isn't it? Of course, we don't always leave our jobs through choice. Layoffs are a fact of life in a volatile industry. You may not see the rocks coming; companies tend to fail gradually, then suddenly. But an unexpected transition to "funemployment" needn't be a disaster. If you've always dreamed of being independent but somehow never quite worked up the courage to jump ship voluntarily, then being made to walk the plank could be just the spur you need. Suggested reading: Secrets of Consulting -- Jerry Weinberg Senior IC [ic] Let's turn now to the second kind of career destination: senior IC. A senior IC doesn't run their own firm, or work independently. They're at the top of their game technically, and may be a technical leader for others, but they spend the majority of their time doing the work, not managing other people who do. This isn't an executive position: you won't have your own washroom, or a seat on the board. On the other hand, you'll have plenty of money, status, and authority, and unlike your colleagues in management, you won't spend all day in meetings. You'll be at the highest level of your profession, and getting well paid to excel at the work you love. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. --Steve Jobs There are limitations, though. You probably won't get to choose what to work on, and you may not agree with the decisions of the powers that be. In fact, it's practically certain you won't. If, in the end, you can't live with those decisions, you can go work for another company, but you'll find the same dynamic there. A senior IC role appeals to those who want to stay technical and keep their hands on the keyboard, or at least the mouse. You don't have the time-consuming, cross-disciplinary responsibilities of a business owner, or the political challenges of a manager. You can do the fun stuff: building and making. And you can do it until you choose to retire. Find out what the situation is where you work. If senior ICs exist, talk to them. How did they get where they are? What were the steps along the way? And is it what they thought it would be? Talk to your boss. Do they know this is what you want? What are they prepared to do to help you get it? And what do they expect from you in return? Some people blithely assume that if they keep doing what they're doing for long enough and don't screw up, they'll eventually make senior IC. Maybe. But maybe not. A better strategy is to take personal control of your skills development, and take it seriously. Don't wait for the company to train you. They prefer to promote people who don't need training. Instead, find the craft you love, and dedicate yourself to mastering it. Start seeing your current work not as a simple exchange of your time for their money, but rather as an opportunity to find out what you're good at, and to get better. TDD isn't something that comes naturally. It's a discipline, like a martial art, and just like in a Kung Fu movie, you need a bad-tempered and unreasonable master to force you to learn the discipline. --Harry Percival Of course, a calm, friendly, and professional mentor would be even better. That's what I do, by the way. Have a chat with me if you're interested in getting serious about your technical craft, with my help. It really works. Mastering a craft is hard work, though, even with professional coaching, and it won't happen overnight. There's a saying in the martial arts that "it takes two lifetimes to get good". You don't have that long, so you'll need to approach the work with patience, dedication, a clear mind, and a pure heart. Namaste. Suggested reading: The Making of a Butterfly -- Phillip Starr Management [manager] Lastly, let's take a look at management as a career destination. We might even say it's the default destination for most tech careers, if you can stay in one place long enough. If you don't change direction, in other words, you may end up where you're heading. But is that what you want? Engineering managers need a background of technical competence, but the work itself is primarily about leading, supervising, hiring, and developing the skills of other technical people. It turns out those are all skills, too, and relatively rare ones. Managing people is hard; much harder than programming. Computers just do what you tell them, whether that's right or wrong (usually wrong). Anyone can get good at programming. I'm not sure anyone can get good at managing, and most don't. Most managers are terrible. That's quite a sweeping statement, I know. (Prove me wrong, managers, prove me wrong.) But, really, would a car mechanic last long in the job if they couldn't fit a tyre, or change a spark plug? Would a doctor succeed if they regularly amputated the wrong leg? We would hope not. But many managers are just as incompetent, in their own field, and yet they seem to get away with it. Good managers, then, like good teachers, are rare, but all the more precious for it. If you've ever had a really good boss, you'll remember them all your life, and, if you're lucky, emulate them. (You'll remember the really bad ones, too.) And just because managers don't cut code or solder chips, it doesn't mean they don't have a big influence on the success of projects and companies. Indeed, managers can have an outsize influence on events. I'm sure we can all cite examples of promising projects that sank without trace because of a disastrous manager. I'm less sure that there are many examples of inspirational managers rescuing doomed projects from the brink, though it does happen. If McDonalds were managed like a software company, one out of every hundred Big Macs would give you food poisoning, and the response would be, "We're sorry, here's a coupon for two more." --Mark Minasi If you want to become a great manager, which I think is the only kind worth being, start practising now. Learn people skills, communication, collaboration, psychology. Work on understanding the things that make different kinds of people tick. Manage yourself excellently. If you can't organise yourself, how do you expect to be responsible for a team? Study your own manager. If they do the job well, figure out why (and talk to them about it). If they're a shambles, figure out what they're doing wrong, and decide how you'd do better. A great manager understands what's happening with each person in their team, and can be there to eliminate problems and roadblocks almost before they happen. Why shouldn't you start doing this kind of thing right now, rather than waiting to be told? Sometimes the de facto leader of a team is simply the person that everyone turns to when they have a problem they can't solve on their own. If that's you, you may already be on the road to becoming a memorable manager--for the right reasons. Suggested reading: People Skills -- Robert Bolton It's about the planning, not the plan I hope I've encouraged you to think about where your career is going, where you want to go, and what you can do to get there. Of course, you may not yet know how you want to spend the bulk of your career. That's okay, and completely normal. But you can think about it, even if it's too early to come to any firm decisions. You can inquire of yourself what things you value, and how your working life could contribute to them. As your experience and knowledge of the world grows, things may start to slot into place for you about what you want to do and be. Tell me, what is it you plan to do With your one wild and precious life? --Mary Oliver, 'The Summer Day' Your future may not, in fact, lie in the tech industry. That's all right, too. I have more than one friend who, despite achieving considerable success as an engineer, has decided that this isn't really what they want to do in the long term. If you want to quit and be a doctor instead, or a schoolteacher, a spaaaaaace engineer, a woodworker, or simply wander the world like a badass righting wrongs, go to it. Don't waste any more of your one wild and precious life careering down a blind alley. Once you do have a sense of where you want to go, it can help guide your choices. Even if you don't know exactly what your perfect job looks like, you may start to feel that you won't be truly happy until you're independent, or a senior IC, or a manager. You can steer away from things which would limit your options in those areas, and instead seek out companies, fields, or sectors where you'll have the best chance of achieving the career you want. That's not to say you should have a detailed map of every step that you plan to take ("make junior VP by Q4 2035"). As software engineers, we already know that a too-rigid plan rarely survives contact with reality. Instead, assume life will throw all kinds of crazy and unexpected things at you, and you'll be right. Plan to be flexible, and to change your plans. Surfing is such an amazing concept. You're taking on Nature with a little stick and saying, "I'm gonna ride you!" And a lot of times Nature says, "No you're not!" and crashes you to the bottom. --Jolene Blalock You can't stop the waves, as the saying goes, but you can learn to surf. Chance favours the prepared mind. Never underestimate the role of serendipity. The perfect opportunity may show up just when you least expect it, but if you've never thought about what you want, how will you recognise it? It's not the plan that's important: it's the planning, and the time to start planning is now. It's never too early, and it's also never too late, provided, of course, that you don't have your own little incident. Let's be careful out there. John Arundel Go, golang, career, jobs, tech, mentoring Twitter LinkedIn0 Reddit 0 Likes John Arundel John Arundel [image-asse] Cras mattis consectetur purus sit amet fermentum. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Feb 21 Scripting with Go Jan 26 Type parameters in Go Related Posts Feb 1 Feb 1 Learn Go with John Dec 27 Dec 27 How to really learn Go May 4 May 4 Introducing Test-Last Development (TLD) Get John's new writing direct to your inbox Be the first to know when John publishes new Go content, and get early access! Email Address * [ ] Beta reader * [ ] I'd like to read early drafts and give feedback on new books [ ] [Notify me] Powered by Squarespace 0