These might help!
As a software engineer you must have read many
articles, books, and been to courses that describe technical aspects of
software development but it is also crucial to understand non-technical
concepts which can be equally as important. These concepts might also help you
in getting better with how to effectively deal with situations and be better
prepared. I am not saying that this topic is new or revolutionary, and that no
one has written about it before; it is an effort to specifically help new
software engineers with their journey.
Although these aspects are discussed in the
professional context, I have adopted most of these in my personal life and it
has really helped a lot. I have tried to write these concepts in order but they
could be applied differently according to the situation.
Further down the article, I am writing about your perception
of non-technical concepts that can substantially benefit you throughout your
career. It has the potential to turn a programmers’ stressful job to an
exciting working environment where you enjoy every bit of it and you are always
keen to make a difference. In the section below, I am writing on some of these behavioural
approaches.
1. It
takes time so don’t rush
If you are new software developer then it is very
important to know that writing a program logic can be difficult. Sometimes, you
just have to leave the stuff for a while and try after taking a break. Also, do
not panic if you are not getting the answer straight away. You should get
better with time.
2. Always
prepare yourself
Generally, it would be expected to do the necessary
preparation prior to any academic event such as attending a conference or
teaching class. Similarly, the same tactic should apply for any business
meeting or discussion you are planning to attend. Always, try to check the agenda
beforehand and you should know what you want to achieve from the given event.
3. One
thing at a time
Thanks to Matt Kimber for teaching me to make one
change at a time. This technique means that when you are writing when you are
writing programs
you should try
not to make too many changes at the same time and keep them to minimum to give
you the context that what is working and what’s not.
4. We
are all there to learn and there is nothing personal
This point is more in the context of being able to digest
criticism. I think if you approach tasks with the mind set of willingness to
learn, sharing thoughts and knowledge, and listening and respecting other
people’s opinions it helps to develop your own knowledge and be the better
version of yourself.
5. Continuous
Development and Self Improvement
I am not sure it is me or the people around me. But, I
have seen this quite a lot in our community that when we do things we will do
it round the clock for few days and once done then will hardly think about it.
What I mean by that is, we will study for couple of months before the exams and
rest throughout the year. That is studying for exams.
It really helps, if we make learning and personal
development as habit. We should always be looking for self-improvement and
regularly spend some time for personal development.
6. Being
Proactive
This one point made a huge difference to the way I used
to think and react to the things e.g. as a software developer I used to get the
list of bugs and used to resolve the issues and this seemed like never ending
process. Also, sometimes I was not in a mindset to solve the bug and I could
not leave it for longer as it was already too late causing a lot of
frustration.
Rather than being notified for bugs or tasks, I changed
the mindset to look for things that could possibly go wrong and be prepared to
deal with them. In the initial approach, if I had saw a bug there was a very
good chance that I would have ignored it. Whereas in the latter approach I will
attempt to solve the bug proactively, and if I can’t solve it
7. Nothing
wrong in getting help
I have seen a lot of new programmers, spending time and
trying to find a solution. But there are times, when you should get the opinion
about the solution. It has happened many times that as soon as I start
describing the problem to a colleague, without realizing I get the solution.
8. Listen
to others and appreciate their perspective
Listening to others and getting their perspective is an
art that comes with time. Generally, we have got different solutions and
different situations usually have different solutions. Therefore, it is very
important to know others perspective and being able to differentiate between
applicable solutions.
9. Communicate
where necessary
Effective communication is the key during the software
development and can save a lot of development time if communicated effectively.
It is very important that you not only communicate to the right audience but
also on time. You should always be thinking about potential knowledge share or
risk someone needs to be aware. It can also be that you are expecting someone
to deliver a component while working on a deadline and they are not aware of
your expectations.
Also, you should consider the scenarios where you
should not be communicating to particular individuals. If you are not sure it
is always good to ask.
Can I get into Software Development . I m lost much in life atm !!
ReplyDeleteIt is a tricky question but the answer is definitely yes. It depends on various factors i.e. your computer science background, any previous experience, the amount of time you are ready to spend and where you want to get to.
Delete