22 ms·
Ask HN: After 20 years of programming, what do I do now?
I've been programming for 20 years, the last 12 in ASP.net webforms (I know, I know). In every job, I've been told I was the top dev at the company. I kept my current job because of the money and flexibility they gave me to stay, but now that working here isn't worth it anymore, I'm feeling that remaining in this job has soured my career. I'm not sure where to go from here.
I've held management positions, and while my projects were successful, I'm not interested there. The monotonous consulting-services work I've been doing for the last 5+ years hasn't lent itself to exploring new technologies, so I don't have the breadth for an architect job. I've tried the solo-business route, and while my app is loved and has sold copies, it's only breaking even and won't sustain me now.
Almost all of the jobs I am interested in (remote or product-based) want newer technology. SQL Server's been a big part of my entire career, but it feels like that is losing relevance with the ORMs/EFs of the world. I've only worked with MVC on personal projects, but even if I brushed up on it, I'm guessing managers would feel I am an expensive hire without any advantage a junior dev who worked with MVC their whole career.
Do I try to build a MVC portfolio, since that seems to be the popular MS technology? Or work on a JS portfolio (my web style today is already JS calling JSON services) and try to rebuild myself on the front end?
Do I take a big pay cut and try to rebuild my skills with a company open to a senior dev without the exact experience?
Do I try to gamble and find myself a newer technology to reinvent myself into, hoping it sticks around?
Or am I just at the natural point in my career where I'm supposed to be working for another services company?
Anyone refactor themselves into something new at a similar point in their career? I'd love to hear your advice.
RefactorCareer@gmail.com in case you have any private advice.
- HigginsNinja 11y agoI definitely do not have the level of experience that you have so take this with a grain of salt. I have seen and worked in a lot of companies that have a very heavy portion of their code base in web forms. Many of these companies have been working to transition to MVC but it takes a longer time the larger your legacy beast is. I would suggest finding a job where you can leverage your experience in .NET Web Forms, while picking up the pedigree for MVC.
- RefactorCareer 11y agoI haven't found positions like that open to people without MVC experience on their resume, but that seems like a good possibility to focus on. I could easily take an open source webform app and convert it to MVC as a portfolio builder.
- dep_b 11y agoBeing a senior dev doesn't mean 20 years of experience on every part of the stack. It means you deliver value even when things get tough. MVC is so ridiculously simple compared to WebForms I don't even know why you wouldn't sell yourself as top of the bill senior for projects that are MVC based.
- HigginsNinja 11y agoI agree with you, but there is still convincing hiring managers that it's okay to hire someone who technically doesn't have professional experience in ASP.NET MVC when the position is primarily that. Here is a company I have worked in. They have legacy systems that are pretty heavily Web Forms and there is a lot of SQL work too. They are making the transition to MVC and ORMs in a lot of the legacy stuff. http://careers.stackoverflow.com/jobs/75235/principal-software-engineer-glassdoor-employees-paylocity http://careers.stackoverflow.com/jobs/75235/principal-softwa... Hope it goes well for you.
- RefactorCareer 11y agoI guess because I don't really have the experience of things going wrong there. I can tune a troubling sproc into performing well, but that won't make me seem like a senior dev when EF isn't syncing with an autogenerated db properly and I haven't been through that scenario before. I'm honest with myself about what I know and don't know, and I'm willing to work on side projects on my own to learn more if I felt hiring managers would count it for something. I'm just at the crossroads of what I should try to focus on next.
- scarface74 11y agoMVC is a lot easier for someone who grew up developing on the web. But if you aren't skilled at hand rolling your own HTML and you don't know client side frameworks that can take the place of the bloated but easy to use WebForm controls, MVC is a lot harder. WebForms hide the real web from developers.
- rhubarbcustard 11y agoI have interviewed a fair number of people for different positions over the years, here's my 2p: 1. I would look at your CV and see your narrow focus but I would still be wondering based on your experiences whether you could move to the technology we use. 2. Good/great developers seem to be in short supply, if you can prove your ability to understand code, build robust things and ship you would be just fine in my interview. 3. I think you would find a lot of very similar technology in the Java field and it wouldn't be a huge hurdle for you to pick that up if you have a good and deep understanding of how you currently deliver apps using ASP. If you could show on your portfolio how you have picked up Java/Ruby/Python/whatever based on your 20 years of experience and show you understand "how things work" rather than the nitty gritty of a the language then you would beat a lot of the people we interview. In short, if you came to an interview for a Java job I would be more interested in how easy you would be able to learn what we do with Spring etc and how much and how deeply you understood the stack you were working with rather than worrying too much about you not have "5 years of Spring MVC" or whatever other blurbs HR stuck on the job description. I've interviewed a lot of people who have no clue whatsoever how MVC works and have no notion about how things fit together to make a system, they just fill in the gaps in the Spring/Hibernate/library config and write a few lines of code and "it just works". If you have the deep knowledge I think you can easily take a senior/architect role in Java-land.
- RefactorCareer 11y agoI guess I wish the positions I applied for had hiring managers as open as you are. To be honest, with the majority of the places I've applied to, I get no response at all.
- qzcx 11y agoGot to watch out for the HR filter. Often at bigger companies, hiring managers don't even see a resume unless it meets the criteria they specify on it. That means people like you with related, but different experience get cut out when you could still be a good match. Broken system.
- 11y ago
- carolineggordon 11y agoLet's talk, emailing you now...
- giardini 11y agoStudy up on Microsoft SQL Server and present yourself as someone to fill a DBA role. Pay attention especially to the basics: backup, restore, migration, import and export of data and Microsoft Report Services. Read the fine print about SQL Server version differences (nobody else will). SQL Server is in high demand and most programmers have little interest in the DBA role, yet it is crucial (read "highly-valued") in most organizations. Organizations want young programmers/developers. But when they think of DBAs they want someone with experience. So grow a beard!8-))
- atwebb 11y agoTo add onto this, being a "developer DBA" can be clutch. OP has a background in application programming and can relate to other groups a lot easier and inherently understand pain points and reasoning behind certain architecture decisions.
- busterarm 11y agoAs a young-ish developer mostly interested in database and backend work, what skills/path would you say is necessary to function in a full-fledged DBA role? I'm finding in my contracting work that my database skills are above-average and usually one of the big things that I'm relied upon for and I think this is worth pursuing.
- sliverstorm 11y agoFrom personal observation, giardini's suggestion to grow a Unix beard might actually be a solid step #1.
- busterarm 11y agoI can't do the beard, but I'm basically an oldschool unix neckbeard anyway.
- atwebb 11y agoHonestly? From what I've seen, the main skill would be, don't go into a DBA role. DBAs are operational/administrative roles by nature (maintain the DB, account/security stuff, respond to server/DB issues). What, I think, you're getting at is more architecture and system building. Having the ability to consider DB bottlenecks and interactions along with a strong foundation in application programming will provide a great base to do interesting work. Then again, maybe DBAs aren't as bogged down by the minutiae in some places and have more of an ability to troubshoot and resolve DB code/structure problems. It always seems like that's their job but they never have enough time to properly do it with the myriad of other requests.
- khitchdee 11y agoBuild a tool for developers just like yourself. Apply what you have learnt to the benefit of the next gen.
- noir_lord 11y agoI'm in a somewhat similar boat in that I've too much developer experience to be a junior programmer but not as much experience in modern stacks (I've about 5 years on modern web dev but two of that was mostly Drupal) before that it was all line-of-business internal stuff for business. I solved that problem by bootstrapping a startup with consulting/development for other startups that are viable but weak technically, this gives me a lot of variety in side work while also funding my main startup. In addition I'm currently in the process of setting up another 'startup' as a non-profit (which I'm funding out of pocket until I have a complete product at which point I'll create a charity, assign all IP to it and open the source, I wanted to pay it forward), that one is going to be a complete health management system for patients with chronic or long term medical issues (this one came about as a result of my having chronic issues essentially I'm building the thing I looked for when I got ill and didn't exist) - which complies with all the standards and legislation applicable to local and national government systems, effectively I'm building the system that should already exist for end users.
- RefactorCareer 11y agoI have a bootstrapped project already, but as you probably can infer in my postings, I'm not good at sales. I'm toying around with finding a business partner and maybe get more out of it. Side projects will probably always be a part of what I do, but I really want to find something to replace the 9-6 I have now.
- sdoering 11y agoI had a web-version of my application (as a web/data analyst) in German[1] that nearly every time at least created a response.This differentiated me enough, to get around the HR-filter, that was mentioned in another reply to you. I do not know the style you were using, but doing things differently, showcasing things you are able to do and just going the extra mile to show you really want that job oftentimes helps. At least here in Germany. OK; the wording is somewhat cordial, but that is just to showcase my personality. I strongly believe, that being rejected for this just is a great selector for places, I would not want to work. [1]: http://cv.schriftrolle.de/.old/tuicruises/ http://cv.schriftrolle.de/.old/tuicruises/ This is about 1,25 years old and I did get the job (but am not working there anymore, having found quite a better place to be).
- pjmorris 11y ago> I kept my current job because of the money and flexibility they gave me to stay, > but now that working here isn't worth it anymore, So, what does 'worth it' mean to you? I see money and flexibility as the plusses of your current job... maybe that's all you need from the job. Could you keep this one and do something additional to get at whatever 'worth it' means to you?
- RefactorCareer 11y agoI thought money and flexibility would be enough, but working on simple client requests is boring me to death, and I miss the ownership of working on a product. I'm sure I could milk this out until I retired, but there are other issues with the company, and I don't want to be miserable at something that takes so much of my day.
- pjmorris 11y agoI've found the principle 'Run toward things, not away from things' to be helpful. If you don't know what'll really make you happy, you've got a shot at winding up just like you are now, somewhere else. Finding, or starting, a relevant project, using technology you want to emphasize, seems to me like a step you could take independent of what you do about the job. As for the job, I think what they say about 'Change your organization, or change your organization' is true. Of course, in similar shoes, I did something radical. I wasn't fulfilled in my monied, flexible job, so I'm taking a leap at what I really want to do: teach in college. It started when I came home from work one day, with a plan for how I could help local high schools with their AP classes and computer clubs, and my wife asked whether that would really do the trick of making me happy. I said 'No' and, 4 years later,I'm now ABD on a PhD, and could tell long stories of the highs and lows. It looks like it'll work out, but there's still a really strong case for having kept the boring job and looking for fulfillment elsewhere. Look up Eric Hoffer, who was a longshoreman by day, and philosopher and author by night.
- a3n 11y agoNo job lasts forever. That money and flexibility could disappear at the drop of an email. It sounds like his current job is comfortable, but it doesn't demonstrate to his next employer that he's relevant. I'd worry about that.
- 1arity 11y agoapply your self ( most valuable asset, since that has yielded you success so far ) to learning MVC, and maybe Reactive or single direction of data flow architecture. here's the kicker: only learn so much that you know a little more than the other guys in the companies doing web forms, and then market yourself as the guy who knows the legacy code base, knows the organizational in and outs, knows the systems, and who's going to help transition them to MVC ( and newer tech ) so you're a guy ( or gal ) with little experience in MVC teaching folks with no experience in MVC, how to transition to MVC. this is a niche, and you'd be perfect for it. it'll be stimulating as there is the conceptual challenge of bridging the two realms, the satisfaction of using your extensive experience, and the excitement of growing yourself into something new. i'm excited for you. not many people will be able to be at the right place and the right time to do this. and it sounds like, with a bit of results, this could spin into your own consulting or dev shop serving this technical debt. this path works and the future is bright for people like you.
- RefactorCareer 11y agoThis does sound like a path, and like I mentioned in another post, it'd be easy to take an opensource webforms project and convert it. I'll probably try that out soon.
- wooUK 11y agoI was also in a similar position as you as a valued lead dev with 15 years of experience working in a company that didn’t want to embrace newer technologies (stuck on WebForms, not moving to MVC, etc). I was not interested in progressing into middle management and had hit the ceiling with regards pay so I became a contractor. I taught myself MVC got an initial bum-on-a-seat noddy contract which was doing MVC CRUD screens for 3 months. Then for the next contract I combined my wealth of experience with my new found proven MVC credentials and got a lovely MVC contract at a senior level earning much more than I have ever earned before. Contracting is not for everyone but I’ve been doing it for 5 years now and still consider it one of my better career moves.
- RefactorCareer 11y agoThat sounds like a good path as well. Thanks for sharing your personal story; sounds like it would be worth it to take a temporary paycut to gain some experience.
- kej 11y agoI don't think you need to consider a pay cut. It's easy to look at HN and think that all of the good jobs are in new technologies and your experience is worthless. That's not the case. Take a week or two to build a handful of sites in ASP.Net MVC with Entity Framework, so you're familiar with the basics. At that point you'd be marketable for a lot of current senior .Net positions. Experience with .Net is more relevant to most companies than MVC-specific experience. Add in your SQL Server skills for when Entity Framework doesn't cover exactly what you need and you can almost write your own ticket.
- mrfusion 11y agoHow are you finding your contracts?
- aantix 11y agoGood old fashioned foot work. Cold email the places you know that use your tech stack. Introduce yourself and what you have to offer. Show that you understand their business and some of the technical problems they may experience. Ask for referrals after contracts complete. Open source contributions and presenting at industry conferences go a long way to establishing an air of expertise; carry yourself like an expert and you almost always will get a second look from a potential client.
- ribs 11y agoI moved into sales engineering - it's cool to work on the sales team, and it gives one a wider grasp of the development organization.
- alien3d 11y agoI don't like mvc much.. But you can build good /powerful apps with json.net and webform. My biggest mistake was mvc itself.Too much file.Should focus on deliver instead of refining technology..
- RefactorCareer 11y agoThat sort of goes along with the question of is pivoting myself into a front end engineer worth the effort? I'm comfortable using ajax and json services to create a UI--that's how I write my "webform" pages today.
- house9-2 11y agoYou might be interested in https://info.covermymeds.com/ruby/ https://info.covermymeds.com/ruby/ Ruby on Rails opportunity for java and .net developers; note:I am not affiliated with covermymeds, heard about it on the Ruby Rogues podcast.
- RefactorCareer 11y agoThanks, will check them out.
- yareally 11y agoMy brother has worked for them for 4-5 years now. It's a nice place to work and has a great culture after visiting there a few times and once for lunch. One of the few places I'd consider working for in Columbus as a developer without having to do a lot of heavy investigating. I don't work there myself, though we have a fairly similar culture at my work, just no free lunches everyday.
- ch4s3 11y agoYeah, a good friend of mine works there and loves it. They seem to treat their devs really well. And, from my own experience healthcare is a great field as a dev.
- deleted 11y ago[deleted]
- sgwizdak 11y agoTry a tech bootcamp (codefellows.org) to freshen up your skill set, most of the reputable ones have some form of career counseling, and industry connections?
- bayesianhorse 11y agoWhat I hear is that you have been successful (or think you have been) in quite a few different things which you didn't really want to do. Chances are, you will be successful and unhappy at the next job.
- RefactorCareer 11y agoNo, I've been happy in my career. I want to find positions that I enjoy again, but it just seems like that sector of the programming world left me behind while I was selling out.
- bayesianhorse 11y agoThen consider this: There are women who participated in a Djangogirls workshop and are working as developers one year later. If total beginners to programming can achieve this, you can learn any new technology in a breeze. You just won't have the certification which no one else in the field has anyway!
- jasonswett 11y agoI think this advice might apply to your situation at least partially: http://www.jasonswett.net/how-to-get-a-job-using-a-technology-you-dont-know/ http://www.jasonswett.net/how-to-get-a-job-using-a-technolog...
- lingua_franca 11y ago1. pick an industry, not particular technologies. For example if you think Internet companies like "FANG" group are more promising, try to join one of'em; 2. become familiar with a more adaptive language like Java; 3. prefer back-end over front-end as experiences/technologies are more transferable; 4. stay sharp on algorithmic problems; 5. keep learning;
- brianfryer 11y ago> prefer back-end over front-end as experiences/technologies are more transferable I'm curious to know more about what you mean by this...
- Sakes 11y agoAre you still working at the job that is imposing asp.net web forms on you? If so, maybe you could make an argument to adopt new technologies there while keeping your large pay check. If you make a business focused case for adopting new tech, you might find success. Problem to Solve: So, how does adopting new tech save money and/or make money? Crude Proposed Solution: Talented developers care about their tools, so if you are using dated techniques / technologies you are alienating potential new hires which could add significant value to the company. The younger programmers coming out of school do not want to program in COBOL. They want to invest in technologies which will increase their marketability as a developer. So by adopting newer technologies / techniques you reduce your risk of becoming a slave to a dwindling developer community. A community which has stopped growing and is bleeding devs, starting with the most talented. You also open up your company up to new opportunities where they can higher younger talented devs for cheap. You can mitigate problems caused by inexperience by giving them specialist roles which will decrease the amount ramp up time required for them to start adding value to the company. Apologies: This is a very knee jerk response. I do not feel as though I have proposed an actionable plan that is well thought out. I hope I have proposed an idea that is worth exploring. Persuade your existing company to adopt new tech in terms of saving/making money and by reducing future risk (a potentially mortal risk) of problems caused by tech rot.
- matt_s 11y agoAn angle on this that may work is to just introduce the new tech on something not very important but still useful. A decent argument can be that plain old technology upgrades at some point are going to be gigantic herculean efforts if the same old language/framework is used for a long period of time. And you are more susceptible to security issues and/or ridiculous "extended support" contracts the longer a tech is kept around - to the point where it is difficult to patch, etc.
- AnimalMuppet 11y agoFirst of all, avoid the term "senior dev". That means 5 to 7 years of experience. You're way past that. Next: Web programming is something junior devs can do. (Maybe not as well, but they can do it, and for less money.) You need to move on to harder things, where your experience is worth more money. What harder things? You mentioned SQL Server. You say it's "losing relevance with the ORMs/EFs of the world", but there's more to the world than that, and I strongly doubt SQL Server is going away. Find places where it is in use, and go there. Alternately, you can try to move up to architect of someplace with a big web presence, but I'm less clear on how you make that shift.
- pgambling 11y agoThanks for sparking this discussion! I'm a senior dev, but still relatively early in my career (~8 years). I've been thinking about your exact situation a lot lately as I have interviewed several candidates from various backgrounds. I see a lot of people with lots of experience, but they didn't make the cut after taking our coding tests and technical interviews that younger less experienced devs breezed through. I wonder if I will be in the same boat in 5-10 years myself because I haven't kept up with the newest technology. Like you, I have no desire to become a manager and I'm quite happy being an individual contributor. Also being a relatively new Dad (toddler and a newborn on the way) only makes it that much harder to keep up!
- daxfohl 11y agoAn honest personal assessment: the bird has flown on your days as a pure coder. Even if you don't particularly want a management position, focus on that aspect of your career. It's going to be hard to convince a prospective company that you're worth the money as a developer if all you have to offer is 12 years of ASP. I ran the software dept for a small consulting company and yes you'd probably never get a call back from me if you were applying purely as a developer. While we have hired late 30-somethings developers, it's usually because they offer some fairly unique tech skillset (i.e., a few years of production-quality FPGA experience, not a couple months dorking around with "whatever hot new technology" on github--that's something I look for in a fresh-grad). So I think for a purely tech role, beyond getting another job at a similar company doing similar tech, you're a long shot at best. But beyond that, the one thing that would case me to look at your resume is if you were wanting a leadership position and had the corresponding soft skills and experience. It sounds like you do, so highlight that, and work on it. The advantage there is that management skills: talking to stakeholders, setting expectations and timeframes, finalizing deliverables...are all applicable no matter what the underlying technology. So there's no reason you'd have to limit yourself to ASP management roles. My previous company had lots of young developers doing engineering with lots of new technologies, but they'd have never delivered a thing had they not been guided by some experienced devs who actually spent most of their time in Excel (or trello or Jira or whatever we happened to be using to manage the particular project).
- RefactorCareer 11y agoThanks for the honest assessment. It's definitely something I need to consider.
- matwood 11y agoYou mention age, but then go on to say skillset. Do you mean to say regardless of skillset you are going to pass on 30-somethings? Now that the computing field is finally aging, there are going to be more and more 30/40/50 somethings pure coders. Passing on them because age alone is a huge mistake in my mind.
- daxfohl 11y ago
- dwharrison 11y agoI've found myself where you are at multiple points in my career. And each time, I made a leap to a new domain. Not wildly, but to an immediately adjacent domain that excited me. With 20 years of experience you potentially bring far more to the table than "just" your dev skills. The great thing about being a developer is that you touch a lot of other domains...often at a fairly detailed level of understanding (I learned more than I ever wanted to know about the credit card industry by developing commercial credit card processing software for gasoline dispensers many years ago). Of course, this is how many devs end up becoming managers...though you say that's not where you want to go. But there are other paths as well. For example, a Product Manager with strong development skills can have a significant edge over someone that's come up strictly through marketing. People who can straddle the boundaries between domains of knowledge have unique value. At this point in your career, you likely possess knowledge and skill beyond just ASP.net development...skills that startups or companies would find valuable. I originally came out of physics around the time of the collapse of the SSC project. I saw colleagues with freshly minted PhD's in theoretical physics (NOT a marketable degree...except for driving a cab) go off to Wall Street and become quants...and do quite well. So the core question is: are you locked into thinking of yourself as just one thing ("developer"), in which case the search is for what kind of developer you want to be next...or can you think of yourself as someone whose years of experience bring unique and valuable expertise...in which case the search should be broader and more unconventional. It's less about what the external trends are; more about how you can reset your internal self-image...and your willingness to make the investment to bring that into reality. Of course that means adopting entirely new strategies for finding where your skills have value...those types of jobs aren't posted on HR job boards. Personally, I've made some huge career and domain jumps over the years (physics, software, large-scale databases, robotics, biotech...and various startups). It can be challenging...and a little scary (but only in the roller-coaster/skydiving sense), but It's also made for an exciting life that's largely been quite financially rewarding. Never be afraid to jump out of the box...
- RefactorCareer 11y agoI'm not necessarily afraid to jump out of the box, I'm just unsure which direction to jump. I could work myself into a product manager (I've done stints to fill in for short staff), but I guess it would take some research to see if reinventing myself in any specific direction is worth the effort in the long run, because in the short term, I expect to not be considered for a senior-level in that position, same as with any other development skill. But you mention "adopting entirely new strategies for finding where your skills have value...those types of jobs aren't posted on HR job boards.", which would bypass the HR filter that I would worry about. Do you have any examples of these types of strategies? Is it more of networking? Cold calling into industries you've worked in? Anything that works for people who aren't natural sellers?
- tobinharris 11y agoHave you tried working backwards? I mean, thinking about what you might want to be doing in 5 or 10 years? Then taking steps that get you there. It sounds cheesy but if you know where you're heading you'll make better choices in the short term.
- reach_kapil 11y agoTo give you a philosophical answer. People usually have two situations in life where they make such decision. One where Passion wins and other where Salary(benefits). Almost overtime Passion gives job satisfaction over Passion unless you deal with Finance areas like Stocks, bonds, insurance, investment etc You are want to work for Passion, you would have to focus on what is relevant in coming future and align your interest with that. There will be fit somewhere. Once you do that, build a portfolio for the future. Not what you know, Not what you have but what you want to be known for. Hope this helps
- pknerd 11y agoI'd suggest you to learn and share your progress with outer world via blog. You could have at least 2 advantage: - You are going to present yourself an authority after certain period of time. - Learning new technology and be accountable to outer world. This is what I have been doing on my blog(http://blog.adnansiddiqi.me/ http://blog.adnansiddiqi.me/) If you want, you may make guest posts related to things you are learning.
- dllthomas 11y agoWhere are you located?
- deleted 11y ago[deleted]
- WooExpert 11y agoI will suggest you should take a big pay cut and try to rebuild my skills with a company open to a senior dev without the exact experience.