Kickstarting Your Career in Software Development: Dina's Guide for Beginners

Kickstarting Your Career in Software Development: Dina's Guide for Beginners

Many friends and family members have asked me, "How can I become a software engineer and change my career path?", While it can be challenging, requires a lot of learning, needs study mate, It is definitely achievable. So, let's dive in together!

Maybe you can, I don’t know ??

Before we begin, let's agree on a few key points:

1- You need to be passionate about it and have a good IQ , “?? ???? ???? ???? ??? ?????” , Programing for me is the nearest form of practicing magic, it is fun, and has instant feeling of achievement. Keep this in mind and enjoy the journey!

2- I assume you have a PC, know how to use Google, and have a good IQ. Don’t worry, I’ll provide as many references as possible as well.

3- This guide focuses on software development roles, not UX/UI design. If you are interested in design , likes to draw and color, thinks a lot about why things look that way? ?? , check out resources from Tremoloo or HydraStudioz or webkeyz they are Legends and true Egyptian Leaders, and I am sure they will help you through it.?

4- I will provide guidance based on different roles. If you want to be an Architect or a Software Engineer, you'll need to study everything. But let’s start small and build up from there.

5- I prefer written tutorials over videos as they are less time-consuming. However, I will include some video tutorials as well.

6- Mastering one programming language is Enough. Google, GPT, and AI extensions in IDEs can help you with other languages if needed. Learn the concepts with one language, and switching to another will be easy.

Differences between code languages are not that vast anyway, C# and Java are basically sisters, you can write C++ code at Objective C App. So my Advice be perfect at one language, use it to grasp all concepts and solve all problems , then if you needed to switch it will be very easy.

In 11 Years, I learned Java, C# , C++, Objective C, Kotlin, Python, PHP, Scala, R, MySQL , SQL, Go, HTML, CSS and I can build Regex with its flavors at all of them, and it all started with Java,? so relax you will be there.?

7- Try to find a study mate. If you can't, feel free to reach out to me. I'd love to help! you will get many errors at first but you are awesome and will overcome them.?

8- This guide is based on my personal journey and may not cover everything. Keep searching and learning on your own as well.

With these points in mind, let’s explore the different paths you can take in software development.

Guide based on Role:?

Front End Developer , The one who do websites UI, forms , buttons, images , text, animation, charts , etc, everything you see in website, they wrote the code to make it there, websites like facebook.com , twitter.com , or linkedin.com ... etc?

You need to learn below languages first , basic understanding:?

  • JavaScript?
  • HTML
  • CSS?
  • Go to W3schools , It’s enough to play and know basics , and has other languages too but as start let’s focus on JS, HTML and CSS , the below frameworks are the main goal anyway

Then get experienced in one or more below UI frameworks: there may be other frameworks, but below are most required ones in Egypt:?

For Arabic Tutorials , follow this youtube channel, go to playlists and choose what you want to learn.?


Back End Developer, The ones who make things work, they work with plain code to make APIs and database callings, The ones who make the facebook message you wrote get really sent to your friend?

Backend Frameworks, You need to learn one or more,?

Database:?

For Arabic Tutorials , follow this youtube channel, go to playlists and choose what you want to learn.?


Mobile Developer, All mobile apps or games you like, Mobile Developers developed it for you.

There are 4 paths here, BTW No one can prevent you from going through all paths, I did ??:

  • Be iOS/iPhone developer --> you need to learn Swift , tutorial ?
  • Be an Android developer --> you need to learn Java or Kotlin , Google courses with no question.?
  • Be Hybrid mobile developer --> in other words your app will work on android and iOS --> you need to learn Flutter or React Native?
  • Be Game Developer --> Unity or Unreal ?
  • Read about Hybrid vs Native Apps

It’s not enough to just know the framework. You need to learn integrations as well , and some advanced topics like handling Google APIs (Maps for example), notifications, payments, so if you have interest in mobile and already know the basics, reach me to give you a more detailed list.?

Ps, It may be difficult to find a job as a Game Developer in Egypt.?


Common knowledge you need to master, this is what distinguish you from Code Monkeys ?? ?? ??, whatever your path is you need to read about below topics and understand them:?

Clean Code ?

Data Structure:?

  • Array?
  • List?
  • Linked List
  • Queue?
  • Stack
  • Map / Hashmap?
  • Sets?
  • Trees / Binary Trees?
  • Graphs?
  • Also you can always go practice your knowledge at HackerRank ?

Object Oriented Programing vs Functional Programing?

SOLID and Design principles ?

  • Composition over inheritance
  • Encapsulation?
  • Abstractions

Design Patterns , Most common ones, not everything, but if you can go through everything, it will be great achievement:?

  • Creational (Singleton pattern, Abstract Factory pattern, Prototype pattern)
  • Structural (Adapter, Bridge, Decorator)
  • Behavioral (Observer, Mediator, Template)

Architectural Styles / Patterns:

Basic Problem Solving (From easy to more Advanced):?

  • Strings and Regex
  • Sorting?
  • Search?
  • Recursion?
  • Dynamic Programing?
  • Graph Theory?
  • Greedy?
  • Also you can always go practice your knowledge at HackerRank ?
  • And the ultimate guide, is "Introduction to Algorithms " book , Soft copy is Here , If you can get the hard copy, do it , It's great asset to have.

Last but not least topic is TDD or Test Driven Development , It's important to maintain your quality.

If there is no link, Please use Google and Read about the topic, If you need help , please contact me.

Habiba Faried

biotechologist

5 个月

Interesting!????

要查看或添加评论,请登录

社区洞察

其他会员也浏览了