visit
A quick note: I do recognize this list is subjective. Your mileage may vary; every developer has a different experience. I don’t want to give the impression that this is the only set of truths out there.
University does not necessarily prepare developers for the competitive nature of tech knowledge. Many new developers express anxiety going into the workforce because they aren’t prepared for the amount of work you need to do to stay relevant in the industry. Having a degree does not mean you are done learning, and it certainly does not mean you are more prepared than anyone around you. A CS degree no longer equates to a successful CS career.
In college, you likely had a network of friends or were assigned an advisor to help and guide you from day one. This is not the case in the workforce. It falls on your shoulders to get help, be that from an advisor or mentor. Some managers may take on an advising role, but you will likely need to find someone you trust, and more importantly, someone who is invested in your success.
A mentor is crucial to your success and growth in the early stages. They can teach you what pitfalls to avoid, what pressures to ignore, and what skills to develop.I would seek out someone with a 5-10 year gap on your experience level. Anyone beyond that may not have the most relevant experience, and anyone below that is often more or less in the same boat as yourself. Mentorship doesn’t have to be a formal relationship; even just having the rapport to ask honest questions is a great place to start. If you are still in university, consider cultivating healthy relationships with your professors that extend beyond graduation. Secure the connections now to help you succeed later.To put it more simply: If tech skills are replaceable, you need something else to stand out. You need to be someone that others want to work with, someone who cultivates an efficient work environment with others.
In college, most of your peers are in similar phases of life; it’s easier to forge strong relationships when your peers are the same age, live on the same campus, and share the same schedules. Just because you have good relationships in college does not mean you have the professional skills for the workplace.In the workforce, you interact with people of all ages, lifestyles, and experience levels. You will work with people from different countries and socioeconomic backgrounds. Get comfortable asking questions, letting others speak, accommodating complicated schedules, and working with people you may not understand.Developing the skills to maintain relationships at this scale will help you succeed in the early years of your career. Don’t get lost in your computer like you may have in college and forget that the tech industry depends upon mature human conversation to solve real human problems. You’re not an island anymore.
There’s no doubt that education is inspiring. Many recent graduates go into the workforce ready to change the world. While this is an important goal, you also need to know that in the first few years of your career, patience is often far more important than innovation. Reinventing the wheel is by no means the only way you can make a difference in the world.
Oftentimes, young people reject well-established practices in search of a so-called “better way”. By all means, explore, invent, create; but don’t jeopardize your career by thinking that you alone will change the industry. The knowledge you have is a result of thousands of people working together to figure things out and solve problems. Learn with them, not despite them.If you don’t know why something was done a certain way, it should not be your first reaction to tear it down and reinvent. Rather, your goal in the first few years of your career is to learn about the thought processes of others. First try to understand why something is done the way it is. There may be a good reason for it, and by seeking knowledge, you empower yourself.There’s a floating around the tech industry that change is owed to the few geniuses. The elevated stories of Steve Jobs, Elon Musk, and the like contribute to a “lone creator” narrative that can really disappoint new developers who may spend their whole careers working on teams. Yes, In reality, most, if not all, world-changing projects happen in those teams of people. It’s not just unlikely that you’ll be the lone genius; it’s not even a reality! More successful programmers are those who work alongside others. It wasn’t one person who invented the iPhone. It wasn’t one programmer who designed the Tesla. It was a work of thousands of talented people in a community and ecosystem. Lean in to the group. Don’t alienate yourself for the sake of a myth.A hard reality for new developers is that you have to get comfortable working with partial information. During your education, it was likely rare that you didn’t understand the whole picture of what you were working on. You had a rubric, a clearly outlined assignment. You probably even knew the exact percent value it had for your grade. But in the field, this is rare. It is very common that developers must start shipping software before they even understand how it integrates. Don’t be discouraged that you won’t be able to understand the function of every component right away. Partial knowledge may be all you get.
You may waste your time trying to get the whole picture. The truth is that you don’t need complete knowledge to be successful. Learn how to get comfortable working in a codebase where you don’t understand everything. One way of doing this is to start treating your code like black boxes. Just treat each task on its own, and build the bigger picture as you work.Many of the codebases you will work on will be messy, archaic, or different to how you would approach them. Your work will not be as streamlined or up-to-date as you might want it to be. Sometimes, due to speed constraints or the codebase you are working with, you will have to ship “good enough” code. Know now that navigating massive codebases with distributed knowledge is a skill in and of itself that you may not have learned in school.This doesn’t need to discourage you, though. The key is to learn what compromises you need to make and to identify the right people to ask when you are stuck. This all comes back to my earlier point about patience: patience is more important than skill at this stage. Put in the time, trust the process, and with time, your knowledge will expand to incorporate a larger-scale understanding of your work process and the codebases you work on.Fahim is the co-founder of . We are building the next generation learning platform for software engineers and instructors. Learners learn by going through interactive, text-based courses. Instructors can create and publish interactive courses using our course builder. If you are interested in publishing courses or knowing more, feel free to reach out.