Thursday, February 18, 2010

Software Development Career Paths: Up or Out?

Continued from Software-Development Career Paths: Organizational Quality.

Moving Up
For this option, mostly I can only repeat the traditional oft-heard worries: your tech skills will get rusty and you'll be stuck in middle-management forever.

On the other hand, I don't think developers who like to code should dismiss moving up out of hand. If you get a chance, try it. Who knows, you might like it.

There's a nice discussion about staying technical as a manager over on Rands In Repose: Technicality. If you keep your technical skills sharp, then hopefully if it turns out that you hate being a manager, you can still go back to being a developer.

Moving Out
Lately I have a new perspective on moving out, thanks to the software craftsmanship movement. How many books and articles have you read lately that use the word "journeyman?" There's a reason the word "jouney" is in there.

In parts of Europe… spending time as a journeyman, moving from one town to another to gain experience of different workshops, was an important part of the training of an aspirant master. [Wikipedia, Journeyman]

Although I don't think it's a perfect book, Apprenticeship Patterns by Dave Hoover and Adewale Oshineye is currently the best reference I know for thinking about different ways to approach a career as a software craftsman from the perspective of an individual developer rather than that of a manager.

Another Option: Stay Small, Maybe Even Really Small
Keep in mind that not all organizations force you to choose between coding and managing. Smaller companies often don't have "Eiffel Tower corporate hierarchies." If you're moving around, you might find more satisfaction sticking with smaller companies, especially since that way you're more likely to personally provide value to customers, as described by Cameron Purdy in his great article Eight Theses.

Don't forget that you can go it on your own. Recently at DDD8, Liam Westley gave a talk about owning your own software development company. Of course, the talk assumed that you already "have commercial ideas, clients, or sales leads." I have no idea how to get to that point, but the fact that Liam was there giving the talk is a reminder that people actually do manage it.

Staying Motivated
Whether you literally become a journeyman by moving among companies or you stay for a long time at a single company, if you don't want to move up, you may need to look for non-traditional ways to keep yourself up-to-date technically and otherwise generally motivated, especially if you find yourself occasionally working at places that treat you as an interchangeable coding machine.

Apprenticeship Patterns gives some ideas about how to do this. Obviously, there are always things like learning new languages, participating in either local or virtual developer communities, and in open source projects.

Interestingly, all of those things follow a general leadership-followership pattern that's pointed out in The Art of Followership:

[An] example, which is becoming increasingly common in developed countries, occurs with employees who have extensive professional education. These employees can often perform their work assignments without relying on technical guidance from their hierarchical superiors. Their education often includes a strong socialization component, instilling in them a desire for autonomous, self-controlling behavior and the tendency to look to their professional colleagues for support and recognition. This often occurs with university professors who are highly educated and tenured. These individuals often view their university as a place to practice their teaching and research skills with little interference by administrators. They work with and obtain feedback from colleagues, they read academic journals for up-to-date information on their field, and they derive intrinsic satisfaction from their publications and recognition at academic conferences. Similar tendencies exist in firms that provide consulting and accounting services. In these instances, professional education and socialization can replace or substitute for a leader's direction and supportive behavior. [Chapter 3, Three Perspectives on Followership by Howell and Mendez]

I don't think the software development profession has necessarily quite reached this point yet, but it's an interesting perspective to keep in mind. Ideally, you can get "support and recognition" from your "hierarchical superiors" as well as your peers. Anything else is draining. However, in a pinch, don't forget to look out as well as up to get the sustenance you need to nurture your craft.

