Category Archives: Roadmap

How to be a good developer

10 skills to be a Good Developer


To be a good developer, you need a combination of technical and non-technical skills. And of course, you have to do everything with your passion.

Here are ten skills that are essential for success in the field of software development:

1. Programming Knowledge: 

Minimum one programming language you should be proficient. And if necessary, if there are some things around that one programming language, they should also be known. For example, to become a web developer you need to know JavaScript. Around that will be HTML, CSS; You have to know them too. To become an Android developer you need to know Kotlin or Java. 

Python is required to be good at data science or machine learning. To become a game developer you need to learn C# or C++. Must learn mySQL or Mongodb or postgresql for database. no excuse In other words, you need to know the details of the main programming language, the nuts and bolts, and the cups and pipes for that you will have a main field.

2. Framework: 

No matter what anyone says, one cannot develop software without a framework. For example, web development requires React or Vue or Next.js. Django or Flask is needed for Python backend. If you want to do more with Java, you will need Spring Boot or Hibernate or something else. Php requires Laravel. React Native or Flutter is needed to create cross-platform mobile apps. Game development requires Unreal Engine or Unity.

It can be said for about 90% of software: software cannot be developed without a framework. The remaining 10% do not use the framework. That 10% is either making frameworks with raw language or making something crazy level.

And the biggest reason for using the framework so much is the productivity of development, best practices, since the framework is tested a lot, there are less bugs, guidelines are available, and many more.

3. Fundamentals and Problem Solving:

To be a good developer in the long term, one must have an understanding of data structures, algorithms, OOP, design patterns, software architecture. Especially data structures like arrays, linked lists, stacks, queues, trees, graphs. How to figure out Searching, Sorting, Dynamic programming, Tree related algorithms, and Time complexity. Know how to apply the principals of object oriented programming. Learn about design patterns. Learn about software development principals.

A little problem solving will do. Especially to understand basic programming, data structure, algorithm, but try to solve a little problem.

Here’s why:  Many senior developers in the community often talk about the importance of learning the fundamentals of programming. So you should take the time to learn these things. If you want, you can find and learn from YouTube. Or a guided learning platform with one year of dedicated time to learn well, solve hundreds of problems, jump in by September 24 at www. phitron io website.

4. Git/GitHub (Search Control)

Create, clone repo of search code. Commit the code. Checking push, pull, status and logs. Branch creation, checkout, merging, conflict resolution. Code review, merging pull requests. Delete commits, rebase if necessary. .gitignore, README, a little bit of MarkDown, these things junior developers should know.

Be it GitHub or GitLab, software development is not possible without Git.

5. Debugging, Testing, , Error Handling

First read the error messages. Read the first error message even if you don’t understand it. Then you have to create the ability to find the solution by sending the error message to google, github issues or chatGPT. In the beginning it will take a long time to solve any error. Even then, you have to be patient and try to solve the error.

You must know how to fix bugs.

Also, all programming languages have at least one unit testing library. Like Jest, mocha, Jasmine in JavaScript, pytest in Python, jUnit in Java. So, you’ll get an idea of how unit tests work in the programming language you’re learning. Especially Positive Test, Negative Test, Boundary Test, Corner Case, will take idea about these. It’s great to be able to figure out the code coverage.

Besides, you should know how to test the output of your code yourself. Especially if you can’t understand whether the code you wrote is working properly, you can’t be a developer.

How to debug Especially the break point. Step in, step out between functions. If something logs. Must know stack tracing, systems to reproduce issues.

Also if there is an error, how to handle the error, show the error message. Or throw an error and catch the error if needed. Will see these things.

6. Server, database, devops:

How the server works, what is HTTPS, what is the API, how does the database and backend work. How CRUD operations work. How to store data in database. Be it SQL database or NoSQL. How to extract data from there. Apart from this, Authentication, Authorization, JWT, Caching, how the cloud works. What is ORM?

For those who will focus on backend, they should focus on Multithreading, Concurrency, Data Modeling, Query Optimization, logging, benchmarking. After that, if you want to know more, you can get ideas about docker container, Microservices, Load balancing, Monitoring, Logging, CI/CD.

