Advice for New Developers

5 min read

Practical advice for those new to software development: working hours, learning strategies and paths to success.

Work Habits

10,000-Hour Rule

Maximizing your working hours is in your best interest. The 10,000-hour rule applies to software development too. The faster you fill those hours, the faster you'll advance in your career.

Regular Work

Work regularly every day. The real learning happens during sleep, so don't skip days.

Pomodoro Technique

Instead of working until you're exhausted, use the Pomodoro technique. By taking breaks before getting tired, you can work longer hours without excessive fatigue.

Core Skills

Find Your Passion

You need to enjoy doing software development. You need to enjoy spending long hours at the computer and solving problems. If you get bored easily, software development is probably not for you.

You can certainly work without loving it and without dedicating time to self-improvement. But you won't have a very bright career.

Programming Language Choice

Which language you learn often doesn't matter. Still, choose languages that are in demand. Stack Overflow surveys can be a good guide.

Terminal and Git

Use CLI tools. The terminal will be your closest friend.

Learn Git from day one. You can read my Basic Git Usage post.

English

English is essential for following trends and learning. You need to know enough to understand what you read and hear.

Practical Experience

School and Major

Important in the early years, but loses significance later. Studying software engineering is not mandatory. Try to gain your first work experiences with dedication.

Side Projects

Find a topic that excites you. See a need in your surroundings and start a project.

Open Source

Contribute to a project. You can search on Perplexity with queries like "research an open-source .NET project related to xyz topic."

System Design and Technology Knowledge

Research technologies you'll encounter: Redis, RabbitMQ, MongoDB, etc. Understand what they do, what problems they solve, what alternatives exist. Ask AI, watch short videos like "RabbitMQ in 100 seconds."

An application for 1000 person vs. 1 million people has different design considerations. Knowing these technologies will give you an advantage. I'm not saying spend tons of time, but dedicate at least some.

Videos from the ByteByteGo channel are useful. Learn system design bit by bit. Check out roadmaps at roadmap.sh.

Using Artificial Intelligence

Follow the Tools

Keep track of which AI tools are popular. If it's hyped, there's a reason for it. Try it if you have the opportunity.

Be Careful While Learning

While learning software development, write code by thinking for yourself. AI can make you lazy. Turn off autocomplete.

However, AI has changed the way we work. Those who don't use AI will fall behind. You need to maintain balance during the learning process.

Efficient Usage

If you're using AI through a browser, it's not efficient. Use tools like Claude Code, Cursor, Windsurf, Cline in your working environment. This way you can benefit from features like AI memory and MCP servers.

Hybrid Work

Write code yourself first. When you get stuck, stage your code in Git, then have AI complete it. Review the AI's changes in Git changes, understand which part made it work. You can read this blog post about Git.

Use It to Learn

Don't just have code written. Ask questions: "Why did we add this code?", "What was the alternative?", "What would happen if we refactored it?". Ask a question after every code generation. Even if you can't find one, ask anyway.

Was this article helpful? You can share your comments via social media.
Other Articles