27 comments:

  1. Either way, the ceiling--even for a top-notch coder--is pretty low. At best (if you shed a bit of your technicality), a product manager.

    There's only two ways, if you're actually trying to make it to the top:

    1) Learn to do real management, CTO is mostly management, not coding
    2) Start a company

    Lest you grow old and find that you've crash-landed in a middle-management position by your 40s.

    ReplyDelete
  2. I think staying at a single company for longer time makes you a perfect journey man instead of moving from here and there. Definitely if you are not gaining anything from that company then moving to another company will be a good choice.

    ReplyDelete
  3. As a conclusion of your article I want to add some. The best decision for creating and supporting of any IT software will be using some professional software development company. This is the right choice for everyone who want to start some project and don't have enough of resources for creating some software by your own. Here is the great IT outsourcing company http://www.nixsolutions.com/ try some if you need to create some IT software or make the market research for your startup. Good luck.

    ReplyDelete
  4. If you keep your technical skills sharp, then hopefully if it turns out that you hate being a manager, you can still go back to being a developer.speech recognition program

    ReplyDelete
  5. Great article. I like your blog.Thanks for sharing.

    IELTS classes in Kuwait

    ReplyDelete
  6. The degree of development of software teaches you as a software developer, but also teaches you to be thoroughly professional from both the technical and non-technical skills critical to success in a business environment.
    winzip activation code

    ReplyDelete
  7. I've been struggling with the same problem for some time now. I literally went through tens of casinos to find the one I like the most, with free bonuses of course. So feel free to follow my steps and get a lot of bonuses at at 777 Spin Slot. They do offer a lot of great deals and games to win some money.

    ReplyDelete
  8. All the career options are fluctuating but there is the most risk in the IT sectors. There is a repeated ups and downs here but we need to move uniformly in oredr to stay away from crises. The bigger the company, the risk is the higher. I completely agree with your post. Staying small can be a smart way and this is what maximum companies are following. A small company may not have a huge profite but it will never go on loss. Thanks for sharing.

    ReplyDelete
  9. The author has composed this blog in the most aesthetic way. Awe inspiring!
    resumeyard.com

    ReplyDelete
  10. It helps to learn about the project on which an expert staff is performing software development. There is also Six Sigma, which is used to analyze the company's statistics and improve its performance.Open Source crowdfunding software for sale

    ReplyDelete
  11. Starting up a Coffee Shop or any Coffee related business such as a Sandwich Bar, Deli, Takeaway Fast Food Outlet has to be given the same consideration as any business venture. This article is meant to be a "Basic Guide" to give you some things to think about when wanting to start a Coffee business. It's not meant to https://adesk.cheapsoftwaredownload.net/autodesk-rsa.html a "Step by Step Guide". Detailed planning is going to be unique to your circumstances and should be discussed with your Business advisors, Accountant and Bank.

    ReplyDelete
  12. A borrower cannot predict the occurrence of an expense beforehand. Conventionally however, borrowers were expected to predict well and keep a minimum gap of one month between application and approval. The borrowers who could not were left with no choice except to get finance at excessively high rates of interest. Instant loans changed all this. This article explains how instant loans have brought about a change in the loans scenario. The article also states the various forms of instant loans that are available in the financial market nowadays. buymodafinilonline

    ReplyDelete
  13. Social media for small businesses is a great way for emerging businesses to generate lead and build a reputation. If regularly updated, social media can deliver more results as compared to traditional mediums. Social media for small businesses gives brands an edge of control over the content that they want to post.Also, since social media is a two-way dialogue process, it helps businesses to instantly identify what is benefitting them. Social media for small businesses also helps generate Word of Mouth, which is one of the best tools for emerging businesses. rhino modeling program

    ReplyDelete
  14. Both are powerful for a short measure of time however in the end the accident comes modvigil

    ReplyDelete
  15. Just wish to say your article is as amazing. The clarity in your post is simply cool and i can assume you are an expert on this subject. Fine with your permission allow me to grab your feed to keep updated with forthcoming post. Thanks a million and please carry on the rewarding work. putlocker

    ReplyDelete
  16. Upkeep exertion estimation procedures go from the oversimplified degree of exertion strategy, through progressively attentive examination and advancement practice adjustments, to the utilization of parametric models so as to utilize verifiable information to extend future needs.
    itools 4 crack free download

    ReplyDelete
  17. The reason it's so important is that it is the major factor in getting good quality software. Developing software that works and works well is the ultimate aim of a project, audacity download and the testing stage is where this is done.

    ReplyDelete
  18. I love the way you write and share your niche! Very interesting and different! Keep it coming! Website Scraper

    ReplyDelete
  19. I read a article under the same title some time ago, but this articles quality is much, much better. How you do this.. Twitter Email Scraper

    ReplyDelete
  20. Such an amazing blog. The post in this blog is also awesome due to its way of writing and content which makes it very amazing also. Keep it up. IT Outsourcing Company.

    ReplyDelete
  21. Thank you for this really useful and extensive post. I will keep it in mind, if I ever go to bpo service provider. Trupp Global is a one of the best bpo companies in india focused on delivering awesome customer experiences for its clients.
    Business Process Outsourcing Services

    ReplyDelete
  22. Very good information, This information will always help everyone for gaining knowledge. So please always share your essential information. I am very thankful to you for providing good information. website designer sydney

    ReplyDelete
  23. This enormous misuse of exertion may likewise be the aftereffect of wasteful preparation and detail processes. Bookkeeping Services

    ReplyDelete
  24. best software Development Company in Canada

    Imagine the trajectories of Business Goals, Engineering, Design, and Programming dynamically merging to deliver great software. This is the spirit of Trajectus.
    Each project is a unique undertaking. Best software development company in Canada.
    Our goal is to work with our customers to understand your business objectives, engineer a proficient platform, create a beautiful interface, and create clean code. The key to success is ensuring the project's core business needs are met. We’ll work with you to ensure there is a clear understanding of the core business needs.
    https://trajectus.com/

    ReplyDelete
  25. best software Development Company in Canada
    https://trajectus.com/
    Imagine the trajectories of Business Goals, Engineering, Design, and Programming dynamically merging to deliver great software. This is the spirit of Trajectus.
    Each project is a unique undertaking. Best software development company in Canada.
    Our goal is to work with our customers to understand your business objectives, engineer a proficient platform, create a beautiful interface, and create clean code. The key to success is ensuring the project's core business needs are met. We’ll work with you to ensure there is a clear understanding of the core business needs.

    ReplyDelete
  26. best software Development Company in Canada

    Imagine the trajectories of Business Goals, Engineering, Design, and Programming dynamically merging to deliver great software. This is the spirit of Trajectus.
    Each project is a unique undertaking. Best software development company in Canada.
    Our goal is to work with our customers to understand your business objectives, engineer a proficient platform, create a beautiful interface, and create clean code. The key to success is ensuring the project's core business needs are met. We’ll work with you to ensure there is a clear understanding of the core business needs.

    We approach software challenges with the idea of engineering the best solution, utilizing the best technologies, to solve a business goal. You’ll often find our competitors have assembled talent that corresponds to the preferred language of its leadership or aligns itself with a certain technology stack. We approach each business challenge or partnership as a unique opportunity. As a true engineering company, it’s important to look at all the potential technologies in the market. Trajectus blends good Engineering Principles, a sound Project Management Methodology, and a diverse team of technologists to form solutions to meet the needs of our clients. Our project methodology enables us to leverage a distributed agile software development environment. The Trajectus team is comprised of experienced Architects, Designers, Project Managers, Business Analysts, and experienced Business Development personnel. Our team members possess a diverse set of technology skills and we have an extensive network of specialists. Team members are located throughout the US and our Offshore Delivery center is based in Hyderabad, India. Our methodology enables us to utilize US resources to engage in an in-depth collaborative development process while leveraging skilled resources to minimize distributed risks, bringing affordability to our clients.
    We deliver high quality solutions at a fair price while achieving our targeted deadlines. Most importantly, we are going to produce software to meet your goals.

    ReplyDelete