Things You Need to Know as a Backend Software Engineer ๐๐ป
In your software engineering journey, you need specialization in a single field, although knowing the fundamentals of other fields could also benefit you. If you choose to specialize in backend engineering, here are things you must learn:
1. Learn a Programming Language ๐ฅ๏ธ
When I say learn a programming language, I mean strive to be an expert in that language. You must understand the fundamentals (conditionals, loops, variables, functions). You also need to dive deep into OOP, learn multithreading and concurrency, and master data structures and algorithms to sharpen your problem-solving skills. ๐ก
2. Master Your Chosen Framework ๐ง
Understand the ins and outs of the framework you choose to specialize in. Familiarize yourself with its documentation and stay up to date with any changes introduced. If you learn one programming language and framework really well, you can adapt to new languages and frameworks more easily. ๐
3. Understand Databases ๐๏ธ
Learn at least one relational database and one non-relational database. Familiarize yourself with SQL syntax, understand query optimization, database schema design, and explore advanced concepts. ๐
4. Know APIs, Authentication, and Authorization ๐
Gain a strong understanding of how APIs work, how to implement authentication and authorization, and how to write clear and comprehensive API documentation. โ
5. Learn DevOps Essentials โ๏ธ
Master containerization (e.g., Docker), CI/CD pipelines, load balancing, monitoring, cloud services, and deployment best practices. These skills are crucial for efficient backend development. โ๏ธ
Don't be afraid to dive into advanced topics. Thatโs the only way you can truly stand out. ๐ Feel free to drop any concepts I missed in the comments! ๐ฌ
In your software engineering journey, you need specialization in a single field, although knowing the fundamentals of other fields could also benefit you. If you choose to specialize in backend engineering, here are things you must learn:
1. Learn a Programming Language ๐ฅ๏ธ
When I say learn a programming language, I mean strive to be an expert in that language. You must understand the fundamentals (conditionals, loops, variables, functions). You also need to dive deep into OOP, learn multithreading and concurrency, and master data structures and algorithms to sharpen your problem-solving skills. ๐ก
2. Master Your Chosen Framework ๐ง
Understand the ins and outs of the framework you choose to specialize in. Familiarize yourself with its documentation and stay up to date with any changes introduced. If you learn one programming language and framework really well, you can adapt to new languages and frameworks more easily. ๐
3. Understand Databases ๐๏ธ
Learn at least one relational database and one non-relational database. Familiarize yourself with SQL syntax, understand query optimization, database schema design, and explore advanced concepts. ๐
4. Know APIs, Authentication, and Authorization ๐
Gain a strong understanding of how APIs work, how to implement authentication and authorization, and how to write clear and comprehensive API documentation. โ
5. Learn DevOps Essentials โ๏ธ
Master containerization (e.g., Docker), CI/CD pipelines, load balancing, monitoring, cloud services, and deployment best practices. These skills are crucial for efficient backend development. โ๏ธ
Don't be afraid to dive into advanced topics. Thatโs the only way you can truly stand out. ๐ Feel free to drop any concepts I missed in the comments! ๐ฌ
What do you guys specialize in?
Anonymous Poll
36%
Front-end
30%
Back-end
27%
Nah I'm Full-stack
7%
Mobile
9%
DS & ML
2%
Other (comment)
You might start your coding journey for different reasons, such as curiosity, passion, money, or anything else. However, patience is what keeps you going. You might encounter times when you feel overwhelmed by the complexity of a concept and are unsure where to start learning it. You might face a bug that takes an entire day just to figure out why it happened, or you might compare yourself to others ahead of you in their journey and feel like you'll never reach their level of expertise. If you are not patient, cannot persevere with grit, or fail to train your mind to seek solutions instead of making excuses, it will be very difficult to succeed as a developer. Be patient and train your mind to love the struggle. You'll get there slowly but surely.
๐ฅ9
Juggling multiple projects at the same time be like
Source: https://discord.com/channels/1148581179084243054/1152353769145778216/1331371867982004376
Source: https://discord.com/channels/1148581179084243054/1152353769145778216/1331371867982004376
Hey guys, is there anyone in here who is skilled with R or SAS programming languages for statistical analysis? If you are skilled with the mentioned languages or if you know someone who is dm me with your experience @abeni_al7. I have a paid task for you.
๐1
How to debug your code: ๐๐ป
1๏ธโฃ Read the error message. ๐จ The most important part could be the first, the end, or somewhere near those two. The error message might lead you to the exact place where it all went wrong. The error stack trace shows you what went wrong and then what went wrong because of it... ๐๐
2๏ธโฃ Look at the source code of the framework you are using. ๐ฅ In VS Code (that's what I use, I can use vim though lol ๐), if you use the shortcut Ctrl + Click, it will take you to the source code of whatever imported piece of code you are using. Looking at the source code will allow you to decipher what exactly the framework expects from your code. ๐งฉ๐
3๏ธโฃ Read the official docs for the language or framework you're using. ๐ Obviously not all of it. But the part that talks about the particular feature of it that you're dealing with. You'll understand it deeper along the way. ๐ง โจ
4๏ธโฃ Search for Medium blogs that talk about the issue you're facing. ๐ I've found guidance on implementing features, explanations of why an error occurs, and how to fix it on Medium far too many times. ๐ ๐ง
5๏ธโฃ Search on StackOverflow. ๐ If you are facing an error, somebody else probably already had it before you, and you might get a great answer there. ๐๐ก
6๏ธโฃ Search your error on YouTube. ๐ฅ I usually don't get lucky on YouTube, but there is an Indian YouTuber who is explaining how to solve my exact problem once in a while. ๐ฎ๐ณ๐จโ๐ป
7๏ธโฃ Ask DeepSeek R1 ๐ค (I would have said ChatGPT if I was writing this a week ago). Read the "thought process" before you read the answer. You might come up with a solution in the middle of reading its deep dive into your problem. Whenever you use AI, read and understand why the solution works before using it. It might seem tempting to just copy and paste, but understanding why the problem occurred and why the solution works is what adds value to your career. ๐๐ผ
1๏ธโฃ Read the error message. ๐จ The most important part could be the first, the end, or somewhere near those two. The error message might lead you to the exact place where it all went wrong. The error stack trace shows you what went wrong and then what went wrong because of it... ๐๐
2๏ธโฃ Look at the source code of the framework you are using. ๐ฅ In VS Code (that's what I use, I can use vim though lol ๐), if you use the shortcut Ctrl + Click, it will take you to the source code of whatever imported piece of code you are using. Looking at the source code will allow you to decipher what exactly the framework expects from your code. ๐งฉ๐
3๏ธโฃ Read the official docs for the language or framework you're using. ๐ Obviously not all of it. But the part that talks about the particular feature of it that you're dealing with. You'll understand it deeper along the way. ๐ง โจ
4๏ธโฃ Search for Medium blogs that talk about the issue you're facing. ๐ I've found guidance on implementing features, explanations of why an error occurs, and how to fix it on Medium far too many times. ๐ ๐ง
5๏ธโฃ Search on StackOverflow. ๐ If you are facing an error, somebody else probably already had it before you, and you might get a great answer there. ๐๐ก
6๏ธโฃ Search your error on YouTube. ๐ฅ I usually don't get lucky on YouTube, but there is an Indian YouTuber who is explaining how to solve my exact problem once in a while. ๐ฎ๐ณ๐จโ๐ป
7๏ธโฃ Ask DeepSeek R1 ๐ค (I would have said ChatGPT if I was writing this a week ago). Read the "thought process" before you read the answer. You might come up with a solution in the middle of reading its deep dive into your problem. Whenever you use AI, read and understand why the solution works before using it. It might seem tempting to just copy and paste, but understanding why the problem occurred and why the solution works is what adds value to your career. ๐๐ผ
โค4
Which app do you check first thing in the morning?
Anonymous Poll
86%
Telegram
6%
Gmail
6%
LinkedIn
2%
X
4%
Tiktok
6%
Instagram
4%
Other
8%
I don't pick up my phone first thing in the morning
Is there anyone here from AAU that wants to participate in tomorrow's hackaton with me and my team? We are looking for 1 person. No experience needed just an interest to participate
Forwarded from Frectonz
Devtopia Interlude #002 is out.
We talk about the tsc-go port in this one. We take a tangent to talk about the history of language compilers being self-hosted.
[youtube]
We talk about the tsc-go port in this one. We take a tangent to talk about the history of language compilers being self-hosted.
[youtube]
YouTube
Devtopia Interlude E02 - Typescript, WASM and more
Fraol and Yafet discuss the past two weeks in tech as well as their adventures in tech. Topics ranging from Typescript, Self-hosted languages, WASM and Image formats to projects they've worked on. Enjoy.
Relevant links
Typescript News: https://devblogsโฆ
Relevant links
Typescript News: https://devblogsโฆ
Frectonz
Devtopia Interlude #002 is out. We talk about the tsc-go port in this one. We take a tangent to talk about the history of language compilers being self-hosted. [youtube]
This is the only technical podcast I know of in Ethiopia. I've learnt a lot of things from the 4 videos they released. The technical depth they go into is very satisfying. I recommend it for anyone who is interested in listening to purely technical discourse.
๐3
https://youtu.be/F2FmTdLtb_4?si=Xvf84JkhkOalXB3u
This one is the best System Design course I have seen on YouTube that explains all the important topics in simple and understandable terms. It is only 53 minutes long. Check it out
This one is the best System Design course I have seen on YouTube that explains all the important topics in simple and understandable terms. It is only 53 minutes long. Check it out
YouTube
System Design Concepts Course and Interview Prep
This complete system design tutorial covers scalability, reliability, data handling, and high-level architecture with clear explanations, real-world examples, and practical strategies. You will learn the core concepts you need to know for a system designsโฆ
๐3
Forwarded from Code memo
๐
March 28 memo ๐
๐ Node.js is an open-source and cross-platform JavaScript runtime environment. Node is a non-blocking paradigm, Blocking behavior in JavaScript refers to operations that prevent further execution of code until the current operation completes. For loops and synchronous functions alike are blocking which means other part of the code won't be executed until the block is finished but for Node the norm is Non-blocking like asynchronous functions are non-blocking.
I have a plan to read this page in depth too in the future MDN
โจ Learned to do simple things such as creating servers, apis, processing files and simple middlewares with node js. I also now know what an event Loop is in JS which I didn't understand for the long time thanks for a youtube link provided in the odin project page.
@code_memo
๐ Node.js is an open-source and cross-platform JavaScript runtime environment. Node is a non-blocking paradigm, Blocking behavior in JavaScript refers to operations that prevent further execution of code until the current operation completes. For loops and synchronous functions alike are blocking which means other part of the code won't be executed until the block is finished but for Node the norm is Non-blocking like asynchronous functions are non-blocking.
I have a plan to read this page in depth too in the future MDN
โจ Learned to do simple things such as creating servers, apis, processing files and simple middlewares with node js. I also now know what an event Loop is in JS which I didn't understand for the long time thanks for a youtube link provided in the odin project page.
@code_memo
MDN Web Docs
JavaScript reference - JavaScript | MDN
The JavaScript reference serves as a repository of facts about the JavaScript language. The entire language is described here in detail. As you write JavaScript code, you'll refer to these pages often (thus the title "JavaScript reference").
Code memo
๐
March 28 memo ๐ ๐ Node.js is an open-source and cross-platform JavaScript runtime environment. Node is a non-blocking paradigm, Blocking behavior in JavaScript refers to operations that prevent further execution of code until the current operation completes.โฆ
This guy is a friend of mine and he has created a channel to document his learning journey. Sub to his channel if you're interested. He is learning backend development with express.js planning to dive deep in it
โก2
Abeni Codes
Photo
Have you ever thought what you would do if you don't have to work for money anymore?
Forwarded from Edemy
If I had to learn software engineering from scratch, I would only need 5 books:
0. ๐ Clean Code
โ๏ธ Robert C. Martin
โณ Practical guidance on writing readable, maintainable code with concrete examples.
1. ๐ The Pragmatic Programmer
โ๏ธ Andrew Hunt and David Thomas
โณ Timeless advice on approaching software development professionally and effectively.
2. ๐ Designing Data-Intensive Applications
โ๏ธ Martin Kleppmann
โณ Deep dive into the principles behind reliable, scalable, and maintainable applications.
3. ๐ Design Patterns: Elements of Reusable Object-Oriented Software
โ๏ธ Erich Gamma et al.
โณ Essential reference for common design patterns that solve recurring problems.
4. ๐ AI engineering
โ๏ธ Chip Huyen
โณ Learn AI from 0 to how do we put this in production.
@edemy251
Source__ Alexandre Zajac
0. ๐ Clean Code
โ๏ธ Robert C. Martin
โณ Practical guidance on writing readable, maintainable code with concrete examples.
1. ๐ The Pragmatic Programmer
โ๏ธ Andrew Hunt and David Thomas
โณ Timeless advice on approaching software development professionally and effectively.
2. ๐ Designing Data-Intensive Applications
โ๏ธ Martin Kleppmann
โณ Deep dive into the principles behind reliable, scalable, and maintainable applications.
3. ๐ Design Patterns: Elements of Reusable Object-Oriented Software
โ๏ธ Erich Gamma et al.
โณ Essential reference for common design patterns that solve recurring problems.
4. ๐ AI engineering
โ๏ธ Chip Huyen
โณ Learn AI from 0 to how do we put this in production.
@edemy251
Source__ Alexandre Zajac
๐2
Forwarded from Birhan Nega
แปแญแแแซแ แญแแซแแข แ แแฑ แจแปแญแ แแฅแชแซ "Boycott China " แจแแ แฝแแ แซแแ แต 100แฝ แฒแธแญแถแฝแ แแ แแชแซแแซแ แ แแจแฐ แ แ ๐
แแแต แฅแแตแ แแ
แแแต แฅแแตแ แแ
๐3