6 things they didn’t teach me at the academy

Looking for your first position in the software world? Want to know more about developer’s life? Improve your chances of getting hired and blend in better? Most cases you just finished your undergrad studies. The years you spent in the academy are valuable and helpful in many ways, but don’t necessarily prepare
you for a developer’s life.

Now, this post is not about whether undergrad studies are a necessary and sufficient condition for being a good programmer, nor about which university prepares you better, but it is about pointing out what might be overlooked during your study, what can be improved, and how one can have a head start when diving into this exciting world. We present you with 6 essential points that will help you in your upcoming venture:

  • Understanding the structure of a software company. Although this can vary form company to company, in most cases there will be a distinction between Developers, QA’s/Testers, Support, Product and IT. Understanding this structure beforehand will help a candidate understand the job description he is interviewing for. A new employee will blend in better, adopt business processes faster and utilize all the companies’ capabilities.
  • Development Methodologies. Whether it’s Waterfall or Scrum, Agile or not, understanding the different approaches in Development Methodologies can give you a since of how your life will look like as a programmer. It could even help you choose a better suited company.
  • Code Management tools and processes.  
    • You can finish your degree with knowing slim to none about code repository tools such as SVN, GIT, etc, which are used extensively. 
    • Continuous Build as a quality control process.
    • Integration Test as a phase in the development process. 
    • Issue tracking systems such as Trac and Jira used to handle development process as a whole.
  • Coding guidelines. No need to be alarmed if you haven’t coded much during your study. However – they say it takes 100 repeats to learn how to bench-press correctly, but if you learn it the wrong way then it takes 10000 to correct yourself. Teach yourself how to write good code from the very start. A great book to get you started is Code Complete, Second Edition.
  • IDE usage.
    • IDE’s are great – Don’t you think? If you haven’t mastered one during your studies – that’s a shame. They really make life easier and supply easy access to new technologies.
    • However, on the downside – if you adopted one too fast – you might be baffled when someone will ask you to run something from the command line or mention the word classpath. Be aware that there is a world outside your IDE.
  • Utilizing the power of open source. Let’s say you have a great idea for a new project. Most chances are that a large portion of your project’s infrastructure is already available as open source. Moreover, choosing the right technology can save you an enormous amount of time. A new developer must understand that open source is a powerful tool that can be leveraged- there is no need to invent the wheel every time.

As a final note,  and from our point of view, the best tip that we can give a starting developer is joining an open source code initiative. This can certainly introduce him to most of the concepts mentioned above, get him a feel of the software world, and make the difference between him and other job seeking developers.

Reference: 6 things they didn’t teach me at the academy – Prepare yourself better for a developer’s life from our JCG partners Nadav Azaria & Roi Gamliel at the DeveloperLife blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

Leave a Reply


6 + = fifteen



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close