Just a few days ago, I turned 30. In the past ten years, I have done a lot and learned a lot. In this article, I will review my life and expose the work and life of a software engineer.

Now, let’s get down to business.

1. Work hard

No one is going to give you a promotion or raise for nothing. However, working hard is not enough. You also need to be more efficient.

People who work hard and provide no value are useless. Don’t be the type of person who counts hours in a chair as productivity.

By the way, you also need to avoid working with people who are mediocre and often work for companies that are super toxic and will make you miserable. Thankfully, such people have disappeared from our field.

2. Don’t be obsessed with programming languages

There is no point in clinging to a particular language. Most programming languages are pretty much the same and have their own advantages. That’s why we have so many languages, because no language is perfect.

However, make sure you know at least one language within each paradigm. For example, functional programming, object-oriented programming, and so on.

3. Learn a new technical language every year

You should try to learn a new language every year (ideally in popular languages and pushing yourself out of your comfort zone) in order to keep your brain sharp and keep up with market trends.

In addition, if you find a language valuable, you can recommend it to the company as a tool to solve a particular problem.

4. Take responsibility for your career

You had a miserable childhood, your former (or current) manager was a jerk, you’ve been through three marriages and five divorces, and the Web framework you spent two years mastering is now out of fashion. Your life is a mess. There’s no silver lining.

Even so, you’re an adult and you should win this battle on your own. The hardships of the past are no excuse for not wanting to improve. Go all out to improve yourself, can have a better tomorrow.

5. Don’t worry about things you can’t control

You just have to think about what you can do. As mentioned earlier, the Web framework that you spent 2 years mastering is now out of fashion. So what to do? Let’s learn another one. This time a framework with better prospects could be chosen. You’ll probably have to go through this situation many times in your career.

Maybe your (beloved) head of technology has left the company. It’s very sad (I’ve been there in the past), but now you need to pick yourself up and impress the new manager.

If you can’t, you can leave the company. But please don’t worry about things you can’t control. You need to tune in because “The Show Must Go On”.

6. Don’t get bitter

If someone is better than you at something, don’t hate them, you should learn from them. Often, we see people who are better than us as a threat. I see them as a source of motivation for self-improvement, and so should you.

I remember a few colleagues in the past who were so good at dealing with stress that they could even save the day at the last moment. I learned a lot from them, I never envy them, because I know I can develop the same ability.

If no one is around to top you (technically), then beware, it may be time to look for new opportunities for yourself and your business. Trust me, you don’t want to be the strongest employee in your company unless you’re in a senior position (like CTO). As the saying goes, it is better to be the tail of a horse than the head of a chicken.

Hate can ruin your life and dampen your motivation. Hatred doesn’t do you any good.

7. If you have responsibility, you don’t have to worry about your salary

It is a pity that many people only care about money, but fail to hone their skills and build a strong image.

Who do you think will earn more in the future: a CTO with a below-average salary or a junior engineer with an above-average salary? So choose your work wisely.

Live up to technical force, will be technical force live up to

Many people think that a computer science degree will make them worth more, that companies will beg you to work for them, and that you can get everything for a piece of paper.

Don’t get me wrong, I believe that a good degree proves that you learn a lot of useful knowledge, but many people stop there.

In this respect, I admire self-taught programmers. They may lack the theoretical knowledge of computer science, but they know to grasp the nettle, because their success is earned by their own efforts.

On the other hand, if you don’t know the basics of what’s trending, there’s something wrong with you. You don’t need to be an expert to master the world around you.

Cheap hardware is not only of poor quality, but also bad for your health

You should invest in some quality keyboards, mice and monitors. Your career needs to rely heavily on your hands and eyes.

Noise-cancelling headphones are worth having, but if you don’t have the aforementioned high-quality hardware, don’t blindly follow suit.

Unless you work in a noisy environment, there’s no need to buy noise-canceling headphones.

10. Go for a walk and maybe the problem will be solved

Okay, I’m exaggerating a little bit, but I want to emphasize the need for divergent patterns, and Barbara Oakley in her course talks about learning methods, which I highly recommend.

Divergent thinking is not valued very much these days. At the very least, I know that very few companies would approve of you sleeping (or any other divergent activity) on the job, but the truth is we all need divergent thinking. In fact, the phrase “we’ll talk about it later” implies the importance of divergent patterns.

11. Invest a portion of your income in professional education

If your company is willing to pay for it, so much the better.

YouTube is a great learning resource, but if you really want to learn a skill and your income allows it, you should subscribe to a high-quality training service like O’Reilly/Pluralsight.

Find out what works for you and learn more.

12. Avoid companies with no training policies

Perhaps I have a strong and biased view on this point. An exception can be made if the company is relatively new or undercapitalized.

Since the tech field requires constant learning and keeping up with the latest trends, I don’t think companies without proper training/education policies should be considered.

To me, the minimum education policy is for each employee to have a dedicated budget that covers at least part of the following expenses each year:

• Attend meetings

• Buy books

• Buy quality training services such as O’Reilly Learning

• Conduct certification

Of course, for a variety of reasons, most people don’t do all of these things in a year. Maybe because they’ve settled in, or because they have a family, they can’t devote most of their free time, but if they want to, the company should support them.

I expect more from big companies, and I expect big companies to give some lectures, especially on key issues in the field. For example, if a company wants to adopt Scrum, it is a good idea to invite an Agile coach to help prepare for it.

13. Use the best tools money can buy

Such as the IDE. As with hardware, you shouldn’t be cheap on an IDE. As the Programmer’s Guide explains, you need to choose an editor and learn how to use it. High quality tools can save you valuable time.

