Skip to content

Career Guide to Industries, 2010-11 Edition: US Department of Labor

June 9, 2011

>The report ‘Career Guide to Industries, 2010-11 Edition: US Department of Labor‘is quite encouraging from Software Engineering career perspective. It provides a good overview of Software Engineering career, from a common man’s standpoint. It also provides an idea about what it takes to get into, specialize and to have a great career in Software Engineering. Particularly encouraging is the part that it will among ‘5 industries with the largest job growth‘and that wage-and-salary is expected to grow ‘about 4 times as fast as the 11 percent growth projected for all industries combined‘.

Balanced learning in Software Engineering Career

June 4, 2011

>For most of the roles in Software Engineering, it is important to have domain knowledge apart from technical knowledge to be truly successful. For instance, programmer working in a software project for banking industry is expected to be familiar with terminologies used by banking industry. These terminologies are used in daily discussion just as much as technical jargons.

How do we balance learning? All software projects are not the same. It depends on what are the kinds of projects that you are working on and what you expect to work in future.

What is great about Software Engineering Career?

May 28, 2011

>What makes Software Engineering important and interesting? It helps business, It helps customers solve problems in their business.

Career Focus: Software Engineering

May 27, 2011

>

It is interesting to read about a write-up on Software Engineering Career  in Todays’s Engineer Relevance of Software Engineering is not only  because it is one of the fastest growing field but also because it enables and connects every other fields as well. It is both privilege and responsibility work in in such a field, and build a successful career

What is equally striking is that this writeup highlights the role of communication and analytical skills, product orientation, etc alongwith technical skills. For a truly successful career in Software Engineering, one needs to have technical skills alongwith relevant soft skills. It is not a choice of one or other but it is both together than makes a successful career in Software Engineering

A great career in Software Engineering!

May 19, 2011

>

Is Software Engineering a great career?

Answer is Yes, but it depends on you, it depends on how you make it. If you are prepared for what it takes to make it big in Software Engineering, you can truly make it big.

How to prepare for Software Engineering career?

To know that, we need to see what makes Software Engineering as a great career! Let us take a closer look.

For many outsiders, it might be charm of global work environment or magic of making a dump machine come alive. For many newcomers, it is often technical challenges and financial benefits. For practicing Software Engineers in the world of software development business, it is much more.

Software Engineering definitely involves software development, and software development involves programming when we look from a technical perspective. But business of software development, and experience of a typical Software Engineer, is not just that. It involves dynamically balancing various forces that comes into play in software development business. That include Technical Complexity but it is only a proverbial tip of an iceberg.

A closer look reveals much more.

1. Technical Complexity 
There was a time when programming was considered to be synonymous to software development. It might be so, for many outsiders even now. However, those who are actually in software development business would vouch that it is only part of the story.
We deal with multitude of technologies like database, application server,etc, knitting them together everyday. Irrespective of all learning done beforehand, in isolation, the real challenge is in  actually working with these technologies, knitting them together
2. Changes in Technology 
Many of technologies that we work with now were not existing a decade back. For instance, smartphones are popular but these were not in popular existence.  Again, Software as a Service (SaaS) is a relatively new concept and many of software development now are on these lines. Interestingly, many of these are themselves evolving and many more are yet to come
3. Domain Knowledge
As we get into Software Engineering career, we realize soon that technical knowledge alone is not sufficient. For instance, a programmer  developing software for healthcare industry is expected to have basic knowledge of healthcare business, to have any meaningful discussion within the team as well as to develop something of value.
 
4. Requirements Churn
Another reality that one can hardly ignore in software development is that requirements keep changing. Quite often, we end up revisiting design and making changes to software. These changes are critical for customer to use software effectively and must be incorporated within specified time.
5. Changes in Perspectives
Software  development is a team work. That is, different people work together to develop and deliver software to customer.  Different people play different roles. For instance, someone in the role of Business Analyst is responsible for interacting with the customer, understanding their requirements,  and communicating back to the team. Programmers are involved in doing necessary programming,  which is required to construct software. Project Manager is responsible for overall progress of software development project. There are many more roles involved in any non-trivial software development project.
Software is a construction in mind, and different people like customer, end user, Business Analyst, Project Manager, etc have different perspectives. Work can progress smoothly when all of them work together, communicating with each other and balance difference in perspectives for overall good of the project
6. Collaboration in Context
Days are over when software development is done by one or two people. Many of the software development project undertaken these days involve tens, hundreds or even thousands of people working together. In fact, many projects involve people physically located in different locations across the globe. There may not be any other industry that calls for collaborative teamwork of people of diverse skills to the scale that software industry demands. This is possible, and accomplished, as web technologies in its present state helps people across the world to communicate effectively with each other, in the context of project.
7. Inherent Complexity
It may not be obvious to an uninitiated but its importance can be guaged from the fact that complexity inherent in software development is discussed many times over in the industry and academia. It was discussed by Frederick Brookes in his classic paper ‘No Silver Bullet – Essence and Accidents of Software Engineering‘ decades back. It still remains a formidable challenge, much more formidable than technical complexity
8. Software as a Business
It is no longer required to assert that software development  has emerged be a major profession, and a serious business. It is a reality that we find in our everyday life. Important point here is that, it is the strong base of satisfied customers, rather than the technical excellence in dealing with technical challenges, that leads to successful business. Obviously, this cannot be responsibility of only Project Manager who is overall responsible for project success, Business Analyst who interacts with customer, or software quality and testing professionals. It is a collective responsibility of every one in the software development project

Can one learn in advance, or can we need to learn the hard way. It comes, by experience. It comes, working with the right team. It comes, learning by practice. Interest? Visit ASSIST Academy Career Courses.

Skills for a successful Software Engineering career

May 18, 2011

>

Software Engineering is a much sought after profession. It is also a profession where changes are drastic and competition is getting to be very intense world over. In this context, it is interesting to what it takes to have a successful Software Engineering career. As we takes a closer look, it emerges that Software Engineering is a profession that requires multi-dimensional skills for a successful career.
What is obvious are technical skills. These involve programming languages, technologies involved, Software Engineering tools used in the peoject, etc. These vary specific to project, and therefore it is important to have very good technical skills on popular languages, technologies and Software Engineering tools
However, these may help you to get going but in itself are not sufficient. You need to gain domain knowledge as well. For instance, it is important for developers working on a healthcare software to be familiar with healthcare business.
While importance of technical skills and domain knowledge are somewhat clear, there is yet another dimension which may not so obvious but very critical. That is, software development is a teamwork. Work delivered with a good domain knowledge and technology skills get consolidated only when it is complemented with soft skills; it helps to knit together the team and ensure that customer actually gets value delivered. This is largely a greenfield, an area which is not given sufficient attention, in general. There are plenty of ‘generic’ soft skills trainings but these do not help much in reality as it depends heavily on individuals to translate and adapt soft skills to software development business.
Can one acquire technical skills, domain knowledge and soft skills all in one go? That is one of the a unique value proposition of Career Courses offered by ASSIST Academy

Importance of Training, in Software Engineering!

May 17, 2011

>You would have noticed that critical skills that helped you excel earlier in your profession, no longer does. This happens, time and again. Technology is changing rapidly every day. That is all the more true in case of a profession like Software Engineering.

Well, we all know that. It is not that we do not want to learn new skills. We are also aware that it is critical to learn. Fact is that we hardly get any time to learn a new skill as we are busy with daily work pressure.

How do we bridge the gap? That is a good training would help. The challenge here is to choose the right one. The white paper ‘The value of training‘ from IBM helps in making the right decision