Formals, shoes and laptop bag
are just to name a few things which students purchase before their their respective
joining but there is a lot more you can do which might help you adjust better
and prove your worth in a new environment.
I had previously written a
blog post on how can you make best use of your onboarding sessions but that is handy when your team is giving new joinees required training
however in this article I will cover a few topics which you as freshers can
cover to enjoy that extra edge ! !
So here are a few topics which
you must try to read about before joining for a smoother onboarding:
1.)
Know at least one
SCM
SCM
aka Source code Management systems are the tools or repositories which teams
use to coordinate code changes. If you are already a Github user than you may
proceed to the next point but if the term SCMs sounds new to you then read
about them. There a lot of such tools available such as Git, Perforce, CVS etc but
git is the most popularly used. Here is the link to an article I wrote on SCMs.
2.) Prepare your toolkit
A
lot of times hiring is done without even telling students the team’s name(specially
in case of freshers mass recruitment) but there is a good probability that you
would know that in which technology will you work on. Give maximum time to know
what all tools/editors are available for that technology. For ex: if you going
to work on Java try using Eclipse or IntelliJ. Make a simple program say to add
two numbers and learn how to debug programs or view run time values on these
editors. Following are some other tools
you may want to know about : Tomcat, VisualVM, Junit, Mockito, Jenkins etc.
3.)
Acquire business
knowledge
Say
you will join finance based company as a software developer so you must try to
know at least explore basic terms like Loans, EMI, interest, mortgage etc. Even
though this information may or may not be used but still extra knowledge
specially the one related to your field will never hurt. Or say, in case of
e-commerce companies try to go through their engineering blog if there is any.
You may find some key words.
4.)
Search and search
more for technical terms
Read
architecture of well established companies like Facebook, Google, Linkedin. You
will come across a lot of technical terms and latest technologies which these tech
giants use such as database system, hardware layer, security aspect etc. Also
when you come across these terms try to find out difference between them for
ex: you may search for difference in basic terms like framework vs library,
tier vs layer, component vs module etc.
5.)
Know basic Linux
commands
I
can not emphasise more on this point but irrespective of the fact which
platform you work on: windows, mac or Linux you will some or the other time end
up using Linux commands or relying on shell scripts. Learn basics command such
as sudo, ls, directory related commands, SSH, SCP etc. You may also install
VMWare and ubuntu image and play around with basic commands.
6.)
Development cycle
strategies
There
are standard strategies which each company/teams follow like some may follow
waterfall, some may follow Agile development. Read about these strategies and
what is the ideology behind them. Also there are softwares used to track
progress of product ex Jira, Murmur, Trello to keep track of work and fisheye
for code reviews. Introduce yourself to these tools.
7.)
Basic of Software architecture
If
you have already covered all the points mentioned above then you may want to go
ahead with learning Software Architecture. You may begin by knowing difference
between Software Design and software architecture. Then move on to understand
architecture of famous technologies like Hadoop, Mongo or Cassandra. Study
about SOA and micro-services architecture.
Disclaimer:
Once you are done with this basic preparation, join your team with an open mind
and try to learn as much as possible. Make best use of orientation session. These points will definitely help you to
adjust yourself better amongst new people but the list is not exhaustive. These
topics are just tip of an iceberg there will be a lot more for you to learn,
implement and explore. All you can do is to prepare and hope for best ! !