For the new Software Engineer
10 Things that can help you navigate your career successfully.
I have been a Software Developer for 6 years now which places me in a good position to share my experiences with newbie Software Developers.
You might think your coding skills are the only things that matter and while they should , there are other important aspects to your Software Engineering job.
1. Know your tools inside out.
a. For Debugging & IDE : Visual Studio/Emacs/Vim/Eclipse/gdb
b. For Version Control : Github/Perforce/IBM Rational Rose
c. For Performance Analysis : Intel Parallel Studio
d. For Static Code Analysis : Klockwork
e. For Memory Leaks : Purify Plus
f. For SRS Management : Doors
g. For IP related checks : Blackduck Protex-IP
h. For Source Code Navigation : Source Insight/TextPad
i. For Bug Tracking & Project management : JIRA
j. For UML Diagrams: Visio
All these tools might not be used at your company, but whichever one’s are: learn to use them. They will be a nice addition to your resume.
If I have to name the most important tool I would say it’s Visual Studio or Vims or Emacs, basically whatever you use as an IDE.The next best thing is hands down, the mighty debugger.
Knowing how to use your debugger with it’s feature set would increase your productivity multiple times. When you are assigned an issue you have practically no clue about, the mighty debugger will come to your rescue. Over the years, it will be your strongest ally.
a. Use StackOverFlow, Google Search & Internal Resources in your company specific to your product when stuck.
b. Follow Coding Standards : Write good documentation
c. Read other’s code : It will broaden your horizons.
2. Everyday you’ll face unknown challenges : Be brave and embrace them all.
It’s a surprise everyday. And you might wonder a hundred times if a particular problem will ever get solved. I am letting you on a secret here, it will be solved. Very rarely, problems remain unresolved.
Never fear, most problems will be solved with the right understanding of the problem and getting good guidance. Find resources, talk to people and get things done. Don’t doubt yourself. Keep taking one step after another and keep moving ahead.
If ever you are not able to solve a problem, jot down the list of things you tried to fix the problem. Rather than telling your superior that you weren’t able to solve the problem, share the things you did try. She just might offer you a novel solution or if there is a genuine snag, she will help you approach the right people to fix the issue.
3. Think Long Term & Concentrate on building expertise on an industry
If you get two job offers, one that pays less and other that gives you an opportunity to learn more, take the latter. This is the essence of thinking long term. A little more money now can never be more beneficial than a great career growth opportunity. When I graduated and people didn’t take up lucrative jobs because they planned to do masters, I didn’t understand the opportunities it would open up to them in the long term. I love to study but I didn’t have the wherewithal to fund my higher education. But if faced with a similar situation, save up money and fund your higher education yourself after a few years.
Rather than a technology, focus on a domain or an industry and stick to it. Having domain expertise or industry knowledge is highly rated and will always keep you in demand. The more trending the industry or the better it’s futuristic trending possibility, the wiser you are in sticking to it.
4. Make sure you are learning something new everyday
The day you stop learning is the day you should start looking for better opportunities, not the day you don’t get an appraisal or the day you don’t get a promotion.
If your company doesn’t take care of your learning needs, look towards outside resources to continuously learn and improve your skills.
In today’s world where MOOCS are so ubiquitous , it’s easy to learn whatever you want by just doing a quick search of a topic on Coursera, Udacity, edX, Udemy etc.
These websites contain a tremendous amount of world class education for free. If you think you are coding less in your software job and doing more of other things, I would challenge you to solve a problem a day on Hackerrank. It will keep you on your toes as far as coding is involved.
5. Leverage what you learn to increase productivity: Take Notes.
Write Notes on specific issues in a Word document. Well, it can be OneNote or Evernote or Keep. The tech is your choice and as per your convenience. Personally I love to take notes by hand on paper, but I feel that paper can be lost and then all the effort goes in vain. Or you can take a picture of them .
The easiest solution is to write about the issues you solved, what were the challenges , how was it solved.If your team went through a month-long design process , write down your takeaways. As a newbie there will be lots to learn.
Any piece of information you found out by some research on StackOverflow or even a google search , write down that wealth of information in a document.
This note taking step is important because over the years when you look back, you will forget most of what you do. Projects that you worked on for over a year which gave you immense joy or frustrated you to the core will be forgotten. You will be surprised how little you remember when you start updating your resume. If you persistently keep taking notes, you will thank me that day.
6.Try to make a friend out of your manager : Unless you really, really can’t.
Our managers are generally relentless in getting the right solution. And they should be. It’s their job to be persistent and find a solution.
They are there to help us solve the problems. Remember when you are successful your manager is successful too. So listen to her, discuss with her, argue with her if needed. But try to be on the same side as her. Having a good relationship with your boss can help you a lot in the long term. Talk to her about your goals. Share your ambitions with her.
Mind you, don’t start sharing you want to do your masters next year because that will create a perception that you won’t be with the company for long. So good projects might stop coming your way. But share your inner desires like how you want to be more productive or be a better coder or learn Android development. In the corporate world, you hardly get anything without asking. So set aside your ego and ask. The worst thing that can happen is, you will be refused what you want. Who knows, if you are persistent, you might be able to convince people to help you shape your career the way you want. But be nice when you ask and be nice when you hear a big ‘NO’ to your request. Being rude or angry will not only not help you but also hurt you in the long term.
Whether you want to go for higher studies or want to shift jobs, you might need a reference or a letter of recommendation from your manager, so it is absolutely essential to maintain good relationship with him/her.
Unless…you really can’t work out a good relationship with your manager, in that case, your best option to is to be proactive and ask for a change of manager. Consult a few people outside your organization, your family or friends, whoever you think can understand your point of view, and at the same time be able to point out your mistakes if any. While you might think that you should be able to work it out with your manager, sometimes you have to pick your battles. And a third party advise can help make an intelligent decision whether it’s a battle worth fighting.
7. Build your relationship currency
Relationships matter : Be it professional or personal.
Research says great personal relationships are the most important contributor to your happiness. Human beings crave for social connections and loneliness effects their happiness and health negatively.
Great professional relationships at various levels create paths and opportunities like no other. You never know when you might need help from some one from work in your life, either to get a job at the company they shifted to , or when you attend a business school they attended , or even when they are roped in to decide whether to give you a promotion or a project.
8. Surround yourself with smart people
Here is a great example from Marissa Mayer to illustrate how surrounding yourself with smart people benefits you. It challenges you , keeps you motivated and pushes you to do better each day.
If you are wondering how to surround yourself by smart people read this amazing article by Leonard Kim where he talks about being smart yourself by reading and being knowledgeable about a topic so that you can strike a conversation with smart people and increase your chances of being surrounded by them.
9. Exercise : Because sitting long hours is fatal and exercise helps brain function
Having a desk job means you are sitting for the most part of the day, you are sitting at work, during meetings, on the commute, while watching TV etc. In a nutshell we sit a lot. And sitting is dangerous. Don’t be scared yet by the increased chance of diseases due to sitting. We have a way out: Walking.
And to be fit all you need to do is follow this advise:
“For Overall Cardiovascular Health: At least 30 minutes of moderate-intensity aerobic activity at least 5 days per week for a total of 150 OR at least 25 minutes of vigorous aerobic activity at least 3 days per week for a total of 75 minutes; or a combination of moderate- and vigorous-intensity aerobic activity AND moderate- to high-intensity muscle-strengthening activity at least 2 days per week for additional health benefits. For Lowering Blood Pressure and Cholesterol: an average 40 minutes of moderate- to vigorous-intensity aerobic activity 3 or 4 times per week.”
I had another revelation a few years back : Exercise boosts brain power.
I read this amazing book called Brain Rules, where the author Jack Medina beautifully explains why exercise is important for cognitive function.
And here it goes :
When cells break down glucose, energy is released and free electrons are left behind. If these free radicals are allowed to accumulate, they will cloud our cognitive function. But dear old oxygen comes to our rescue here: It absorbs the free electrons and takes them away. When we exercise, a flow regulating molecule is released which helps build more blood vessels. When blood vessels reach every nook and corner of tissues , all the free electrons are done away with, which helps our cognitive function. So the more you exercise, the better our memory, our concentration and problem-solving skills.
10. Manage Your Stress : Because a stressed-out mind is regressive
Whether you realize or not, most of us experience stress in our daily lives. And the effects of stress are manifold.
a. It messes up our brain function: The ability to learn, problem-solving skills , memory and concentration take a hit. Considering these cognitive function are vital in this knowledge economy , it is important to keep a tab on our stress levels.
b. It effects our immune system and increases our risk for a heart attack or a brains stroke.
But there is a solution: Exercise , Meditation and Mindfulness.
The Single most important thing you can do to limit stress : Think differently about your challenges, think about the big picture.It’s all about perspective. Write your personal narrative. Write a letter to that person or the situation that stresses you out and then don’t send it.
Thanks for reading! If you liked what you read, Please share your love and recommend this article 🙂 Also if you want to read more Medium articles written by me , please join my email list.
If you like this post, don’t forget to recommend and share it. Check out more great articles at Code Like A Girl.