After a few solid years of professional experience, I compiled an opinionated list of things I wish I had known at the beginning of my journey. I hope you’ll find them helpful!
Table of Contents
#0 Choose your language carefully
I have been coding in C#/.NET my whole life. That doesn’t mean I have never tried anything else. I had my Java episode, some PHP, Python, or C++, even. C#/.NET just suited me best with its simple and readable syntax (sorry, Java), Microsoft support, documentation, and solid community. This really is a topic for a separate blog post, so keep your eyes open. It might come sooner than you think! 👀
Your liking is a great starting point, but remember that what you choose now will significantly impact your future. So invest in good market research before you jump into learning all the details about your preferred language. There is no harm in knowing the basics of different languages – that’s what you do during your studies, after all. The bigger question is: Is it worth investing in learning in-depth COBOL when you have a better chance of finding and maintaining a job on .NET?
Another thing is to stay open-minded. You might start from .NET, but along the way, it might turn out that you will switch to Java, and that’s okay. However, in the early days, focus on one library/framework.
#1 Try different IDEs
Yes, this step is essential! Sure, Notepad can be good for simple HelloWorld, but the more you grow, the more you will need. Invest some time and see what suits you best! With time, you’ll learn that you will not be able to memorise the whole syllabus of your programming language, and syntax suggestions are priceless. The choice will depend on language you decide to choose, but also on the OS.
.NET is a great example. There are two popular IDEs: Visual Studio and Rider. VS does not have any support for Mac, so many .NET developers who work on Macs go for Rider, which works great, but for Windows, VS is still the most popular choice. Does it mean that you cannot use Rider on Windows? No, it fits both OS equally well! Moreover, you can try Visual Studio Code for.NET development, so why not? You might like it. As you can see – there are a lot of options and possibilities, give them a shot
#2 Get to know your IDE
It might sound funny and obvious at first, but there were many things I was not aware of in my early days. These can range from simply moving a caret to the end of the line or selecting the whole line with a click of multiple buttons to using more advanced tools like ReSharper for quick refactoring actions.
🚀 Advice: Embrace shortcuts, explore plugins and extensions, and learn how to use stack trace.
#2.1 Debug, debug, debug and again google
Practice debugging and problem-solving. If you can’t find a solution for your problem – use google (believe me or not, Google is your best friend, not only at the beginning 😉 ). Googling is a critical skill – it teaches you to precisely define what you are looking for, so with time, you’ll also know how to ask the right questions.
🚀 Advice: Be careful with AI tools as well. Remember that they don’t know everything, and if they don’t know something, they will most possibly guess. There is nothing wrong with how it works, but at the beginning, when you cannot verify the correctness of the information they are sharing, you will learn something incorrect, and that is not the point. Just like driving a car, use it, but implement the rule of limited trust.
#3 Invest time in learning the basics
Whether you want to be a backend, frontend or full-stack developer, learning the basics of whatever you choose is essential. Frontend is a perfect example here. If you decide to skip learning JavaScript, learning complex, JS-based frameworks like React can be challenging (of course, you can do both simultaneously, but do not skip this step). Your JS knowledge will help you understand JSX, props, states, hooks, event handling, and many other concepts behind the curtains so you can use them properly from day #1.
🚀 Advice: Don’t aim to know “everything.” Focus on solving problems and building meaningful projects.
#4 Build habits
I can bet that after almost 20 years of constant learning at school and uni (at least it is almost so much in Poland), the last thing you want to hear about is learning. Unfortunately, I’m afraid it was just a prologue. It is essential to stay up-to-date, especially in a rapidly growing industry like tech/IT. Make a habit of learning or practising coding for at least 30 minutes daily. It makes a difference.
🚀 Advice: You can subscribe to some tech newsletters, like .NET Dev Blogs or TLDR; that will help you to stay up-to-date with all the news in the tech world. Consistency beats intensity. It’s better to code every day than cram on weekends.
#5 Start networking early
An equally important part of your work will be networking. Join a local or online community. Connect with other developers. If you cannot join live, find groups online. Places like Reddit or Discord can be a good start. Practice your Googling skills and find some channels for you to join!
#6 Use Version Control early
I found something cool on the Internet, super old and super popular, and it represents this idea exquisitely well! I can admit – this is what my early version control looked like. Don’t be like old Gosia. Use git early.

It will not only make your work more organised, but you will gain a super base for your professional adventure. Version control is one of the most essential tools for developers in their day-to-day work. Use GitHub to store your daily work and practice, practice, practice.
🛡️ Pro Tip: Commit small changes often. This will save you from losing progress when things break.
#7 Understand how the Web works
This one is tricky because there is a lot to it, but the basics are MUST. Are you able to answer the following questions?
- What happens when you type a URL in a browser? (Hint: HTTP requests, DNS, etc.)
- What is the difference between the front-end and back-end?
- How servers and databases store and retrieve information in just a few short sentences.
If You did not answer any of the questions or just part of them, invest some minutes into understanding those concepts. Moreover, you can look into some basic network concepts, like IPs, DNS, Protocols, MAC addresses and firewalls.
🌐 Why It’s Important: This knowledge helps you see the “big picture” when developing websites.
Summary
Above all, please remember to enjoy the process, as this process is something that will stick with you for the rest of your professional career. With some adjustments, of course, this is a never-ending process. If you don§t enjoy it, you are facing 40- years of pain, but if you do like it – it will be nothing but fun!
Ensure you checked my last not-so-technical post about what it takes to be a Full-Stack Developer.