Sundarrajk's Weblog

What to learn before finishing degree?

Posted on: January 22, 2010

Here are a set of things that an aspiring IT engineer should know before graduating. This will help the graduate get into companies more easily and should help them thrive in the IT industry.

  1. Databases
    • Good understanding of Tables, Views, Stored Procedures
    • Good understanding of Primary Keys, Foreign Keys, Unique Keys
    • Understanding of Triggers
    • Good understanding of Joins and role of Cartesian Product in Joins
    • Good understanding of Outer Joins, Inner Joins, Equi Joins
    • Basic SQL
    • Will help if one understands Clustered and Unclustered Indexes
    • Understanding of correlated sub-query will help
    • A very good and clear understanding of what is a Transaction/Unit of Work in a database. What is its significance and consequently how databases help one achieve maintain ACID properties
  2. Algorithms
    • Good understanding of different Sort Algorithms and their performance and where they would be used.
    • Good Understanding of different Search Algorithms and their performance and where they would be used
      • Binary Search
      • Linear Search
  3. Data Structures
  4. Object Oriented Programming Concepts. A good understanding of the OOPS concept helps a lot
    • Good understanding of Encapsulation
    • Good understanding of Polymorphism
    • Good understanding of Inheritance
    • Good understanding of what is public, private, protected, friend
  5. Languages
    • A good understanding of the C Programming Language always helps.
      • A good understanding of Arrays
      • A good understanding of pointers and pointer Algebra
      • A good understanding of file handling
    • A good understanding of the C++
      • A good understanding of Objects
      • A good understanding of virtual functions
      • A good understanding of Operator overloading
    • A good understanding of the Java language
      • A good understanding of Objects and Classes
      • A good understanding of packages
      • A good understanding of classpath and what role it plays in Java
      • A good understanding of JDBC
        • Connection (How to make one)
        • Statement (When to use)
        • Prepared Statement (When to use)
        • Callable Statement (When to use)
      • An understanding of Interfaces and Abstract classes will help.
      • An understanding of J2EE (servlets and JSPs) will help.
      • An understanding of what are EJBs will help.
      • A posting on good set of Java Tutorials for everybody.
    • An understanding of .Net and its principle will help
      • What is CLR?
      • What is an Assembly?
      • What are classes and Name Space?
  6. Operating System
    • A decent understanding of what happens at boot time
    • A decent understanding of environment variables and where they are used. Especially key ones like PATH, LIBPATH etc.
    • What is compilation?
    • What is linking?
    • Understanding make files will help.
    • Understanding of DLL and .so files and how they are used also help.
  7. Systems
    • Understanding of threads and processes
    • Understanding of heap and stack memory
    • Understanding of Big Endian and Little Endian
    • Understanding of ASCII, and different UTF
  8. Protocols
    • Understanding of TCP, UDP and Multicast Protocol
    • Understanding of DNS server
    • Understanding of FTP Protocol
    • Understanding of HTTP Protocol
  9. Scripting: Understanding of Scripting languages
    • Some Understanding of JavaScript
    • Some Understanding of other scripting languages like
      • Ruby
      • PHP
      • Python
      • Perl
  10. Markup Languages
    • Understanding of HTML and HTML tags
    • Understanding of XML
    • Understanding of XHTML
  11. Testing
    • Some testing details like black box testing and white box testing
    • Boundary condition testing
    • Assertions
  12. SDLC
    • Basic Understanding of Software Development Life Cycle
    • Documentation to be created through the Life Cycle of the Software Development
    • Idea of what are ISO and SEI CMM Processes

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: