Other companies aren't comfortable enough to allow me to do backend work when I apply, even if I have had non-professional experience working with [insert tech], or they would likely come with a drastic pay cut - I believe it is because I have become uncannily good at what I do on the frontend. Instead, I have focused more on moving up the ladder with other skills since I recognize that being a one trick pony sucks - I have leveraged my expertise to become a senior/lead engineer, that way I am shielded from that problem somewhat. A part of me does wish that I would be able to get more experience using other languages, technology, and domains within web development, because I like writing code & solving problems. This is a hard problem to me, and I have been taking the time to think about how to approach this in the back of my head.
Please Do Not Be a One Trick Pony
81–90 of 102 posts
Re: Please Do Not Be a One Trick Pony
#82They said that for the mainframe and mini people at the end of the 90s and yet all the people who I know who worked in those areas are still employed, still making good money, and will still be doing so for the foreseeable future. Technology lasts a surprisingly long time and not everybody needs to keep jumping on the new hotness.
Re: Please Do Not Be a One Trick Pony
#83Earlier quoted context omitted.
Boring is where the money is, because no one will do the boring work for free.
I'd pick fairly boring work with a nice team over interesting work with assholes every single time. Some people also prefer boring as in "uneventful" since they have kids, family, other obligations and value having a 9-5 job over interesting. There's a lot of reasons to pick boring. I can have exciting hobbies after work.
I have interesting hobbies and am happy to do boring work in exchange for the better pay and working conditions and more free time to spend on my hobbies and family.
Re: Please Do Not Be a One Trick Pony
#84I think one thing to keep in mind is the difference between "one trick pony" and "expert". A "one trick pony" literally has only worked in one environment/technology but it doesn't imply expertise. An "expert" is someone that the rest of world looks to for guidance in a particular area. Being the latter is quite valuable, but don't kid yourself, unless you are in the top 0.001% or at least "internet famous" for a giv…
You don't need to be "in the top 0.001%" to be seen as an expert, and I think you underestimate how easy/valuable it is to become known on the internet ("internet famous"?) as an expert on a narrow topic. Let alone how easy/valuable it is to become known in specific real life professional circles.
At one point I completely accidentally and without any deliberate effort became known as an "expert" in a certain technology in a certain mid-size city, which led to a lot of work. I probably wasn't even in the 50%. I wasn't a "one trick pony" in the sense Jacques means either, I was just doing what people were paying for - I didn't even like it.
Re: Please Do Not Be a One Trick Pony
#85This applies in more fields than just programming. I've won a number of clients over the years based on the fact that most of my competitors (business strategy coaching / consulting) are 'one trick ponies'. "How are you different to X?" "My company has IP that addresses all 20 areas of business, and I work as part of a team so I can ship in a specialist if need be. "X is great at following the bouncing ball to give y…
s/marketing plan/engineer/g Always be yourself. Unless you can be a unicorn. Then always be a unicorn.
Re: Please Do Not Be a One Trick Pony
#86Earlier quoted context omitted.
Actually, to extend your brick layer analogy, what if that's all you do and we devise drones that can lay bricks really fast? Then what? You're going to have to compete with the other 50,000 unemployed brick layers now looking for welding jobs.
Someone has to teach the drone developers optimal brick laying techniques so they can program the drones. Every building site will no doubt need a handful of people to oversee the drones and verify their work. Also there will probably be several intricate nuances to complicated brick laying problems that will still require manual intervention. I wouldn't be surprised if at the end of the day a master bricklayer won't…
Re: Please Do Not Be a One Trick Pony
#87I find it somewhat hard professionally to get a role doing other stuff - I have brought up to multiple companies I have been at that I would like to do server-side work and work with other domains. Almost none of them initially take my wishes seriously, simply because they would likely have to hire 5+ developers to replace my expertise & productivity with Angular when I am on a roll (or maybe 2+ normal senior enginee…
Re: Please Do Not Be a One Trick Pony
#88I find it somewhat hard professionally to get a role doing other stuff - I have brought up to multiple companies I have been at that I would like to do server-side work and work with other domains. Almost none of them initially take my wishes seriously, simply because they would likely have to hire 5+ developers to replace my expertise & productivity with Angular when I am on a roll (or maybe 2+ normal senior enginee…
If you are as valuable to your employer as you seem to imply, it should be easy to negotiate this with a simple "I'm burnt out doing X. Unless you let me start doing Y, I will have to join another company to fulfill my goals." Unless you work for people who consider their employees short-term expendable resources, this should be a no-brainer for them.
Re: Please Do Not Be a One Trick Pony
#89I don't think C++ would become obsolete any time soon, right?
I believe a cleaner language will replace C and C++ for new projects some day, but it will still present the same fundamental environment to the programmer: manual memory management, raw OS threading, ability to bit bash and do unsafe stuff if you need to. This language will not radically change the C/C++ programming model. Rather, it will add semantic power to reason about safeness, purity, concurrency, memory layout, etc. as part of the language. (I think Rust might be this language.)
IMO, active C/C++ programmers should be learning more about stuff like OOO and superscalar CPU architectures, caches, NUMA, hardware atomic operations, drivers, etc. I think "C/C++ programmer" really means "close to the metal programmer working on a mainstream project," and that category will remain strong through language changes. On the other hand, if you have never found the need to learn anything from that list of topics, you are probably using C/C++ in a domain where it is ripe for replacement.