7. Read documentation

As a junior I get video tutorials of many things but slowly read the official documentation

Focus should be increased. Even if you don’t understand English well at first, you have to study hard. If necessary, start with Getting Started and follow step by step to install. The features given in API Reference documentation will be detailed. Take time no problem. If you can’t read continuously, read it with a gap.

Most of the documentation includes examples and interactive code. Will run them. If necessary, two things will be slightly changed. If you roll the cup, it will reload the page again. And most of the documentation contains Best Practices. There is a separate blog section, I will check them out when I get time.

By doing this for years, the fear of documentation will gradually disappear.

In addition to reading the documentation, you should also focus on how to document the code you write.

8. Continuous Learning:

New things will keep coming in the programming sector. You have to learn everything from there. There is no such thing. Nothing will be learned again. Even if you do that, it won’t happen. Rather, if you hear something eight or ten times, you will search it on Google. Read their documentation if necessary. If you like it, you will make a small project. If they have an official video, they will watch it.

If you like it, you will make a big personal project.

Subscribe to some of your favorite Newsletters, Blogs. Some online groups will be involved. Some will follow senior developers and active developers in the community. If possible, chat with other serious developers or go to meetups. You can listen to technical podcasts. If you have time, you can also contribute to open source projects.

9. Soft Skills:

Even when a developer writes code, he has to do many other ancillary tasks. Like communicating with team members. Writing emails, replying. Understand the priority of the task. Time management. Project planning. Sometimes the software they are developing may need to be presented. Remote jobs or working with foreign clients may require speaking English. Share any feedback or suggestions with team members. Salary Negotiation. Able to interview. Some networking will be required. Along with this, adapting to the culture of the office. Many more such soft skills are needed.

If you get stuck on something, try it yourself first. Then ask for help. Or have the courage to inform in advance if a feature takes longer to develop.

No experience working long time ago. Or something that I didn’t know was coming. You have to have the courage to work on it.

Reading skills are required. The features of the software are written in Jira and must be read and understood. Sometimes it is necessary to have the humanity to understand the client or customer feedback and fix or improve it.

10. A few more things

Some more things will come up while developing the software. For example, some simple security things: eg, SQL injection, cross-site scripting (XSS), API Security, various Encryption Algorithms, Key Management, if you don’t have an idea, you will be in danger at some point.

Performance optimization. Software integration with third party tools.

A software is made by many developers. So the ability to understand other people’s code. It takes the ability to understand even the code you wrote six months ago.

As a human being: the ability to take responsibility for one’s health, personal finances, and family is also needed.

This is a huge list. All will not happen in one day. But to keep learning. If it sticks If you try not only these. There will be more than these.

Disclaimer:  At the end of the day a software developer does his job with a cool head. Most of the time he is not even with others. Not even next to it. He continued to move forward in his own way. He doesn’t get upset if someone says something. Make your own plan. He continued to move forward in his own way. At the end of the day he enjoys his life as his own. He handles his life in his own way. Other people’s thinking style remains incomprehensible to him.

Data Science Roadmap

What is data science?
Data science is a multidisciplinary field that combines techniques from statistics, computer science, and domain knowledge to extract valuable insights and knowledge from data. It involves collecting, cleaning, analyzing, and interpreting large datasets to solve complex problems and make data-driven decisions. Data scientists play a crucial role in various industries, including finance, healthcare, marketing, and technology, by leveraging data to drive business strategies and innovations.

Many of my friends and online people frequently ask me, “I to be a. Which language I should learn and practice?”

I replied them to become a data scientist, you’ll need to learn and practice multiple languages and tools. That’s why I make a note to reply to them with a link as I don’t need to say it again and again to different persons.

The key programming languages that are commonly used in data science are:

  1. Python: Python is the most popular language for data science due to its simplicity, versatility, and a wide range of libraries and frameworks specifically designed for data analysis and machine learning. Some essential libraries for data science in Python include NumPy, pandas, Matplotlib, Seaborn, scikit-learn, and TensorFlow/PyTorch for machine learning.
  2. R: R is another popular language for statistical analysis and data visualization. It’s particularly well-suited for tasks that involve statistical modeling and exploratory data analysis. The “tidyverse” collection of packages in R (including ggplot2, dplyr, and tidyr) is widely used for data manipulation and visualization.

