1. The Complete Web Developer in 2018
An often overlooked aspect of learning is that you need to specialize and focus solely on one thing. However, that is not how life works. It is very rare in life that you require just one skill. Especially in a field like technology where things are changing (who knows what Machine Learning engineers will be doing in 5 years?), you need to have a diverse set of transferable skills that will translate into you being adaptable.
Disclaimer:As with all things in life, you can always set your own path. Although this is not meant to be the only way, it is a method that I have discovered in my own career, and through many conversations and interviews I have had in the past year with people I consider senior and respected programmers in the community. I have accumulated all of the commonalities into this post. Underneath all of this is not just an article on how to become a better developer. It is a how to guide on optimizing your time with efficient and useful tools so that you get the most out of your life. You can take this sort of learning anywhere in the future.
We want to be respected by our coworkers
Update: Weve passed 40,000 students from over 180 countries who have enrolled in 6 months.I still want to support the learning spirit, so use the coupon codeKHDKA7166for a nice discount.
We dont want to go through life being seen as incompetent
The Developers Edge: How To Become A Senior Developer
This is an often overlooked skill. How do you work with team members? Are you brash and opinionated with PR (pull request) reviews, and contribute to a toxic culture? Or are you considerate, cooperative and encouraging of your team members? Senior developers dont have large egos. They know they are good, and dont need to prove themselves to others. They write clean simplistic code rather than code to try and show off their skills which is unreadable to the other team members. They are willing to help others, and they are willing to ask questions when they dont know something.
2. Complete Junior to Senior Web Developer Roadmap
Senior software developer. Currently teaching 50,000+ developers around the world modern skills. Say hi @andreineagoie
We all strive to be better at our jobs. What the specifics of that statement may be is up to the individual person. However, most people can agree on a few common things:
Senior Developers are able to get themselves in senior roles because they are able to communicate and sell themselves to people making those decisions. You are able to see the needs of your employer or business, and you can instil confidence in them that you are the person to solve it. Youre confident but humble. Senior developers are also confident enough to take on those roles and be able to perform under pressure. They also know that if you never ask the answer is always no, so they ask for promotions, or roles that challenge them because they believe they are the right person for the job. Although sales and negotiation may be seen as sleezy to some, it is a valuable skill that you need to acquire. Ramit Sethi has agreat articleto get you started. Although it talks about salary negotiation, some of the principles can be applied to other scenarios.
From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.
Like what you read? Give Andrei Neagoie a round of applause.
This is whereemotional intelligencecomes in. Social psychology is an important tool to improve this skill and there is nothing better than the famousHow to Win Friends and Influence People.Remember: how can you make those around you better? If you have 5 people on your team, 1 + 1 + 1 + 1 + 1 should equal greater than 5 because you make those around you better (Im getting evil eyes from math purists nowI shall move on).
Senior developers are always learning something new each day. That doesnt 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 speak to other developers, ask questions, or explore new topics. They dont focus on just one skill set. You can be the best in the world at making one thing, but if you dont know the whole spectrum or have a general understanding of what problem you are solving, you are no longer the best.
They dont just say Oh I hate this library! Most of the time, people who say these sort of things hate something because they dont fully understand it. For example dont just say I hate jQuery. Only bad developers still use jQuery and sound pompous. Senior Developers say jQuery was instrumental in the development of the web and the popularity of javascript. They have opinions that can be changed because they enjoy learning from others, and they try new concepts before they decide they hate something.
Are you able to talk to a client or user and clearly see what their needs are? When they suggest something to you, do you understand what problems they are facing? A senior developer is somebody that can be left alone with a client and can be a great listener, and then offer advice on what the best steps are to move forward. They are great at forming relations. They are not a pushover, but they dont push their opinions on the client. They understand that the goal is a non zero sum game where both client and developers gain from the interaction. Have a read throughthis bookto work on this skill.
In order to achieve the above, we cant just rest on our laurels, and expect things to come to us. Especially in the world of programming, where the technology is always changing, and the amount of information available to us is overwhelming, we want to focus our attention on growing and learning without burning out. With more and more developers coming out of colleges and bootcamps, we need to keep our skills sharp, and the way to set yourself apart is to be smart and efficient when learning. Enough talk, lets dive in. As always we will try and take the best approach.
Start listening to podcasts likeSoftware Engineering DailybyJeff Meyersonso you can stay current on the present issues and future outlooks of the whole industry.
Finally, you need to be able to explain complex programming concepts to a non technical person. Start developing this skill by watching great instructors break down complex topics.Here is my favourite instructor, and mysecond favourite. Although they are teaching difficult topics, you can observe some commonalities between them that make them both great instructors.
Thank you for reading this far. Sorry for the long post, but if you enjoyed this post, please share, comment, and press that ? a few times. . .Maybe it will inspire someone to make the jump into a new career.
This is Part 2 of a series of articles for programmers looking to upgrade their skills.Part 1took us through the very beginning stages where we set out to find the most efficient way to go from zero to an employable developer. Today, we are going to take things a whole lot further. I also just released two online courses for developers:The Complete Web Developer in 2018andThe Complete Junior to Senior Web Developer Roadmap
If you are able to actively work on the above skills, you will set yourself apart immediately. However, I have left the most important topic out of this list: You enjoy what you are doing. If you dont enjoy learning everyday about computer science and software development, you will never become a senior developer because you wont have the drive to be better over the long term. If you have ever readSo Good They Cant Ignore Youyou understand that passion has been over-hyped. The real passion comes after you have mastered a skill. You have worked hard to become proficient and a leader in a field. You have developed those skills and now the respect and the benefit you provide to others pushes you to become better and better to get more of these good feelings. Thats how youdeveloppassion for work that you do.
This is usually the first skill that comes to mind for most people. Hopefully by this point you are convinced that it is a small slice of a much larger pie. Dont get me wrong, you do need this skill and you cant fake it. However, you can be smart about what you focus on. Senior developers spend time understanding theWHYof a technology. Why does this problem exist? Why does this framework exist? What problem is this library solving? As a developer, you need to have a good sense of all of the tools and ideas that can benefit the development lifecycle and pick the tools that will have the biggest positive gain on a project. Instead of focusing on every single new release feature of this super fancy testing framework, they focus on the pros and cons of each testing framework when trying to solve a real problem for the company. They ask questions like What can be improved in ourContinuous Deliveryprocess to provide a better product?
Climb up that knowledge ladder. Hipster shoes not required.
Senior developers contribute to the developer community. Whether it be by doing tech talks, speaking at meet ups, contributing to open source, or even writing articles. They are the type of people that share information with the industry. Instead of being in a closed off box of just their working space, they go out and communicate with people in other communities which allows them to broaden their horizons. Its kind of like travelling: 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.
This is the section all of you have been waiting for (or so I am imagining maybe nobody reads thisIn which case ill just keep talking to myself). Lets dig in and see if we can make it through everything. Follow the below resources and spend some time learning about each topic. If you are able to actively work on the below skills, you will be miles ahead of everybody else. I call this theDevelopers Edge: there will always be people with more experience than you in a field, but you can work smarter, and in a more efficient manner to accumulate different combinations of skills to set you apart. This not only makes you a better developer, it also increases your overall happiness because you are providing real value to people.
An example:If I was a Javascript Developer (which I am, so lets not play pretend here)this coursebyCory Houseis a great example of the things you would need to know to connect the dots on the javascript environment. Once you have a good grasp on the tooling and technology in your industry, you need to create a mind map of what problems products face as they scale, and when premature optimization is a bad thing. By having this connection in your head of all of the above, youre able to focus the resources of your company on the things that matter most by having a broad view instead of a narrow focus.
This article is for all the developers, coders, programmers out there who are looking to make a jump in their career after having had a few years in the industry (or you may be just starting out but would like to see the sort of path you have to go on). This article is for those with a simple desire: You want to be considered aSenior Developerand you want to excel in your field. By the end of reading this, you will have a set path with a list of the best resources for you to level up and become a senior developer. Woaa! bold statement. Hope I got you hooked. Lets dive in.
Follow me onTwitterand Medium if youre interested in more in-depth and informative write-ups like these in the future!
I created two online courses:The Complete Web Developer in 2018andThe Complete Junior to Senior Web Developer Roadmap.In the first one, I walk you through the entire steps I mentioned above if you want everything in one place, extra help or you want to support my work. Each course has over 100 HD videos and 30 hours of content. They took an insane of hours to make. But Im really proud of how everything turned out. Im releasing it to the world today, and since its the holiday season, you can use coupon codeRELEASEYA77and the course will only be $10 (Available to the first 100 peopleUPDATE: Sold Out)
Senior software developer. Currently teaching 50,000+ developers around the world modern skills. Say
No, being a polyglot who can code in 10 different programming languages and has built their own version ofJarvisdoes not make you a senior developer (although you are very talented). This is because a senior developer is someone who brings an incremental benefit to the table. It is someone that makes people around him or her better, and is someone that is able to have a long term vision, deliver, and consistently produce business value. You can know all the cool functional programming techniques in the world, but if you are unable to communicate well with your team, or you are not able to focus on delivering actual value to a customer, you are not a senior developer.This is the important point: What value do you bring to your company/startup/business? If you are one of the few people who can bring order of magnitude (some people love the idea of 10x ) value to your company or business, you are a senior developer. Senior Developer is not just another job title, but rather, the ability to use your experiences to provide real benefit to the stakeholders.
If you have come out of a coding bootcamp, or you dont have a computer science degree, you need to start learning about data structures, algorithms and other computer science topics. Why? Because although frameworks and technologies change, the main principles in computer science (mostly) stay the same. By understanding these higher level topics, you are once again able to see that most software problems and good practices are generally constant throughout different languages and time.This bookRob Conery) andthis bookGayle Laakmann McDowell) are probably the best tools I have found to level up your skills in this. Although they only scratch the surface, it will set the foundation for more learning in the future.
Finally, readthis great articlewhich goes through the some subset skills from a purely technical standpoint.
If you are the type of person that any project you get put on, or any team that you are a part of, you are able to get along with your teammates and make others work well together, youre already miles ahead of most people. You also make managers, directors, scrum masters, and CTOs lives easier. Those are the people that get promoted, and more importantly, those are the people that provide the most value to a company.
These are the6 core skillsyou will need to be considered a senior developer:
They also understandHOWthings are connected. To get started on thinking like this,mind mappingis a great tool to get familiar with. It is essentially a tool you can use to really push learning to the next level (Here is a great example of mind mapping for Javascript developers). This mind map helps your brain make connections between different ideas and technologies.
They have agrowth mindsets(believe that intelligence is malleable) and they believe indeliberate practice(just click on the link. It is gold). They understand that learning everything is impossible and they chose to spend their time on things they enjoy and things that matter most.
We want to feel smart and accomplished
If you have learned to code and are looking for the next step in your career you need to think differently. How are you able to stand out? How are you able to grow? How are you able to help people solve real problems and provide value? You become a senior developer by not doing the easy things. You do the things that push and challenge your mind and comfort level. You learn and you adapt day by day just like you did the first time your wrote that first piece of code. Each step will be small, but in a span of a lifetime, a small step turns into miles. Never stop reading and never stop learning, but also know whats a valuable use of your time and what isnt.