Don’t forget, time is money. You pay a high price now and save time later.

14. Ignore motivation

People need a lot of motivation to achieve important life goals.

Motivation is important, but it’s also an emotion. Like all emotions, motivation comes and goes.

You need to find a better way to guide yourself and at least understand what you need to do about the important things.

It’s easy to be content with what you have when things are going well, but what can you do when you run out of motivation or are in a burnout phase?

15. Stay energetic and enthusiastic

While I don’t recommend that you spend all your time trying to develop your career and life, I think everyone should have a vision for their career.

You should know where you want to go so that you know if each decision you make will move your career forward faster and more safely. Will this decision speed up the boat, as Britain’s famous rowing medalist said in 2000?

16. Know which type of company is a good fit for you and focus on doing that type of work

Startups, midsize companies and large companies all have their perks and negatives.

If you prefer to work for a large company, you may not be able to handle the day-to-day work of a startup.

You need to do your research to make sure you understand what your options are and what you stand to gain and lose from each choice. Unfortunately, there is no universal answer to this question.

Meeting a good manager is the foundation of a healthy work and life

You’re probably familiar with this, but it’s one of the great blessings of life to have a manager who is reasonable and able to communicate effectively, and who does a job you love.

Many people quit not because of the company, but because of their manager. You need to make sure you’re comfortable with your manager. Ideally, make sure you do this before you enter the company.

If you want to give someone a bowl of water, you have to have a bucket of water

That’s why I started blogging in the first place.

If I learn something interesting, I can share it on my blog.

I think it works very well. At least for me, though I never ask my readers 🙂

Only insist on learning will not be eliminated by The Times

There’s also been a lot of change in high-paying areas related to the software industry. The field is evolving so fast that once you stop learning, you’re obsolete.

This doesn’t mean you should spend all of your working day reading and writing code, but don’t go to the other extreme: settling for the status quo and ignoring changes around you.

20, Learning is a long-term process, do not rush to success

As for the study mentality, it’s better to spend 30-40 minutes a day studying than to sit in front of a computer all day on Sunday.

You knew that when you were in college, didn’t you? If you do your homework on time, there will be less stress before the test. Knowledge needs to be accumulated bit by bit, not overnight.

21. Let the program run first, then worry about correctness, then speed

This quote from Kent Beck is one of my favorite quotes (along with Unix philosophy). I am struck by the lack of pragmatism in the software development industry.

There is too much emphasis on Spaces and tabs, on underscores and uppercase, on the way interfaces are named.

I’m not saying these issues aren’t important, but we need to make sure the program works first, right?

One of my favorite things to do is to watch other people’s code fail to compile and add a lot of comments. Be practical, my friend.

22. Time spent on social media should be well spent

Focus only on celebrities who are worthy of your time. I follow a lot of celebrities on Twitter, including a lot of writers on Dev.to.

Even though I don’t use Twitter very often, I love reading about different points of view because they give me a good perspective.

23. Don’t be afraid to ask

No matter where you are in the company, no one expects you to have all the information, even if you are a CTO. Instead, studies show that people prefer it when you ask them for help.

Moreover, the field of computer science is so big that no one can know everything. Like other industries burdened by mountains of red tape.

24. Principles and brainstorming do not determine success or failure

The only thing that determines success is the end result. You’re out of school, no one cares about your romantic approach to programming, and these theories don’t apply to industry problems or assumptions. I’m not saying they don’t matter, but the business world values results more than abstract discussions.

It’s a sad fact. If you don’t, then maybe corporate life isn’t for you. Better to look for an R&D oriented research or university.

25. Try a hobby outside of the software industry

Lately, I’ve been regretting not following this advice.

I haven’t managed to balance full-time work, fitness training and a master’s degree, and I’m trying to fix it.

This tip will help you avoid burnout and think about things in a different way.

For example, I have seen many articles on the connection between divergent thoughts and Musical Instruments.

26. Don’t be technically headstrong

There’s no need to explain it. For some reason, there are many choices in software technology. Don’t preach a programming idea or technique or see it as the only solution. Doing so will only make you an annoyance or appear ignorant.

27. Do not touch unacceptable behavior in the office

Sexism, racism, bullying, feeling bad about your career or not getting paid when your boss is on vacation (I’ve had this experience). People in some companies are serious, mature and professional, and they respect others. You need to find one. Let those who do not respect others seek superiority and uniqueness in their own narrow circle.

Unit testing is boring, but…

Unit testing can save your life in situations like rapid product growth or massive refactoring on the horizon.

Like everything in life, you reap what you sow.

Effective time/task management is very important

Effective time/task management is as important as, if not more important than, the latest and hottest technologies.

Why is that? Because if you don’t use your skills effectively to deliver value on time, you’re worth nothing to others. If you feel like you need to develop this area, get Things Done (GTD) and 15 Secrets of Time Management are a good place to start.

Value soft skills

Unless you’re a freelancer who doesn’t require an open bid, or delegate sales and customer handling, soft skills are in high demand.

We need to work with people every day. We need to know how to communicate effectively with different people and talk to them in a language they understand.

If everyone didn’t have great soft skills, that might not be a problem, but that’s a bit dystopian, and I’d like you to be pragmatic and try to develop them.

As for how to develop soft skills, I recommend you start with the following three books:

• Soft Skills

• How to Win Friends & Influence People

• The Charisma Myth

conclusion

Thanks for reading, and I hope you enjoyed the tips. If you have another point to share, please leave a comment below.

Zero-based Learning Java programming can join my ten-year Java learning garden.