While Python is more versatile and widely used in various domains beyond data science, R is often preferred by statisticians and researchers who focus on statistical analysis and data visualization. However, for a well-rounded skill set in data science, learning Python is highly recommended due to its broader range of applications and extensive ecosystem.

Here’s a recommended learning path for aspiring data scientists:

  1. Python Fundamentals: Learn the basics of Python programming, data types, control structures, and functions.
  2. Data Manipulation and Analysis: Master libraries like NumPy and Pandas to effectively manipulate and analyze data.
  3. Data Visualization: Learn Matplotlib and Seaborn for creating informative and compelling visualizations.
  4. Machine Learning: Dive into machine learning using scikit-learn. Learn about various algorithms, their applications, and how to evaluate model performance.
  5. Deep Learning: If you’re interested in deep learning, explore TensorFlow or PyTorch for building and training neural networks.
  6. Statistics: Develop a solid understanding of statistical concepts, hypothesis testing, and probability theory.
  7. R Programming (Optional): If you’re interested in statistical analysis and data visualization in R, familiarize yourself with R programming and the tidyverse packages.
  8. SQL: Learn SQL for handling and querying databases, as data retrieval is a common task in data science.
  9. Version Control: Understand how to use version control systems like Git to collaborate on projects efficiently.
  10. Real-world Projects: Work on data science projects to apply your skills and gain practical experience. This could include analyzing datasets, creating predictive models, and presenting findings.

Remember that becoming a proficient data scientist involves continuous learning and staying up-to-date with the latest tools and techniques in the field. Online courses, tutorials, and hands-on projects will be valuable as you want to progress in your journey.

To become a data scientist, you can follow these steps:

  1. Educational Foundation:
    • Obtain a bachelor’s degree in a relevant field such as mathematics, statistics, computer science, engineering, or a related area. Many data scientists have advanced degrees (master’s or Ph.D.) as well.
  2. Develop Programming Skills:
    • Learn programming languages commonly used in data science, such as Python and R. These languages are essential for data manipulation, analysis, and building machine learning models.
  3. Learn Statistics and Mathematics:
    • Gain a strong understanding of statistics and mathematics, including linear algebra, calculus, and probability. These concepts are fundamental to data analysis and modeling.
  4. Data Manipulation and Visualization:
    • Learn how to work with data using libraries like Pandas for data manipulation and Matplotlib or Seaborn for data visualization.
  5. Machine Learning and Deep Learning:
    • Familiarize yourself with machine learning techniques and algorithms. Libraries like Scikit-Learn and TensorFlow can be valuable resources for this purpose.
  6. Data Cleaning and Preprocessing:
    • Master data cleaning and preprocessing techniques to ensure that data is in a suitable format for analysis.
  7. Domain Knowledge:
    • Gain expertise in the specific domain or industry you’re interested in. Understanding the context and nuances of the data you’re working with is crucial for making meaningful insights.
  8. Build a Portfolio:
    • Work on personal or open-source projects to showcase your skills and build a portfolio. These projects can demonstrate your ability to tackle real-world data problems.
  9. Online Courses and Certifications:
    • Take online courses or earn certifications in data science to enhance your knowledge and credentials. Platforms like Coursera, edX, and Udacity offer relevant courses.
  10. Networking and Collaboration:
    • Connect with professionals in the field, attend data science meetups, and collaborate on projects to gain experience and expand your network.
  11. Apply for Jobs or Internships:
    • Look for data science job openings or internships that match your skill level and interests. Start with entry-level positions and work your way up as you gain experience.
  12. Continuous Learning:
    • Data science is an evolving field, so stay updated with the latest tools, techniques, and research. Attend conferences and workshops to keep learning.
  13. Soft Skills:
    • Develop soft skills such as communication, problem-solving, and critical thinking, as these are essential for effective data science.

Remember that becoming a data scientist is a journey that requires continuous learning and practice. Building a strong foundation in the fundamental skills and gaining practical experience through projects