DCR - Step 3: Learning About Companies (Part 1)
Published 10/19/2016
In today's episode, we start step 3 of the Developer Career Roadmap.
Today's episode is sponsored by Hired.com! If you are looking for a job as a developer or a designer and don't know where to start, head over to Hired now! If you get a job through this special link, you'll receive a $2,000 bonus - that's twice the normal bonus provided by Hired. Thanks again to Hired for sponsoring the show!
Transcript (Generated by OpenAI Whisper)
Hey, everyone on Monk with you, Developer Tea. My name is Jonathan Cutrell, and in today's episode, we are covering step three of the developer career roadmap. For the last three episodes, we've been talking about the developer career roadmap. We started by talking about budgeting your time, and then we also talked about picking your base language. If you haven't listened to those episodes, I highly recommend you go back and check those out because they kind of lay the foundation for some of the things we're going to talk about in today's episode. But step three is kind of a big step, and it's also a step that's going to start a process that will continue throughout the rest of your career and perhaps all the way into retirement. This is really habits that you're going to adopt hopefully for your life, and that's kind of the pattern that we want to set up here. So this episode is actually going to be split up into two parts today and on the next episode of Developer Tea, which should be on Friday if you're listening to this on the day that it releases, which should be a Wednesday. Almost two years ago, when I started this podcast, the fourth episode that I did was called Learning About Learning, and that's exactly what step three is all about. In step three of the developer career roadmap, you start a never-ending learning cycle, a never-ending learning cycle. Now specifically, if you are a new developer, you're going to have two primary types of learning that you're going to be participating in. The first is the one that we're going to talk about today. That's the type of company that you want to work at. We're going to detail some of the things you need to be thinking about, especially in this early stage of your career, but also later stages of your career. If you are a developer and you're working for a company now, well, you should always be thinking ahead about what the future may hold. And you should always be self-evaluating your career. If you are happy where you currently are at your job, or if there's another position at the company that you're currently working at that would make you happier or perhaps a position at a different company that you feel like is more suited to your particular desires and life. Now, you're going to hear a lot of discussion today about different types of companies. You're going to hear a lot of discussion about making decisions, about what you want to do. And really, it comes down to making a decision, but you should know that as a listener of Developer Tea, you should know that this show does not promote a constant turnover cycle in your career. We don't believe in quitting just because the grass is greener on the other side. We believe in sticking things out and really seeing through some of the problems that you're going to face in your career, some of the frustrations that you may be facing in your current job. I believe that facing those frustrations are incredibly important. So if you're listening to this episode and you're trying to find an excuse to quit, then you're not going to find it here. That's not what we believe in. With that said, that is very different than having legitimate reasons to move on. It's very different from having legitimate and well thought out reasons for going to a different situation in life, a different position, or perhaps you're at a stage of retirement. You're ready to retire. Those are examples of perfectly fine decisions, perfectly fine reasons to make a career shift. This is a very common thing to do. If you're in your first position, it's very likely that at some point in your career, you will come to that crossroads for one reason or another. That's the first type of learning that you're going to start in your learning cycle in Step 3 of the Developer Career Roadmap. The next episode we're going to talk about the actual skill learning cycle. Make sure you subscribe in whatever podcasting app you use if you don't want to miss out on that episode on Friday. Part 1 of Step 3. We're going to go through some discussion about what types of workplaces, what types of companies actually exist and are willing to hire developers and are looking for people who are looking for early stage developers versus later stage, in other words, senior level developers. But before we talk about all that stuff, I want to take a moment and slow down and affirm the fact that you as a developer, you have the opportunity, the freedom to go and work and do anything that you want to do with any company that you want to work with. That freedom is open to any developer. Now, of course, it's going to require hard work and it's going to require skill acquisition. It's going to require connections, but there is a common myth, a common feeling of inadequacy and it's often called imposter syndrome. We did an episode about imposter syndrome once again in one of the earliest days of this podcast. And if you're feeling imposter syndrome, go and listen to that episode, but also take some time to go and Google around and find out about developers who came before you, engineers at places like, for example, Google. Google has a talk online. We'll link to it in the show notes. It's from 2009. It's called the Myth of the Genius Programmer. There's also a book out there called The Mythical Man Month and it was written all the way back in 1975, very early in computer science history. People have been dealing with this subject of not being able to work as quickly as they thought they would or work as efficiently as they thought they would or pick up different programming concepts as easily as they thought they would. And to be very clear, there are some very smart developers in the world. There are some very smart programmers in the world who have spent years and years developing their skills. So the fact of the matter is everyone starts somewhere. Right? So I wanted to take a moment and affirm you a lot of people are in your position. They don't know what the next step is. Developer career roadmap is an attempt to help you find your footing. But even with the developer career roadmap, you will probably find yourself in the position of a developer experiencing the feelings of imposter syndrome. Someone else around you is going to understand a concept that you don't understand quite as easily or someone is going to ask you why you're moving so slow on a project. They expect you to move faster. This happens all the time in this industry and you need to be able to affirm yourself so you can put your energy into learning rather than worrying about what everyone else thinks. You can put your energy into developing your skill sets and doing the things that you are good at instead of worrying that you're not good enough. We're going to talk about that concept a little bit further when we talk about skill acquisition and skill learning on Friday. But I wanted to go ahead and throw that out there so that as you start to think about companies you would like to work for, nothing is off the table. That's kind of the first mindset shift that you need to have if you're a beginner developer and you're thinking small, don't think small, think about what you would like to do eventually with your career. As cliche as it sounds, the only people who reach those big goals are the people who have the big goals to begin with. So give yourself a goal that may even feel uncomfortable or out of reach for yourself. Now, we're going to take a quick break to talk about today's sponsor and then we're going to talk further about the different types of companies you may end up working at as a developer. Today's episode is sponsored by Hired. Searching for a new job or your first job can feel stressful, it can feel scary and it can feel time consuming. Beyond that, the process can feel a little bit wonky. For example, you may end up going all the way through an interview process, putting a lot of time and energy into it and at the very end of the discussions, you find out that the salary is way lower than you expected or the culture just doesn't match what you were looking for. Hired is the world's most intelligent talent matching platform for full time and contract opportunities across all types of digital platforms. Now, this is a really cool thing that Hired does. They have a four week interview process. A four week time frame during which you will receive personalized interview requests and upfront salary information. Throughout the process, your dedicated talent advocate will have your back, providing unbiased career coaching to help you put your best foot forward with potential employers. This is a hugely important thing if you feel lost in the sea of all of the things that you would have to do to try to apply to a new company. Your privacy and autonomy in your job search is of utmost importance to Hired and that's why Hired hides your profile from your current and your past employers. All you have to do is complete one simple application. Now you may think, well, what is this type of service cost? A ten or twenty dollars a month, another monthly subscription bill that I'll have to pay? Actually, no. It's totally free for you as you are going through this job search. In fact, Hired has taken it one step further. Hired pays you to get hired. Today's listeners can earn double the normal $1,000 hiring bonus, which is already pretty good, by the way. You earn $2,000 just for being a Developer Tealistener. Go and check it out. Spec.fm slash hired. That's Spec.fm slash hired. We're talking about step three in the developer career roadmap. Your step one was budget your time. Step two was pick your base language. And now you're ramping up and you're getting ready to start learning all of your skills. Well, first, I recommend that you take a step back and start thinking about the type of company you want to work for. Remember the developer career roadmap is ultimately about getting you into the workforce. This is not really made for hobby developers as much as it is created for people who want to become full-time developers and create value, create something to give back to the economic system that you live in. And there's all different kinds of employers. There's all different kinds of companies that you may end up wanting to work at. And the reality is this is becoming a truer and truer every day. Don't limit your vision. Consider the reality that everyone needs developers. New developers are needed on a regular basis for growing companies. So I recommend at the minimum you try to gain experience working with a company before you try to go into freelance work. That's something that the developer career roadmap kind of sets out as a guideline. Don't go into your career thinking that your first step is going to be going freelance. Yes, absolutely. As you learn, you can take on freelance projects for people that you already have connections with so that you can get a little bit of money for your learning process. But ultimately, you're going to learn so much by going to a company at least in the early days of your career. And I think a lot of people underestimate the positive aspects of working with a company. There's a little bit of a romance that people kind of have this perspective of freelance developers who have this total autonomy, the ability to work wherever they want to or whenever they want to. And while it's definitely possible that some of those aspects of a freelance career are attainable, I don't recommend that you try to go after it as your first step in your career. Instead, I recommend you start your career as a developer working with and for other people directly. And then once you have spent some time learning in a non-freelance environment, you can determine a strategy to start your own freelance efforts. A lot of people also don't think about all of the business side of things. They don't think about the idea of trying to go and get clients. And they also don't think about the risks that are involved in working as a freelancer. So I would recommend that you start with a company so that you can continuously invest in the learning process and learn from others. When you are working with other developers, you are learning much, much faster. You are learning with the support of another person and the intuition to see where your blind spots are and where you have the most potential to grow. So I recommend starting with a company. So this decision about which company you want to work with is mostly about your own personal preferences and interests. For example, you may look for a company that you can eventually work remote with. You may also look for a company that has a particular type of culture or an in-office environment that may be valuable to you. You may look for a company based entirely on their pay structure or perhaps based on their location in the world. You may also look for a company and this is my personal recommendation. Look for a company whose work you actually believe in. This is a very important thing to my personal value set. I think a lot of people end up feeling unfulfilled because they don't connect to the actual meaning of the work that they are doing. So I recommend that you at least consider working with companies that you actually believe in the work that they are doing. Ultimately, there are three main models, three main business models that hire developers. These are types of businesses that may end up hiring a developer. The first type of company is a technology forward product company. A technology forward product company. This is essentially a company whose primary product is the technology that you will be working on. In other words, something like, for example, Facebook or perhaps an app development company, maybe a game development company. A lot of people use the term start up when they refer to technology forward product companies. I don't like to use that term because some of these companies have been around for long enough to no longer be called start ups. They're companies that are technology forward that have been around for well beyond 20 years now. In a technology forward product company, you will likely have deeper expertise. You will develop deeper expertise in a specific area and you'll likely be working with lots of other developers who also have specific expertise. But the important thing to realize here is that if you want to work on a very narrow subject, for example, if you want to work entirely on front end optimization, if that's something that you're really interested in and you want to pour all of your time and becoming an expert in that specific subject, then it's likely that a technology forward product company is going to be best fit for you. You'll see the difference between a technology forward product company in just a moment. The second type is the non technology forward product company. Here you will likely be a generalist who is called on to solve a variety of problems with minimum viable solutions. You may end up developing an area of expertise because of the type of company that this is, but the team of developers likely will be relatively small to the rest of the company unless the company itself is quite large. You could have a development team. As you may suspect, once those companies get large enough, the development team starts to mirror that in a technology forward product company that simply lives inside of a larger company. With this kind of job, you are probably going to be creating supporting technology. In other words, the technology that you will work on, whatever it is that you're building perhaps it's a large scale website that sells a different product or maybe a company is looking for someone to build and maintain an iPhone app to handle some kind of information. For example, you could build an iPhone app for a theme park. Again, you can see the clear difference between a technology based, a technology forward product company, and a non technology forward product company. The third type of company is the type of company that I personally work at and it is the model of a consultancy. In a consultancy, you have clients that bring their problems to you and you solve them on a contract basis typically. A lot of times, these types of consultancies will work with businesses that are mostly like the second business type that we talked about, the non technology forward company, and they don't have the time or the resources to invest in hiring full-time people to manage or create the products themselves. So instead, they hire a consultancy. But very often, these consultancies also work alongside companies who are large enough to have a tech team. And your consultancy may come alongside and provide more specific expertise than that internal has in their skill set. In a consultancy, you will work on a team of developers and you'll help other companies accomplish their specific goals. It's likely that your consultancy will specialize in a few technologies and business categories. This ends up looking like you working with a common tool set on multiple different types of projects. In other words, you approach different types of problems with a similar tool set. The consultancies have moderate-sized teams. Of course, that will depend on how large the consultancy is. So those are the three basic types of companies that tend to hire developers. Technology forward product companies are going to be your most specific skill set. In other words, you're going to be more expert in one specific kind of vertical column of skills. And the second type of company, non-technology forward company, you are much more likely to be a generalist. And finally, in a consultancy, you could develop expertise in a particular area, but you will need the ability to stay flexible to the different types of problems that you'll have. So this step is really about evaluating the type of work that you eventually want to be doing. This includes evaluating your own working style, your own personality, the types of things you enjoy doing. If you like sticking to one thing for a long period of time, or if you prefer to jump between different things. If you want to be kind of the problem solver for a large group of people, or if you want to be the expert in just a few or maybe even one subject, these are the types of things you have to ask yourself. And think about these different types of companies and start looking at real companies in the world that you would be interested in working at. Of course, it makes sense to have multiple options. I would even say that for you as a beginner developer, you should come up with a list of five, maybe even ten different options of companies that you would feel fulfilled working at, as best as you can tell from the outside looking in. It's important to keep this list updated throughout your career, but of course, it's going to be a little bit harder for you in the beginning stages, which is why this is a learning process. That's why this step is broken into two parts. So we can really address the importance of doing some research and understanding the landscape of companies out there that are willing to hire developers. Thank you so much for listening to today's episode of Developer Tea. I hope you are enjoying the Developer Career Roadmap series. There is more to come. We've got quite a few more steps to get through. Of course, the second part of the third step in the Developer Career Roadmap will come out. In the next episode of Developer Tea, we'll be talking about skill acquisition. It's still step three, so it's the learning process, the learning cycle. This is something that you will do for the rest of your career, especially the next episode. You're going to be learning for the rest of your career if you want to be a great developer. Thank you again to today's sponsor, Hired. Remember, you can get a $2,000 bonus that's doubled from the $1,000 bonus. It's totally free for you to use the incredible service at Hired. Of course, you need to sign up through our special link. Go to spec.fm slash hired. Again, that's spec.fm slash hired. Thank you so much for listening to today's episode of Developer Tea. Until next time, enjoy your tea.