How to evolve with your Team

How to evolve with your Team

Latrache Abdel
CodeX

--

In this article I’m going to share the experience I had over the first 7 months as a software engineer at SYNDIKAT7, I would share my learning curve and provide you with some tips and hints to help you improve your skills and team connections. This article is meant for education propose and knowledge sharing.

Dedication:

Huge thanks to SYNDIKAT7 Team for the effort you put into me and for the support you are given 🙏.

And special thanks to my mentor and colleague and engineering team lead Dr.Pascal Giessler @Pascal Giessler at SYNDIKAT7, for supporting me in my software engineer journey with your pieces of advice that have given me the chance to progress and learn and evolve.

1. What can you learn to form this

If it is your first work experience as a software engineer, or you want to have a better first experience as a software engineer or improve your current progress and your connection with your team, then this is what I will be explaining, and sharing in this article. You will learn how to keep up with the hight trained team and get up speed to learn your way to their level in a short term using best practices to success, focusing on the quality of progress, also you will learn how to build a great relationship with your colleagues, and keep your learning curve exponential, and stay up to date.

2. First Months

In the very first month as a software developer, I was super excited about being among the highly scalable team and getting to work on complex projects using various technologies and infrastructure, focused on micro-services management and cloud architecture and development.

2.1 At First

a week before I started I shared an introduction of myself as a pdf to my team members, to explain to them who I am, how I work and what is my thinking on solving problems and social demands, also highlighted some funny points about myself and also a small introduction about my family.

Recommendations:

  • I highly recommend sending a small introduction (Hi, nice to meet you!) to your colleagues, this will boost your relationship with your team. an example doc of (Hi, nice to meet you!), to help you start writing your introduction to your team!

3. TEAM

The engineering team is the most important asset in the company, so think that every resource will be spent to make the team highly effective and productive, which adds to choosing the right colleague for them too

I got introduced to my team and their qualification (DevOps/ full stack / strong suits (frontend and backend)).

My team members were highly trained and qualified with over 9 to 12 years of experience in the field, this information has given me an overview and insight of the teams and the projects.

The team made great effort on my first steps, helped me get what I needed, and get me on my foot, I kept the communication with them at first very smooth.

Recommendations:

  • Give your best to the team and build bridges and connections with them.
  • learn as much as you can from your colleague, ask constructive questions, and do your research from that.

4. Experience and baggage

What I brought with me as baggage, was nothing compared to what I have being introduced to. But I was excited and at the same time had this unsecured feeling, and somehow lost confidence in what I learned so far, but this was just sensation and first feelings.

The learning method I got from 42 school helped so much over the first weeks to get to learn all of that knowledge needed to level up to project qualifications and improve my progress.

The method of learning at 42 school gives me confidence in learning, no matter how hard it is.

I have kept track and noted down everything I have learned/solved, this helped me keep track of my progress.

Recommendations:

  • The learning curve will be so high and exponential, so try to get as much can of knowledge and practice.
  • try to stay up to date and take some time up to 30 minutes a day to read books and articles (medium, stack-overflow) about best practices and ways to use such tools/framework, always think about the design of the solution, not the solution, by defining well the problem and deeply understanding it, also by making research of the better way to solve a problem.

I kept improving communications and bridges with my team and colleagues, as I believed the team is going to be a great help to provide you a smooth transition to better software engineer,

most importantly the team is going to be my peer reviewers, so they can provide constructive feedback that would help you shape your coding skills.

Recommendations:

  • I highly recommend building your communication and confidence with your colleagues as they are going to be your peer reviewers and first steps help, to help you get to their level, and once you show the motivation to learn and the willingness to change for the better, they will consider taking further steps on investing on your progress and development, because everything may seem complicated at the beginning, so surfing your way through it may be difficult.

5. Coding

One of the most important aspects of delivering work in the company is delivering high code quality, with best practices, well-designed solutions, and documentation, this was a bit challenging for me at the beginning, but I overcome this by taking time in the evenings to read about the best practice on implementing such services or solution (Golang best practice, react way and best practice, NodeJs best practice).

As a full-stack developer, you interact with various programming languages and open sources programs. this is helped so much to get rid of the fear of learning new programming languages or implementing any services needed.

As my mentor always suggests: the Power of Questions. Ask questions to yourself to strengthen your understanding — do not copy from external sources.

Recommendations:

  • There is always a best practice way to implement a solution, and you need to keep in mind that there is always a trade-off in the solutions you present, you never get the best on what you want, but you can choose the best fit for your solution (programming languages, packages manager, database).
  • Ask questions to yourself to strengthen your understanding — do not copy from external sources.
  • Surfing through open source projects, and seeing how they solved particular problems inspires you on writing clean code and best practices, this way I got a lot of handy solutions to provide and use.

example :

  • how to mock HTTP requests in Golang
  • The best way to write testing in Golang
  • naming conventions in Golang
  • PostgresSQL transaction
  • react way of component structure
  • react way of state management & async thunk
  • Open API specs best practice.

6. Feedbacks

Going through code review is amazing, as you have already experienced this with your peers at the school or with “Moulinette”.

as you might know, “Moulinette” is not forgiving, but it is really good practice to have, as in the real world, getting peer review will give you good constructive feedback on your performance, but also ain’t easy to get one, because it is a very expensive resource, your colleague has to make time! and effort! to go through your code and highlight the part to be improved, that’s why practicing review with your peers and “Moulinette” is amazing, so when you are submitted to peer review, you make sure all these tiny issues are solved and you wanted that your colleague focus on more complex issues to be improved for example:( best practices, code Algorithm, and the performance)

Recommendations:

  • Getting feedback from your colleague is a huge thing to consider, you need to dive deep into it and make sure that you don’t repeat the same mistakes. Also, I highly recommended replying to the feedback, by expressing how grateful of the opportunity of getting a review and advice from your colleague, and thanking the reviewer for the time and efforts put into putting this constructive feedback, that would shape your path to becoming a better software engineer. and helps strengthen your relationship with your colleagues, and also will show your motivation for learning and progress.

7. Practice:

Of course, the key to getting familiar and up to speed is practice!

try to practice at least twice a week on what you have learned, and make sure you look at the documentation and code practices to get more comfortable with the tools and the solutions.

Recommendations:

  • What helped me a lot in practice, is making small personal projects based on what I learned.
  • Also contributing to Github/open source projects, give me a huge advantage to not just practice what I have learned, but also perform better at it.

8. Summary

I would like to share with you to advise that I feel is important to keep in mind:

strengthen your communication and relationship with your colleagues.

stay humble and grateful for any feedback or reviews you get.

be positive and motivated, and work to improve your presentation skills.

Learn to write a draft on how you want to implement a solution (some key points), present it to your colleagues and ask for their opinion, this would save you much time and effort, 4 eyes are better than two!

Ask Why/How to your code, and see if there is a better way to write a code and to make it resilient and readable for others, at the end your code will be used in productions and for your colleagues and clients to maintain after, so make sure you sell a hell of a code.

practice smarter not harder (open source projects / contribute/build personal projects based on what you learned ).

Finally, share your knowledge!

9. At The End

I’m still learning and shaping my way through this, as you do too 😇 !!

There is always room for improvement!! any recommendation is welcome 😊

Please leave a comment or message if you need anything 😇

--

--