What qualities should a senior developer have?

Most junior-developers want to become experienced senior developers but how does one become a senior developer? What does one even need to know to become a senior developer. In most companies you will become a senior developer after working there for X years. But what qualities should a good senior developer have?

Technical skills are secondary

Maybe you believe that a senior developer must have godlike technical abilities, that he or she knows every framework out there. The truth is technical skills are important but the soft skills are more important.

A senior java developer will still be a senior developer when he has to work with a new language.


A senior developer teaches others

A good senior developer will teach others and make the whole team better. He will give guidance and direction when things get unclear. A good senior developer therefore has to be also a good teacher.

A senior developer knows what he dont knows

A good senior developer knows that he doesnt know everything but he is able to identify his knowledge gaps and do the necessary research to fill the gaps. He is able to better estimate projects as he is able to see common pitfalls and hurdles.

A senior developer can communicate efficently

A good senior developer can communicate efficently with clients and other developers. He is able to gather requirements from customers and able to explain technical concepts to non-technical people.

A senior developer has worked in lots of different projects

A good senior developer has worked in lots of different projects and therefore gained a lot of experience with a varity of frameworks, languages, environments and clients.

It takes time

Senior developers are made and not born, so it takes time to aquire the necessary skills for becoming a senior developer.

But you are not alone, join the newsletter for weekly insights on how to become a better developer.

How to not get overwhelmed while learning web development

Are you overwhelmed by trying to learn everything there is to know about web development?

Web development is a broad field with many technologies and i can be quite overwhelming to learn if you dont start learning with a specific plan. The tips below will help you to get a structured overview about web development.

Cover the basics HTML/CSS

Before you dive deep into the web develpoment hole its a good idea to learn the basics of HTML and CSS. Make sure that you are able to build simple static HTML pages before you learn any fancy framework.

Learn about Frontend development

Frontend develpoment mostly means Javascript so learn the basics of javascript after you have mastered HTML and CSS. Once you are familar with javascript you can move on to learn about frameworks like React or Angular.

Learn about Backend development

Once you are familar with the frontend side of the application you can start learning about the backend. NodeJS lets you build a backend in pure javascript but most backend functionallity is written in PHP / Java or another language.

Learning by doing

Its important to practice by building projects. Its important that you start small and iterate so that you actually will finish your project. I wrote an entire blog post about how to choose a great project: http://junior-dev.com/2019/04/01/how-to-choose-the-perfect-side-project/

Learn one technology at a time

Dont try to learning everything at once. If you are new to programming stick with one programming language.

A structured learning path to frontend development

The best way to learn front-end development for free is: freecodecamp.com. It provides a structured course from zero to full-stack development.


Formal Education or self thought developer?

You want to become a developer but cant decide if you should pursue a computer science degree or teach yourself?

Lets talk about the pros and cons of each option.

Formal Education

Advantages

A good formal education will teach you everything there is to know. You will follow a highly efficient curriculum. Compared to self though developers you will have smaller “knowledge gaps”.

A degree will greatly improve your chances on the job market

You have a group of peers to work with and help each other out.

Disadvantages

To study full-time for three to four years can be a big financial burden.

Studying is very time consuming. You have to follow a fixed curriculum and cant work at your own pace.

It takes a lot of time and depending on your situation you maybe are not able to finish your degree.

Become a self thought developer

Advantages

You can study on your own schedule at your own pace.

Depending on your goals you can continue to work while studying on nights and weekends.

You can study the things that interesst you.

Beeing a self-thought developer shows great passion and work-ethic to a potential employer.

You can design your own curriculum.

There are a lot of free resources out there that can teach you the fundamentals.

Disadvantages

Without a degree its harder to get a job. You have to do mork to convince employers that you are a good hire.

Becoming a self thought developer might be a very lonley challenge, try to find mentors or peers which whom you can study together.

When designing your own curriculum the chance of “knowledge gaps” might be bigger as you dont know what you dont know.

Conclusion

Pursuing formal education is a safer choice in most cases then trying to get a job as a self thought developer. But often personal situations or circumstances wont allow the time and financial commitment of a three to four year degree, in this cases going self-thought is the better option.

After all its a highly personal choice that has to be choosen wisely.

How to handle imposter syndrome as a junior-developer

Hello, a common question that pops-up all the time is “how to handle imposter syndrome”. Especially as junior-developer you might feel overhelmed at times. Let me tell you that this feeling is completley normal and everyone feels the same.

Software Engineering is a difficult field that moves at a fast pace. Nobody can know everything there is to know about development. Its plain impossible.

Even experienced developers are confronted with situations where they have to you a new paradigm or framework. Its your job to learn about these unknowns.

Feeling imposter syndrome therefore means growing your skills.

Just in time learning is real

Learning stuff as you go is a real and common practice in software enginneering. Is not by accident that stackoverflow is the most important website for developers of all kind. Just in time learning is a valuable skill own its own that every software developer needs to fullfill his job.

Accept that you will never know everything

Accepting that you will never know everything there is to know can be encouraging. Stay humble and accept that you will forever be a trainee in the field of software engineering.

It gets better with experience

Even tho imposter syndrome never really gets a way, it will get better as you gain more experienced and are more comfortable in your situation. So dont be discouraged, there is a small light at the end of the darkness that is imposter syndrome.

at work

Are you expected to learn frameworks in your freetime?

So i recently came accross a question that asked:

Are you expected to learn frameworks in your freetime?


Well technology moves forward at a very fast pace, and it can be hard to keep up. The mayority of your learnings should happen during work hours but unless you work 70 hour weeks you probably wont keep up with the latest trends.

That said not every company uses the latest cutting edge technologies, my current customer still uses java7 for example, so not every company has the pressure to keep up with the latest technologies.

I personaly stay informed about the latest trends via weekly development newsletters, one i can recommend is: https://programmingdigest.net/

Everyone has to decide for himself or herself to which extend he or she wants to sacrifice her freetime to keep up with the latest frameworks.

Personally i think as software professional you have to be curious and spend some of your freetime improving your skills.

If you want to become a better developer you might want to consider joining our newsletter for helpful weekly emails about software engineering topics.