My Software Engineer Roadmap. — SheCanCode

Soft Skills

Much could be said about this topic, but overall this is a topic very dear to my heart. Because having knowledge is not all there is for being a successful Software Engineer, that brings value into the table.

It would be great if you are able to apply all your knowledge at every given situation. But then, it comes this day, with a Production environment issue with the Project Manager calling you every 5 minutes to check on it, and you already feeling a small drop of sweat in your neck with the stress building up. Wouldn’t it be great, at this point, for you to still be at your A game?

Wouldn’t it be awesome, if you are able to transmite all that you have gathered as experience over the years, to your fellow colleagues, and keep a great collaborative environment, even if there was this situation with a co-worker that is nagging you a bit?

And how about being in a meeting with the customer, and really be able to influence the decision of the most sceptical of the IT managers, towards what you believe really will bring the value to their company?

So, this is where this proposal of steps in my roadmap have entered. As a way, not to forget that soft skills are as important.

So, I will definitely go deeper into this in a later article, but I see this in 3 sections:

Me: tools for self regulation of emotions (stress, anger..), so that I can be in a state that suits me. For example, going into a meeting with a calm state. See what helps you. Might be as simple as thinking about your kid at home and the last time he gave you a big hug.

Team: communication is paramount, so being able to practice non violent communication for example, focused on the facts, and being open to a different point of view on the other side.

Project/Customer: Influence techniques, here are very useful. As for in a positive way to transmit a given view, but also actively listening to the other part. Here, the creation of Rapport, is really important.

How

There are several ways to learn for any given subject. But all depends on what is your way to learn and what works for you! Also some subjects might benefit from a more hands on approach, others from a more conceptual form! So in the next articles I will explore in more details the above areas and what resources would be a good help in its journey to learn, but for now here it is a list of possible approaches to learning.

Read a book

There is in now way better for the most abstract concepts. Why? Because you will find in books authors with proofs given in the area,

Do a course

Sometimes there is no better way than to find an accredited professor with proofs given in a certain area and learn in a formal way. Back to school mode! There are great technical people out there launching updated courses on a great variety of areas! Worth checking and this is less time consuming then going for it yourself or even reading a book! As a transversal hint to all the presented resources is that keep a critical spirit to what is presented to you!

Follow Someone

There are also great resources that people, working in the field, having the same issues as you, put out there! Videos, articles, podcasts, tutorials! The amazing world of the internet! Find your subjects of interest, find your persons of interest and start to check out what they put out there! This might be one of the best ways to learn! Just make sure whomever you follow has a solid background, and you are all set to be up to date!

Join an open source project

Participate on an open source project is a great way to put your skills to practice, upscale them and also contribute into the community. Also you will have a showcase of what are your skills to the outside world!

Some examples of good open source projects for beginners

https://github.com/MunGell/awesome-for-beginners

Develop your own project

Just think about something that really interests you, or might came in hand. My last project was making a Pokémon deck API! What a fun time! Other alternative is of course do a quick search and many ideas will pop up!

Do a certification

Sometimes having an exam scheduled and 2 pages of topics you must master for it, is a good and structured way to go deeper into a given subject. It can be argued if a certification really gives you the tools to work on a given technology, but there are areas where it is a good way to start on it.

Find a mentor or be a mentor

This for me is one of my favorite ways to keep up my continuous learning and improvement! Really making use of the work environment for knowledge share! Either being a mentor, that really makes you step up your game, or having someone that can guide you in your first steps! This can also work by just finding a colleague that is on the same path as you, and so instead of you and your head find the best resources now there are 2! Also it is so much more fun!

Xổ số miền Bắc