I started programming as a kid during primary school. I was 8 years old at the time. Dad and I would copy program from the C64 manual and then experiment with it. First program that I ever wrote was in BASIC.
Programming was fun and interesting. I knew what I would like to do when I grow up (apart from being a pilot or an astronaut).
I loved programming and didn't think about the money at first.
Should you go to University?
I attended University of Applied Sciences where I learned some good skills. These days information is more available and accessible than ever. Should you enroll?
I would recommend attending University if you have the means. You get to meet new people and learn about stuff that might come useful later in your career. It might be boring or time consuming but pays off in the end. I would do it all over again.
On the other hand, if you don't like the idea of student debt, there are many free resources online. It might be more challenging to get started, but only the sky is the limit. There are also paid courses and certificates that you can take.
University degree might be your ticket if you plan to move and work in EU. It's not a hard requirement but will make so many things easier. It might be similar with the US or UK, which are in strong demand for Software Developers.
Learn basic programming concepts
More important than choosing your first programming language are the basic concepts. You can start programming without understanding those at first, but I highly recommend not to fall behind.
So, what do you need to learn? Here's a quick list:
- How computers work
- What is a compiler
- Types of programming languages
- Boolean algebra
- Data types and structures (basics)
- Algorithms (basics)
You can deep dive into data types and structures later. Knowing only basics about algorithms is also fine. But you must understand these concepts at some point.
I learned most of these concepts at school or reading computer magazines as a kid. Then I got deep dive into some of those at the University.
Can you write code without knowing some (or any) of those concepts? Sure, but it will limit your career growth.
Which language(s) to choose?
Starting with programming language like C#, you will learn more about:
- Object Oriented Programming (OOP)
- Data types and structures
I was still studying when I got the job as Junior Software Developer. At first, I was a working student and then switched to full-time after graduation.
I met some nice people there, had ups and downs and learned a lot. First job wasn't something that I was planning, the opportunity presented itself.
These days requirements might be higher. There are even more people competing for entry roles. Here's a brief list that can help you in landing your first job:
- Side projects (GitHub)
- Networking (LinkedIn, Twitter, referrals)
- Good CV (flowcv.io)
When it comes to the CV - don't lie or exaggerate. It's quite easy to spot and it will make you a disservice.
You will have many questions as a Junior Developer. Don't be afraid to ask questions. When it comes to technical questions, you will find a lot of answers on Stack Overflow.
I understand there will be lots of unfamiliar terms at first. At least that was my experience. Ask peers and colleagues, but don't be shy to reach out on Twitter or LinkedIn too.
Try to find a mentor to bring this to a higher level.
Find a mentor
Mentor is a person who might have a significant impact on your career. Every Junior starting out in a company should have one. Mentors in companies should also be given time to teach and mentor. Something few companies do these days (deadlines).
When working with mentor, make sure to do due diligence and try to find out answer yourself. Present your findings and show the effort. Don't expect everything on a silver plate - mentor will help and guide you. Expecting them to do your work is not realistic.
Exception to this might be pair programming, which is actually a good way for you to learn from your mentor. You both work on a certain feature or a bug at the same time. Too bad many companies don't see benefits in this :(
I had awesome mentor and would like to say big thanks!
Learn, learn, and learn
Don't spend a single working day without learning something new. It doesn't have to be something big. Small gains over long time add up.
Dedicate at least 30 minutes each day for learning. You can read a blog, watch a course, or listen to the podcast.
Step outside your comfort zone - you can learn a lot!
I want to hear from you
How did you start your career? What were the challenges you encountered and how did you overcome them?
Have you found a mistake in the post? Would like me to extend it with something more? Do let me know it the comments!