A Brief Introduction to 30K Programmers: How to Become a Senior Developer

This post is for all developers, programmers and programmers who want to make a breakthrough in their career after having been in the industry for a few years (or maybe you are just starting out, but hopefully you can see your path) . This article is for those with a simple desire: you want to be a senior developer and want to excel in your field. After reading this article, you will have a set of paths with a list of the best resources for you to level up and become a senior developer.

Disclaimer:
As with all things in life, you can always set your own path. While it's not the only way, it's one that I've discovered in my own career and through many of the past year I've conducted with people I consider to be senior and respected programmers in the community Conversations and interviews. I have accumulated all the commonalities of this article. All of this is not just an article on how to be a better developer. Here's a how-to guide on how to use efficient and practical tools to optimize your time so you can get the most out of your life. In the future, you can do this kind of learning anywhere.

I am an iOS developer. Friends who want to know more about this industry can follow me or send me a private message.
iOS learning exchange group: 638302184, there are systematic learning tutorials, learning routes and detailed planning in the group, hoping to help developers avoid detours.


what do we want?

We all try to do a good job. The specifics of this statement may depend on the individual. However, most people can agree on a few common things:

  • We don't want to live a life that is seen as "incompetent",

  • We want to be respected by our colleagues

  • We want to feel smart and we do

  • We want to feel appreciated

In order to achieve the above goals, we cannot just stop at our abilities and expect things to happen. Especially in the field of programming, technology is constantly changing and the amount of information at our disposal is so great that we want to focus our attention on growing and learning rather than exhausting it. As more developers come out of college and boot camp, we need to keep our skills sharp, and the way to differentiate ourselves is to be smart and productive as we learn. Talking a lot, let's dive in together. As always, we will try and take the best approach.

What is a senior developer?

Being a polyglot programmer who can code in ten different programming languages ​​and build your own version doesn't make you a senior developer (although you're very talented). This is because senior developers are the ones who bring incremental benefits to the company. It is a person who can make the people around them better, and can achieve long-term vision, realize and continue to create business value. You can learn about all the powerful programming techniques in the world, but if you can't communicate with your team, or focus on delivering real value to your customers, you're not a senior developer. This is the important point: what value do you bring to your company/startup/enterprise, if you are one of the few people who can bring orders of magnitude (some people like the 10x idea) value to your company or business One, then you are a senior developer. Senior Developer is not just another position, but the ability to use your experience to provide real benefits to stakeholders.

How do I become a senior programmer? get it.

This is the part you all have been waiting for (or so I imagine... maybe no one reads this... in which case I'll keep talking to myself). Let's dig a little deeper and see if we can get everything done. Follow the resources below to spend some time learning about each topic. If you can actively research the skills below, you will be way ahead of anyone else. I call this the developer fringe: there will always be people with more experience than you in a field, but you can work smarter and build up different skill sets in a more efficient way that sets you apart. Not only does this make you a better developer, it also increases your overall happiness because you are providing real value to people.

An often overlooked aspect of learning is that you need to focus on one thing and one thing. However, this is not the way of life. Very rare in life, you only need one skill. Especially in a field like technology that changes (who knows what a machine learning engineer will be able to accomplish in 5 years?), you need to have multiple transferable skills that will translate into adaptability.

These are the 6 core skills you need to be considered a senior developer:

1. Technical skills

This is usually the first trick that comes to most people's minds. Hopefully by this point you believe it's a small portion of a bigger pie. Don't get me wrong, you do need this skill, and you can't fake it. However, you can be smart about what you care about. Senior developers take the time to understand Why's technology. Why does this problem exist? Why does this framework exist? What problem does this library solve?

As
a developer, you need to be aware of all the tools and ideas that benefit the development life cycle and choose the tools that will get the most benefit in your project. Instead of focusing on every new version feature of this super fancy testing framework, they focused on the pros and cons of each testing framework when trying to solve real problems for the company. They ask "What can we improve on our ongoing process to provide a better product?"

They also understand how things are connected. To start thinking this way, mind maps are a great familiarization tool. It is essentially a tool that can be used to take learning to a higher level. Mind maps help your brain make connections between different ideas and techniques.

Case in point:
If I'm an iOS developer, once I have the tools and techniques in the industry, I need to develop a mental map of what problems the product faces as it scales, and when premature optimization is a bad thing. By mastering this relationship in all of the above, you can focus your company's resources on what matters most through a broad perspective rather than a narrow focus.

If you came out of boot camp, or you don't have a computer science degree, then you need to start learning about data structures, algorithms, and other computer science topics. Why? Because while frameworks and techniques have changed, the main principles of computer science have remained (mostly) the same. By understanding these higher level topics, you can again see that most software issues and good practices are often constant across languages ​​and times. This book (Rob Conery) and this book (Gayle Laakmann McDowell) are probably the best tools I've found to improve your skills. Although they are only cosmetic, they will lay the foundation for future learning.

Start listening to podcasts like Software Engineering Daily so you can stay informed about current issues and future prospects across the industry.

Finally, read this article for some tips from a purely technical perspective.

2. Team Skills

This is an often overlooked trick. How do you work with team members? Are you outraged and opinionated about PR comments and have contributed to them? Or are you considerate, cooperative and encouraging to your team members? Senior developers don't have big egos. They know they are fine and don't need to prove themselves to others. They write clean and simple code instead of writing code to show off skills other team members can't read. They are willing to help others, and when they don't know something, they are willing to ask questions.

This is where emotional intelligence comes in. Social psychology is a great tool for improving this skill, and nothing beats How to Win Friends and Influence People. Remember: How can you make the people around you better? If you have 5 people in your team, then 1+1+1+1+1 should be greater than 5, because you can make the people around you better (now I get evil eyes from math purists.. ....).

If you're a participant in any project, or any team you're a part of, then being able to get along with your teammates and get others to work together, you're way ahead of most. You can also make life easier for managers, supervisors, Scrum masters and CTOs. Those are the ones who get promoted, and more importantly, the ones who provide the most value to the company.

3. Customer/User Skills

Are you able to talk to customers or users and get a clear understanding of their needs? Do you understand the problems they face when they give you some advice? A senior developer is someone who can work independently with clients and be a good listener, then advise on the best steps to move forward. They are great at building relationships, they don't push their opinions to the client. They understand that the goal is a non-zero-sum game where both clients and developers benefit from interaction.

Finally, you need to be able to explain complex programming concepts to non-technical people. Start developing this skill by watching God break down complex topics. Although they are coaching difficult topics, you can observe some commonalities between them.

4. Growth Skills

Senior developers are learning new things every day. That doesn't mean they spend 14 hours a day sitting in front of a computer reading articles. They are more efficient than that. They are always looking to talk to other developers, ask questions or explore new topics. They don't focus on one skill set. You can be the best person in the world when it comes to doing one thing, but if you don't know the whole scope or have a general idea of ​​what problem you're solving, then you're no longer the best.

They have a growth mindset (believe that intelligence is malleable) and they believe in conscious practice. They understand that it is impossible to learn everything, and they choose to spend their time on what they love and what matters most.

They don't just say "Oh, I hate this!" Most of the time, people who say these things hate something because they don't fully understand it. For example, don't just say "I hate Switf. Only some developers use Switf" and get famous. "Switf has played an important role in iOS development," the senior developer said. Their perspectives can change because they like to learn from others and try out new concepts before they decide to "hate" something.

5. Sales/Interview Skills

Senior developers are able to position themselves in senior positions because they are able to communicate and sell to the people who make these decisions. You can see what your employer or business needs, and you can instill in them the confidence that you are a problem solver. You are confident but humble. Senior developers are also confident enough to take on these roles and can withstand the pressure. They also know that if you never ask and the answer is always no, they will ask for a promotion or challenge their role because they think they are the right person for the job. While selling and negotiating may seem unremarkable to some, it's a valuable skill you need to master. There is a great article. While it talks about salary negotiation, some of these principles can be applied to other situations.

6. Community Skills

Senior developers contribute to the developer community, whether it's giving tech talks, speaking at meetups, contributing to open source, or even writing articles. They are the ones who share information with the industry. They're not just locked in closed boxes in their workspaces, but interacting with people in other communities and allowing them to broaden their horizons. It's a bit like traveling: the more cultures you meet and talk to, the more you understand the similarities and differences between people, and the more you start to appreciate it.

One last thing

If you are able to actively work on the above techniques, you will be instantly enthusiastic.

I've left the most important theme from this list: you like what you're doing.

If you don't enjoy learning about computer science and software development every day, you'll never be a senior developer because you won't be better motivated in the long run. If you're so good they can't ignore you, you understand that passion is overhyped. True passion comes when you master a skill. You have worked hard to become a leader in your field of mastery. You've mastered these skills, and now the respect and benefits you offer others push you to become better and better, and thus gain more of those good feelings. That's how you developed your passion for work.

Conclusion

If you've learned to code and are looking for the next step in your career, you need to think differently. How can you stand out? How can you grow? How can you help people solve real problems and provide value? You don't do simple things to become a senior developer. You do things that push and challenge your mind and comfort level. You have to learn and adapt day by day, just like you wrote the first piece of code for the first time. Each step is small, but in a lifetime, a small step can turn into kilometers.

Never stop reading, never stop learning, but also know what is your precious time and what is not.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324987302&siteId=291194637