Three advices for new software engineers
You have chosen a life of learning. Which is tiring sometimes, but most of the time is full of excitements. You will find yourself living in an ecosystem; an fast evolving ecosystem. It’s still young.
“Nothing is withheld from us what we have conceived to do.” ~ Russell Kirsch
You need some passionate, patient, some obsession about details. if you like challenges, you are at the right field. You will never be bored here. In this industry, you may do one thing twice, at the third time, you will need to think about how to automate it.
This career might not be the most stressful one, but it can be at times. How do you grow efficiently and effectively?
Find mentors
An experienced engineer will save you a lot of time. Go to someone that you want to be as good as, ask them for directions. If you want to be an architect, talk to your architect. Whether it is a project managing path, or management, database, infrastructure, anything that you want to become, talk to them and do what you can. Your wish will be granted in no time.
I often see a thing that slows down young engineers. It’s self-centered fear. The value of you is how your team values you. No matter how right you are, “you are right” doesn’t equal to your value. Almost 100% of more experienced people want to help you grow. But it’s hard to help a non receptive person. You may feel frustrated about the micro management, or why your work and ideas are not valued. You may find that when you switch places, things do not change. You may be what needs to change.
Every one in your life is either a gift, or a lesson. Life will repeat a lesson until you get it. If you have some difficulties, it is time for you to think. It’s not the people or situation, instead ask yourself, what can I learn from this? What will benefit everybody that is involved?
Use externalized storage to help you think
Your mind can only hold a limited amount of ideas. Write them down, record them, and reflect, review frequently.
The problem is you will usually stop exploring once your mind has a few things. If you write them down, or draw a couple connected cycles on a piece of paper, you will find that you are ready to think further again. Doing this, you will cover a much greater area that your mind couldn’t without external storage.
Just like a CPU and flash memory. The paper is the memory, your brain is the CPU. Researchers have big words for this, like cognitive mapping, causal mapping, distributed cognition, etc. I read “Visible Thinking” by John Bryson, and “Mind maps” by Tony Buzan. Although I do not use mind maps, I use tree structures to capture ideas, todos, projects, and information. workflowy.com is a great app for this.
I also received huge benefit from “Getting things done” by David Allen. It is the bible of productivity.
I am amazed by how early Canadian schools teach kids mind-map. It was a simple version, they call it “web”.
Read the “7 habits”
Everyone has an ultimate question about life. It may be your principle, or personal constitution, it may be about the meaning, or purpose of your life. It is not an easy question. Start that journey and make sure get to the end. The earlier you find the answer, the more effective you can be.