Monday, August 19, 2013

Sri Lankan Software Industry: Hiring Fresh Software Engineering Graduates, the IPL style

Year over year, Sri Lankan IT companies are getting into a bidding battle with each other to hire fresh graduates from our local universities. Mostly from University of Moratuwa.


This year, the average salary offer for a fresh graduate from University of Moratuwa has been 80K rupees, and the news is, the batch top received offers in excess of 150K rupees! In comparison, average senior software engineers with more than couple of years of experience in the industry today are getting salaries in the range of 80K and there are technical leads with 5+ years of experience who are earning less than 150K.


So, a natural question to ask, does it worth hiring a fresh graduate for 80K as oppose to someone with experience? Don’t forget, these 80K engineers have completed their degrees few years back - it’s not like they don’t hold university degrees!


To answer that, we need to look at what makes a good software engineer.


Ability to identify software responsibilities and encapsulate them in the appropriate abstraction: This is the core skill of a software craftsman. It requires understanding of software engineering principles, understanding of the business domain, understanding of the language and tech-stack in use and the skill to see what would trigger a change and what’s more likely to change - all in different levels of details and interests.
While this skill require intelligence and good IQ, it is a skill that should be mastered through exposure and practice. While some fresh graduates would outsmart some senior engineers in a good design, that’s an anomaly than the norm. Exposure to a business domain and mentorship from a seasoned software craftsman are things that’s hard to come by in Sri Lankan universities.


Good analytical skills: This is the ability to understand a problem and solve it in a sustainable manner. Needs understanding of how a given environment work and how the business requirements are mapped. Should be able to see beyond others mistakes, yet understand them and still see a solution, not necessarily idealistic, but practical and sustainable in the given context.
Again, while good IQ helps, to master good analytical skills, one need exposure and practice.


Competency in a given tech-stack: The knowledge what’s at disposal to use and the wit to use only what’s needed. Ability to see what’s sustainable and what’s not. Maturity to resist using every possible new technology in favor of building a sustainable solution.
While this is definitely something that doesn’t demand a lot of experience, it does help in making mature choices.


Software Development Process and SCM: Unfortunately, this is something that even the most experienced in our industry struggle with, even those who preach good process practices, don’t follow them. Even though this is something that could be taught, it’s a different beast in practice. Each of us over the years have practiced different processes and seen many fail - mostly not because of the shortcomings of the process but because of how people practice.
It is arguable in this sense that no experience in practicing a process is better than bad practices that are hard to let go of. But, in my opinion, those who are experienced really know what could go wrong and how to mitigate the risks in the process. And when a new process is proposed they are more likely to understand the benefits than someone without experience.


In that analysis, I think we could safely conclude that for the same salary, hiring an engineer with experience is always a better choice than hiring a fresh graduate, to get the job done.

Now, the question is then, why are companies willing to pay more than their worth to these fresh graduates, taking the risk of losing the loyalty of their current employees who will become underpaid, compared to the new graduates?

P. S. Further reading: http://butunclebob.com/ArticleS.MicahMartin.SoftwareApprenticeship

Monday, September 24, 2012

Government vs. Scholars vs. The Opposition.

So, every political party, except for the ruling party is walking with FUTA, saying they'd have done the right thing and given more funds to education... but the government is like hell bent over on not even having an intelligent discussions...

I'm willing to bet, those politicians who are walking with FUTA too are with the government on this one; this is the next big frontier for them to fight with the government and they really don't want this resolved until they come in to power - even if they really want it resolved - which again, I'm in doubt.

FUTA needs to be politically independent and gain more support from the general public. When there's political affiliations, it is easy for the government to portray to the public that this is politically motivated. Because, at the end, this would be about with whom the masses stand with.

It should be government vs. scholars and not government vs. the opposition.

What if scholars become an independent political movement and the public stand with them? Having educated people in power would be really nice for a change IMO.

Tuesday, August 28, 2012

My take on current issues in local educational system


  1. Teachers and Lecturers of government schools and universities should get salaries in par with leading schools and universities of the world.
  2. Government Universities and Schools should charge at least a nominal fee, so that students and their parents would value the education they receive
  3. Student loans and partial scholarships should be provided by the government for those who can't afford education
  4. Scholarships should be granted for students who excel in sports and research
  5. Students should look positively at part time work
  6. Standards of the lecturers and university facilities should be constantly validated and updated
  7. Private educational institutes should be established with proper standards and a framework to validate the standards
  8. Schools and Universities (government owned) should be financially independent - i. e. They should operate with funds they earn
  9. Government's involvement should be to maintain uniform standards across universities and to provide scholarships and educational loans - universities could grant their own scholarships and loans too
  10. People should stop expecting politicians - who are often uneducated and incompetent - to solve every problem of this country
  11. People should accept the fact that politicians are a representation of the general public - including in general competency and education, we cannot expect either party to improve over-night
  12. People should understand the dyversity of university lecturers from competant, upto-date people who are truly committed to educating our next generation to those scum bags who haven't updated their syllabuses from the last century and are there only so that they could get involved in lucrative side projects.
  13. There's no free lunch.
  14. No one party could change the system
  15. No one is perfect
  16. Excellence should be achieved one step at a time
  17. Much of the things going on right now is more politics and less problem solving - from all the camps
  18. Solution should come from these exact people - everyone involved should put their ego and political agendas behind
  19. If everyone commit to this, we'd have a proper system in less than a decade
  20. But it would never happen in my lifetime.