Don't become an expert: invest instead
A photo of Ellie, our labpit. She is swaddled in a blanket, which makes it look like she is some sort of canine aristocrat.

Don't become an expert: invest instead

Think about the last video training library you saw. It likely had tags like “Beginner”, “Intermediate”, and “Expert.” While these labels can help you find resources that are at your level, I have always been bothered by them. Outside of video training libraries, I have seen people assert they are an “expert” just to get a job or a project. And then at the other end of the spectrum, I have seen people downplay their skills in the hopes you will buy into the technology they are selling.

This may seem innocuous on the surface. However, I assure you it is anything but. The moment you adopt “beginner”, “intermediate”, or “expert” as a part of your identity, you are trapped.

The implicit promise that is made when you adopt a specific framework or language is that if you just become an expert in this, you will have steady work in it for a good long time. While this sounds like you are taking an active role in your career, it is ultimately resignation.

Once you pick up the basics of a framework, you fill in the rest of the gaps by googling your way into becoming an “expert.” When it comes time to find a new job, you now have years of experience in this framework, but that might not land the role you really want.

I used to have the “become an expert” mindset. I spent many years trying to master PHP and a framework written in it. Then I found myself stuck: expertise in the framework just led to more work in that framework and nothing else. I wound up spending nearly a decade in it, which is an eternity in Internet years! I could have moved on more quickly if I had stopped to ask really important questions like these:

  • What problem is this framework trying to solve? Do I want to solve that problem?
  • What is this framework offering me now versus what it offered me originally?
  • Is there something else that can deliver value and quality more quickly?
  • Am I leading the work I’m doing or is this framework leading me?
  • Am I truly enjoying this or am I just comfortable with where I am now?

For the most part, I stuck with the tool I knew. I would occasionally learn newer JavaScript and CSS techniques for specific projects, but they all got tied back to building expertise in the framework. I spent years as a freelancer doing related websites and web applications because it was what my clients wanted.

I might have ultimately been happier learning a different language, like Python. That would have allowed me to take on projects involving geographical information and spatial analysis, which I would have personally found interesting. However, I never did so because maintaining and expanding my current expertise was the top priority.

I eventually did move away from freelancing and into full-time jobs. At one of them, I picked up Ruby on Rails, because the project I was working on was based on it. After a while, I found myself in a familiar situation: I knew enough about Rails to be productive, but Rails was leading me more than I was leading the work. I wanted to move on to something new. So this time, instead of trying to double down on Rails expertise, I decided to try a new mindset.

I started a side project to do some experimentation. Through this project, I found myself evaluating different frontend frameworks. Once I tried a few of them, I finally settled on React. React was the #1 choice for frontend development at the time: it had great documentation and wide adoption.

After playing around with React more, I soon had a working project I was ready to share on LinkedIn. Posting this led to interviews for jobs where both Rails and React were being used together. Ultimately, I was offered Senior level engineering positions and accepted one of them.

If I had tried to push for React on the project at my old job, I would have received significant pushback. Most of the JavaScript was already in place, there had already been a failed attempt at implementing Angular, and there was understandably very little appetite for doing rewrites. Besides technology stack issues, I would also still have been quarters or even years away from getting promoted. Instead, by evaluating the environment around me, I correctly determined that learning React was an investment that was going to get me a return. I was able to both get a promotion and work with newer technology I was interested in.

Programming languages, frameworks, and methodologies are here to serve you, not the other way around. Take charge by coding like an investor! While it’s important to learn the stack used at your job, It’s also very easy to get stuck in the expertise trap. Don’t do that! Instead, invest time in learning tools that will yield a return.

Randall LeBlanc

Retired from IUP

9 个月

For years I worked at a job that required a specific set of skills. Unexpectantly, I was thrust into a special project that required me to leave my current position (and location) and venture into the unknown. I started to acquire new skills and made use of many of the skills acquired in previous positions. That's when in really sunk in that what I was really building was a personal toolbox. This was confirmed when the project was over and I retruned to my previous employment location, but in a completely new role. As I encountered tasks in my new role I found myself picking the right tool (and many times a combination of tools) to address each challenge. Sometimes I would start with the most effecient means to a solution, and then move to another tool that someone else could easily manage once the problem was solved. The point is don't limit yourself to one approach. Take out the tool you need to get the job done, and if needed don't be afraid to use another tool as you progress through the task.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了