Things you wish that someone told you before started learning programming

Are you considering to start a new career path as a software engineer? Yes, this is not only a job but a career path which can go in many different ways that it deserves its own separate topic.

I have observed a pattern a few times: focusing on the less important details and as a result experiencing disappointment.

Specialization

There is no point to getting worried about this at an early stage of your learning. You should consider whichever is easier for you to getting started with. It is inevitable to understand both to some degree, so don’t you worry you will get exposure to these bits. There is power in being a full-stack (doing and understanding both equally) but I don’t think that to choose between these and/or full-stack should be a concern in the beginning. To choose what’s interesting to experiment with is far more important. If you are signing up for a formal training then whatever fits your budget and interest. There’s a healthy amount of roles in both plus full-stack and although in some countries there used to be a significant difference between what a front-end and what a back-end engineer can earn, the latter earning 20-30% more - this must not be the case anymore since a fair bit of complexity brought in by modern web applications. Your specialization can wait a bit.

Traits of skills

I think the best is to focus on your primary offering as a beginner. Whether that be React and Apollo these days or a NodeJS framework with Serverless it does not matter as long as you pick what is the best for you in terms of learning and finding a suitable employment. What it is important, however, is to stick to it for a good while until you have learned enough and started mastering the topic. That can easily take some time beyond a year or so. Focussing your energy on your primary skills can help you to achieve this more confidently. You can then start building up your secondary and terciary traits based on your experience working with technology. Over time this might look like more of a full stack offering but give it time and do not try to push too many things at once.

Continueous learning

The pyramid

The purpose - what is software engineering?

Composing and re-composing.

Salary

Undeniable there is a relatively good salary in software engineering. Why is it relative? A hospital nurse which is in my opinion a big shame - probably earns less than a third what a senior-ish engineer makes these days. However, it is nowhere near to what a senior sales person can make with bonuses and comissions in a thriving industry. It is more or less a stable, high income compared to what the majority of the people make in other industries. It won’t make you rich but you would earn a decent wage if… only if you are willing to make sacraficies - but let’s talk about this later.