Abeni Codes
158 subscribers
33 photos
5 videos
33 links
I post about my insights, new discoveries, projects and advices related to tech mainly and other topics once in a while. You can DM me @abeni_al7 for professional or collaborative queries.
Download Telegram
Channel photo updated
Learn Docker ๐Ÿณ

Especially if you're a backend developer!
Before I learned Docker and used it for the first time, I had no idea what I was missing.

You might have built a web app, an API, or a service, and when you sent it to someone else, it didnโ€™t work for them. Frustrating, right?

Docker solves this issue by containerizing your app into its own container (like a lightweight virtual machine). It includes all the dependencies needed inside the container, allowing your app to run seamlessly on any machine.

It solves the infamous problem of: โ€œIt works on my machine! ๐Ÿคทโ€โ™‚๏ธโ€

And it gets even better with Docker Compose! ๐Ÿš€
With Docker Compose, you can manage multiple containers in one place, making it easy to run your app along with its dependenciesโ€”like your database, backend, and moreโ€”all in sync.

Start using Docker if you aren't already using it! ๐Ÿ› ๏ธ
Seriously! It will make your life easier
๐Ÿ‘1
My Method for Learning New Programming Languages/Frameworks When I Need Them

๐ŸŒŸ I highly encourage specializing in a single role in tech. However, there are times when we may need to learn new technologies for certain projects. Here's how I approach learning new things when I need them:

1๏ธโƒฃ Start with Documentation
The first thing I do is go to the official documentation ๐Ÿ“š and follow the tutorial there. This helps me get a feel for the syntax changes compared to the technologies I already know.

2๏ธโƒฃ Build a Simple Project
Next, I create a simple project ๐Ÿ› ๏ธ using the new language/framework. This allows me to get hands-on practice and solidify what I've learned.

3๏ธโƒฃ Apply it to the Use Case
Finally, I directly apply the new technology to the use case I had in mind โœ….

โš ๏ธ This method is focused on achieving specific goals and solving immediate problems. It wonโ€™t make you an expert in the language/framework, but it will help you execute your project efficiently.

#ProgrammingTips #LearnToCode #CodingJourney #TechSkills #ProgrammingLanguages #Frameworks
๐Ÿ‘5
How I Watch YouTube Coding Tutorials ๐ŸŽฅ๐Ÿ’ป

This post is focused on helping beginners by sharing my experience with YouTube coding tutorials. Back when I was starting out, I used to watch a lot of YouTube coding tutorials and code alongside them. I liked the feeling of completing a project even though I was just following a tutorial. However, I also spent my fair share of time in tutorial hell.

๐Ÿ’ก Tutorial hell is when you watch coding tutorials, build projects along with the YouTuber, and feel like you've learned something, but in reality, you can't complete a new project by yourself.

Here are my tips on how to effectively watch YouTube coding tutorials:

1๏ธโƒฃ Use tutorials to get a feel for a new language/framework/concept.
Code alongside the tutorial just to get a sense of what programming in that particular language or framework feels like.

2๏ธโƒฃ Erase the tutorial code and rebuild it yourself.
Once you finish the tutorial, delete the project you coded along with. Try to recreate the end result on your own. Use official documentation, Stack Overflow, or Medium blogs for any difficulties you encounter instead of revisiting the tutorial. This way, you'll learn how a real programmer fixes their mistakes and comes up with practical solutions. When you're done, compare your code with the tutorial to spot differences and identify areas for improvement.

3๏ธโƒฃ Build a new project based on what youโ€™ve learned.
Even if itโ€™s simple, creating another project will strengthen your foundation on the new topic you've just learned.

4๏ธโƒฃ Focus on structured resources as you progress.
Over time, shift your attention to official documentation, blogs, and books as your main learning sources. These are usually more structured and provide a comprehensive understanding of the topic.

5๏ธโƒฃ The ultimate way to learn is by building projects.
Apply what youโ€™ve learned to solve problems you or people around you face. Real-world applications will solidify your skills.

I hope this was helpful! ๐Ÿ˜Š If any experienced developers are reading this, feel free to drop additional tips in the comments.

#ProgrammingTips #CodingJourney #LearnToCode #YouTubeTutorials #BeginnerCoders #TutorialHell #BuildProjects
๐Ÿ‘7
Forwarded from GDG Addis
Computer Vision & Graphics Research Initiative
Application Deadline: Sunday December 15, 2024

Workshop Duration: December 19, 2024 โ€“ January 7, 2025
Location: Abrehot Library, Addis Ababa, Ethiopia

Description:
Are you curious about research? Do you want to give it a try? If you aspire to pursue a career in research, whether as a research scientist, a professor, or someone pushing the boundaries of scientific knowledge, you have to start somewhere. Join us this winter for a 3-week research workshop designed to provide hands-on research experience and connect you with mentors from leading institutions.

Who are the Mentors?
You will have the opportunity to work with PhD students and researchers who have worked at prestigious institutions such as: University of Michigan, Cornell University, Ecole Polytechnique, Google, Meta, Adobe, University of Toronto, Microsoft

https://forms.gle/CuXS22UMnpYygnmH9
Sometimes people die because of bad code. But there is no way to write perfect code 100% of the time
โšก5
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! ๐Ÿ’ฌ
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
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. ๐Ÿš€๐Ÿ’ผ
โค4
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
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