Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been a software developer for approximately 9 years, starting with part-time work during my graduation year at uni. During these years I worked for number of companies, sometimes changing places twice or three times a year.

They say it takes 10 years to reach 'expert' level, and while I don't think I am an expert by any measure and I have certainly met lots of people who are more knowledgeable, smarter and more focused than I am, I think I can safely say that I had my fair share of the whole programming trade and would like to move on to something else.

I still enjoy programming, discovering new techniques and learning new technologies, although it got kind of repetitive - I can already see patterns in this process. It was fun to crack open things like say python, node.js, HTML5 etc. but after some time it lost its appeal.

Psychology and behaviour was always something I was interested in, especially the practical, applicable bits of it. Recently I've been to some communication skills training and I realised that I have been missing out on the great deal of fun stuff - how people work and communicate, especially in subconscious, non-verbal area.

Currently I am thinking of making a career change - ideally to move somewhere my technical skill would still be beneficial in some shape or form, or at least could serve as a bridge while I am transitioning there, you know, the whole gradual, bit-by-bit approach versus swim-or-drown one.

I would like to hear your thoughts on this matter and to learn from you what are the possible transitions I can take.

share|improve this question

closed as off topic by Tom Squires, Yannis Rizos, HLGEM, Karl Bielefeldt, ChrisF Nov 21 '11 at 15:21

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Did you not notice that the career states "Do not use this tag"? This question is both not constructive and off topic for Programmers –  ChrisF Nov 21 '11 at 13:52
ChrisF, would you possibly suggest the appropriate stackexchange site for it then? Thanks. –  Art Nov 21 '11 at 13:53
I disagree with this being off-topic. There are plenty of things in software development that you can do with a background or interest in psychology. In fact, this is the same position that I'm in now. –  Thomas Owens Nov 21 '11 at 14:10
The issue is as there currently is no site for these kinds of questions, by disallowing them here you're basically saying "There is nowhere for you to even ask these questions", thus the knowledge and advice is lost until such time as Professional Matters gets to beta, if it ever gets to beta. –  Wayne M Nov 21 '11 at 21:56
Voting to reopen as on-topic. As long as it remains about applying these skills in the realm of software development, it belongs here. General career advice (and I would assume transitioning between industries) would go to Professional Matters. –  Thomas Owens Nov 21 '11 at 23:08

3 Answers 3

up vote 3 down vote accepted

Learn to do what you love. Learn to discover what you truly love. This doesn't sounds like an answer that anyone might have been expected from this forum. But i guess, that is the most reasonable answer.

I have seen this before in many of my colleagues. We generally choose what we find more straight forward to get into or more rewarding. However, 10 years might be enough to know what would you have ideally liked your career to be. By this time you have responsibilities that you cann't switch things suddenly; but you would also have gained enough insight judging what is good for you and where you are comfortable.

Is it just the programming that you want to drop - or you want to drop the field itself. And more importantly find a role you are happy to live forever rest of the life. You might feel you have lost time, but it is never too late.

Sorry: I am unfortunately making this question sound even more off topic - but i guess that is the best advice i would give you honestly!

share|improve this answer
Thanks very much for this answer. I don't want to drop programming as such - in fact I still enjoy doing it, it's just that I want to enrich my life with all this missing bits - i.e. communication/interacting with more people. –  Art Nov 21 '11 at 20:07

Prior to studing software engineering at university, I was planning on studying social and organizational psychology, but a math professor thought that I had the aptitude for software development and suggested I take a couple of CS courses, where I found something that I also enjoyed. Then, I found a software engineering program that allowed me to take a number of courses in software engineering process, project management, and minor in communications and business management. Recently, I've begun to do more self-study in the areas of psychology and communication (especially verbal communication and team dynamics).

If you want to stay in engineering, I would suggest looking at positions in software engineering process or project/program management.

Software engineering process is often about process improvement, and you can probably find such positions in organizations that use a formal process and need process certification. In the US, defense contractors have to be CMMI rated to get large contracts, and most have an engineering process group - similar things might exist in other locations as well. In such a position, you can work with program managers, engineers, and business managers to figure out how to best coordinate and run projects within the organization's process framework. You can also work within the process framework to make improvements to how the organization as a whole dictates how projects are executed.

Project management, at least under the best PMs that I have ever worked with, is a combination of technical leadership, business knowledge, and the ability to communicate with the team as well as the customer. Especially in requirements engineering, there is a large amount of communication and negotiation with the customer. However, having technical knowledge and domain knowledge is essential for the success of a project as well - the best PMs I have worked with come from an engineering background with an interest (and perhaps a graduate degree) in business or engineering management.

If you want to go into other fields of psychology, human-computer interaction and usability come to mind, especially at the research level. These involve topics such as perception and memory. Some domains of artificial intelligence, such as cognitive simulation, might also benefit from a technical background coupled with knowledge of psychology.

share|improve this answer

You may want to consider Business Process Management (BPM) and Business Analysis as well as management of development - If you have survived 9 years in development with sound brains, you can do anything including walking on water :)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.