DEV Community

Md Abu Taher
Md Abu Taher

Posted on • Edited on

Reflections on My 15 Year Journey from Novice to Intermediate Developer

My self-taught development journey started around 15 years ago when I was a little kid. It went from passion to a job to irritation with tons of ups and downs.

I became a normal developer, freelancer, co-founder, office employee and so on. Sometimes I was spending 20 hours per day in front of computer like crazy due to excitement, sometimes I got burned out from overworking and stress.

I probably did not see everything, but I want to share a few points.

Table of contents

Let's get started!

How do you spot a beginner programmer?

Top ⤴️ 

There are several signs that can indicate that a programmer is a beginner. Some of these signs include:

  • Lack of familiarity with core programming concepts and best practices.
  • Struggling to write clean, well-structured, and efficient code.
  • Reliance on copying and pasting code from online sources without fully understanding how it works.
  • Difficulty troubleshooting and debugging errors and problems in their code.
  • Limited knowledge of programming languages and tools.
  • Lack of experience working on real-world projects or in a team environment.

These are just some of the potential signs that a programmer may be a beginner. It's important to note that being a beginner is not necessarily a bad thing - everyone has to start somewhere, and everyone has different levels of experience and expertise.

However, if you notice some of these signs in a programmer, it may indicate that they are still in the early stages of learning and may need more guidance and support.

Things beginners should know

Top ⤴️ 

Here are a few tips I'd like to give to someone who is just starting to learn how to code:

  1. Start by making sure that each project or task has clear goals that can be reached. 

    This can help you focus your work and keep you from getting distracted by code that isn't important.

    Use tools like Notion, ClickUp, Github Issue.

  2. Figure out which tasks and features are most important and work on them first.

    This can help you make progress on your projects and meet your deadlines while still giving you time to try out new ideas.

  3. Ask programmers with more experience for feedback and help.

    This can help you figure out where you might be spending too much time on code that isn't necessary or useful and teach you how to work more efficiently.

    Check Github Issues, Stackoverflow, Dev.to, Facebook Groups.

  4. Use tools and methods to better keep track of your time and tasks.

    This can be done by using project management software, using agile development methods, or following other best practices for efficient and effective programming.

    Use tools like DeskTime, TimeDoctor.

  5. Take breaks often and don't work for long stretches without stopping.

    This can help you avoid getting burned out at work and keep your mind on the task at hand.

    Pomodoro is a great method to do it.

  6. Don't refactor unless needed.

    Rewriting or refactoring code can be a good way to improve how easy it is to read, how easy it is to fix, or how fast it runs. But it can take a lot of time and might not always be necessary.

    Before starting a big refactoring project, you should carefully consider whether it will bring real benefits. You shouldn't make changes just to make changes.

  7. Work with other programmers and talk to them.

    As a beginner, you can learn a lot from other programmers who know more than you do or have more experience.

    By working on projects together, sharing ideas and code, and giving each other feedback and help, you can learn and grow as a programmer more quickly.

  8. Use version control to manage your code.

    Version control software, like Git, lets you keep track of changes to your code, work with other people on it, and revert to older versions if you need to.

    This can help you organize, speed up, and keep your work safe. It can also help you avoid losing important code or making mistakes.

  9. Put together a portfolio of your work to show possible employers.

    When you're just starting out as a programmer, it can be hard to get your first job or project.

    Building a portfolio of your work is one way to stand out and show off your skills to potential employers or clients.

    This can include finished projects, samples of your code, or other examples of your work that show your skills and potential.

  10. Keep learning new things about programming and keeping up with the latest changes (that is relevant to your goal).

    Programming is a field that is always changing, so there are always new languages, frameworks, tools, and methods to learn. You can keep getting better as a programmer and stay ahead of the curve in a field that is getting more and more competitive by staying curious and up-to-date.

  11. Write clean and readable code. 

    As a beginner programmer, you might be tempted to just focus on getting your code to work and not think about how easy it is to read or fix. But writing code that is clean and easy to read is important for more than one reason.

    It can make your code easier to understand and change, which can save you time and effort in the long run. It can also make your code easier to find and use, which can be helpful when working with other programmers or putting your code into larger systems.

  12. Write a lot of tests.

    Testing is an important part of the development process, and it can help you find bugs and fix them.

    By writing and running tests, you can make sure that your code works the way you want it to, and you can find and fix any problems before they get worse.

    This can save you time, effort, and frustration and help you give your users or clients better-quality code.

  13. Take care of both your body and your mind.

    Programming can be hard on both your mind and body. It can take long hours of focusing, solving problems, and working with other people, which can be hard on your body and mind.

    Taking care of yourself is important if you want to avoid burnout and keep working well. Getting enough sleep, working out regularly, eating well, and taking breaks from your work are all ways to do this.

    Taking care of your health will allow you to remain focused, energized, and motivated, allowing you to be a better programmer.

  14. Learn how to debug your code.

    Debugging is an important part of development that every programmer needs to know how to do.

    By learning to find and fix errors and bugs in your code, you can make it more reliable and faster, and you won't waste time on code that doesn't work the way you want it to.

    There are many tools and methods you can use to fix bugs in your code. If you want to become a better programmer, you should learn and practice these skills.

  15. Stick to the rules and best practices for coding.

    If you're just starting out as a programmer, you might not know the rules and best practices for writing code in your language or field.

    It's important to learn and follow these standards and best practices because they can help you write code that is easier to read, maintain, and use.

    They can also help you avoid common mistakes and pitfalls, and they can make it easier for other programmers to understand and use your code.

    By following coding standards and best practices, you can improve the quality of your code and make it more useful to you and others.

  16. Take on projects and problems that are hard.

    If you're just starting out as a programmer, you might be tempted to take on only small or easy projects so you don't get too busy or frustrated.

    But it's important to push yourself and take on bigger, harder projects, because that's how you'll learn the most and grow as a programmer.

    You can improve your skills, gain confidence, and build a body of work you can be proud of by taking on hard problems and overcoming obstacles.

  17. Be proactive and take initiative.

    Don't just wait for someone to tell you what to do. Look for opportunities to learn and grow, and take on new challenges.

  18. Google everything.

    Learn how to google, watch videos and tutorials, visit stackoverflow and reddit. But never copy a code block without understanding how it works.

    Also, set yourself a time limit on googling stuff before asking other senior developers.

Things beginners should avoid

Top ⤴️ 

Here are some things that a new programmer should not do:

  1. Ignore the latest trends or fads in the field of programming.

    The world of programming is constantly changing, and there are always new languages, frameworks, tools, and techniques to learn.

    However, not all of these developments are equally valuable or relevant, and it can be a waste of time and effort to chase after every new trend or fad.

    Instead, focus on the fundamental concepts and principles of programming, and learn the tools and techniques that are most relevant and useful for your goals and projects.

  2. Ignore the pressure to be a perfect programmer.

    As a beginner, it is natural to feel pressure to be perfect, to avoid making mistakes, or to measure up to the standards of more experienced programmers.

    However, perfection is unattainable, and it is more important to focus on learning and improving.

    Be willing to make mistakes, to learn from them, and to continue to grow and develop as a programmer.

  3. Ignore the temptation to compare yourself to others.

    As a beginner, it can be easy to compare yourself to other programmers who may have more experience, more skills, or more success than you do.

    However, comparisons are rarely useful, and they can be damaging to your confidence and motivation.

    Instead, focus on your own goals and progress, and celebrate your own achievements, no matter how small they may seem.

  4. Ignore the voices that tell you that you are not good enough or that you can't do it.

    As a beginner programmer, you may encounter many voices that tell you that you are not good enough, that you don't have the right skills or knowledge, or that you should give up.

    These voices can come from many sources, including your own doubts, the expectations of others, or the challenges of the field. It is important to ignore these voices and to believe in yourself and your abilities.

    You have the potential to become a successful and skilled programmer, and you can achieve your goals if you are willing to put in the effort and dedication.

  5. Ignore the temptation to overcomplicate your solutions.

    As a beginner programmer, you may be tempted to overcomplicate your solutions, to add unnecessary features or enhancements, or to try to impress others with your code.

    However, simple and straightforward solutions are often the best, and they can be more efficient, maintainable, and effective than complex and sophisticated solutions.

    By focusing on the core requirements and avoiding unnecessary complications, you can write code that is more valuable and useful to yourself and others.

  6. Ignore the fear of failure.

    As a beginner programmer, you may be afraid of failing, of making mistakes, or of not meeting the expectations of others.

    This fear can hold you back and prevent you from taking risks, from exploring new ideas, or from challenging yourself. It is important to ignore this fear and to embrace failure as an opportunity to learn and grow.

    By learning from your mistakes and failures, you can become a better programmer, and you can develop the resilience and persistence that are essential for success in the field.

As a beginner, it can be hard to take advice, even if the person giving it means well. But if you can keep going and do what experienced people tell you to do, you'll get better faster than you thought possible. So don't be afraid to take that step and try something new.

Top comments (22)

Collapse
 
corentinbettiol profile image
Corentin Bettiol

Is php obsolete?

While it is true that newer languages such as Python and JavaScript have gained in popularity in recent years, PHP is still widely used and is not considered obsolete.

PHP: Created in 1994 by Rasmus Lerdorf (source)
Python: Guido van Rossum [...] first released [Python] in 1991 (source)

😉

Collapse
 
entrptaher profile image
Md Abu Taher

Haha Sorry. I didn’t mean it literally. Will need to change my words.

Collapse
 
jrothlander profile image
jrothlander • Edited

I'm curious why after 15 years you only consider yourself an intermediate programmer. I suspect you have put some thought into this. I like seeing that. One big complaint I have and see often when interviewing people is why they claim the title of senior programmer after as soon as 2 years’ experience.

I like your list of beginner “signs”. My biggest one is "reliance on copying and pasting code from online sources without fully understanding how it works." That's a big one and over my 30 years of writing software, I have run into hundreds of what I call "copy-n-paste" programmers. Many will never move beyond this.

Another one for me is running into someone that has not spent more than 6 months to a year at any one job. You cannot consider yourself a senior level developer if you have never completed a project.

And as a senior you should know how to do binary addition with two's-compliment. Yeah, not really. But it would be nice to see and it would impress me.

Collapse
 
entrptaher profile image
Md Abu Taher

I do write my title as a senior programmer in many places like linkedin/github etc, but in reality, there are far more things I have yet to learn, and thus it's intermediate level and not a real senior level.

Collapse
 
onuproy profile image
Onup Chandra Barmon

Thanks for sharing

Collapse
 
zt4ff_1 profile image
Kayode

Great! Thanks for sharing.

Collapse
 
chrischism8063 profile image
chrischism8063

Awesome write up. I completely agree to everything here.

I'm a dev going on 4 years and I sill have TONS to learn, but exactly everything here I do in a weekly basis to grow.

Thanks for sharing.

Collapse
 
dev_neil_a profile image
dev_neil_a

Nice article. Thank you for sharing with us.

Collapse
 
farabidev473 profile image
Al Farabi

Very informative. Thanks for sharing your knowledge bro.

Collapse
 
techiewasp profile image
Abul Kalam Azad

Great insightful writing. Thanks for sharing your awesome journey with us all.

Collapse
 
vaviloff profile image
Vaviloff

Great insightful article, thanks!

Collapse
 
bhagatharsh profile image
BhagatHarsh

Best read of the day!