It seems pretty apparent to me that most employees (and that includes all genders, races, etc.) don't care nearly as much about inclusiveness as their leadership seems to. After reading this post, it seems to confirm what I've suspected all long: people mostly want money and the potential to make more money in the future.
But (I think?) I've seen people here genuinely recommend them, and I also don't think YC would work with and promote a company they didn't like or trust. Companies' marketing and sales teams can sometimes have a very different vibe and sense of ethics compared to the rest of the company.
I went through their process and got lots of practice interviewing. Even though I didn't take any of the offers I got through them I was able to use one to negotiate a much higher salary at the job I did take. Their recruiters and interviewers treated me respectfully and professionally.
So I'd recommend it, especially if you're very good and/or smart but not an attractive candidate by conventional standards. If you have 5 years at Microsoft or something then you probably don't need them, since you can interview wherever you want at that point.
The problem with top rank only is that the top spot is basically a dice roll between various things which are important for people. A "top 3" (or another number significantly smaller than all categories asked, but more than 1) is usually far more interesting and less driven by chance. That doesn't invalidate what you wrote - maybe it is unimportant for most people, but there's not enough data here to tell.
I’m not sure what argument you are making.
Sure, money is important to most people at some level. But for many, it's important relative to other things in that it can't be dramatically lower at one opportunity vs. another. A bit lower? That's maybe OK if other factors balance it out.
Inclusive workplace has an absolute difference of 10% but has a relative difference of 171%.
Salary has an absolute difference of 15% but has a relative difference of 43%.
Presumably the relative difference for flat organization (0% and 2%) would be larger.
But still a blip overall, that can be ignored.
"Inclusivity" doesn't mean anything by itself, it's a synonym for diversity, and these terms themselves essentially mean bias in favour of women. Large majorities of both men and women want to be measured on merit, not many want to feel like they got a job or promotion because of their gender. So no surprise it's not popular and indeed, never has been. The trend towards it is because a small minority care about it more than anything else and go on the attack if they don't get it. The silent majority doesn't care.
After realizing that, it seems to confirm what I’ve suspected all along: people mostly want to money and the potential to make more money in the future.
Adding to that, without too much risk or responsibilities.
I'd love to see questions like this phrased to account for this:
"Opportunity for professional growth, to grow my future earning potential."
"Opportunity for professional growth, because I enjoy learning new things."
"Opportunity for professional growth, to reach a role I cannot fill with my current skills."
I know the article tried to address this with the responses, but that's sort of the default answer you give in this field. No one really says, or enjoys hearing, "I want to learn more so I can make more money".
And it's one of the unfair things in life that jobs that pay more often get other benefits as well. Making $40k/year? Chances are you get 2 weeks vacation, inflexible work hours, inferior equipment. Making $200K/year? I'll be you also have top of the line equipment, no one keeping close tabs on your hours, 4 weeks or more vacation, money to go to conferences, etc.
A mentor of mine once told me that I should seek to make more money, even if that's not my motivation. He said that more money is always nice to have, but also that when someone pays you more, they respect you more, so you get all the benefits that come along with that.
The counter-example to that could be that once you're senior enough, you are never 100% on vacation. If enough goes wrong, you will get called back to work.
I've yet to be called with this strategy.
> my brother is teaching his cat how to high five by giving her a treat every time she successfully taps her hand to his hand, which is all well and good, but now she thinks that she is entitled to food every time she high fives someone. i can’t eat in the same room as her anymore because she’ll just bap my hand rapid fire and then go nyoom straight in for my pizza like no Kelly that’s illegal go finish ur own dinner
I should have worded myself more clearly...
I do agree about unplugging, but I've never had a vacation ruined by having a work-related text or call steal my attention for 5 minutes. If me being reachable (not necessarily _available_) puts my employer at ease then it makes it easier for me to take the vacations I want to take because they're more likely to be flexible with my schedule during busy times.
I don't think the average <employer/line manager/assistant actually making the phone call> cares about it nearly as much as one might think they would:
Boss: "we need to reach $person urgently, get them on the line for me..." <walks back into office>
Assistant: "Sir, yes, sir"* <looks up numbers, calls $person's wife>
* or local equivalent
To give an extreme example, the President (of the US) is never truly unplugged. In the cases where the president is truly unplugged, SoP is for that person to temporarily stop being the President.
In your case why would you push for a higher role knowing the tradeoffs?
The second set of people can try but when shit hits the fan they will have to explain what happened and why it couldn’t be prevented.
To get to that level you will need to go through levels where you can’t do that without jeopardising further promotions.
A good way to measure this is look at how long it takes to do handover when someone leaves a project. If it is more than half an hour of showing someone where the repo is and a brief explanation then you have a problem that can be fixed with better processes. Ideally, someone should be able to pick up a project or a product very quickly as all the information they need should be in a simple, easily navigable format that they can consume and understand. I realise that is an ideal case but if you are senior enough to lead you can be senior enough to never make yourself a dependency and that callback never comes because it is never required. Ensuring management above you understands your value is another problem (anyone who can code themselves out of a job is worth keeping around and giving harder jobs to and good managers will understand that).
This has not been my experience either personally or by proxy to my more-senior colleagues. But it may be I have found myself in a particular niche which is non-representative.
The simplest response for both is to delegate: "<person y> now has temporary or permanent authority in the decisions <person x> used to have". That means you need to have a person y for each person x and there needs to be enough trust that person y will make decisions that x would approve of (even if sometimes different). If you're a single-person startup, there is no person y, but then these questions aren't really relevant. As the Pinboard FAQ says, the answer to what happens is the bus will be fine.
The regulatory demands in financial technology, and especially in those industries where both the regulators as well as majority of the players may not be technically literate, are effectively the anti-thesis of robust and reliable engineering. When the industry regulations demand that for every potentially disruptive action (recovering from an outage is very much potentially disruptive) there has to be a named individual - not even a role, but an individual - to sign off on every single release step... This is why an outage can last for hours. An engineer, or even a lead, is with high probability not allowed to sign off on an out-of-hours deployment. The fix might take 20 minutes to identify, 5 minutes to implement, 15 minutes to test, and 10 minutes to roll out. But until the organisation can get the named [supposedly responsible] person online, the fix must wait, unreleased.
And the irony? The wider dysfunction may be imposed by the regulations, but it has been requested by the industry at large. It is the result of the industry players, majority of whom are incapable (read: technologically illiterate) of interpreting prescriptive regulations. So instead of figuring out how to meet expectations and adapt their processes, they have been lobbying for the regulators to come up with highly descriptive playbooks and step-by-step instructions. These sequences then specify rules and requirements that allow technologically incompetent players to comply, even if they do not understand why they are doing the things.
And then these regulatory playbooks become the One True Way[tm], effectively forcing dysfunctional practices, but also actively preventing any process improvements.
It's cargo-culting taken to the extreme: "do this and you will not be found to be non-compliant, even if the quality is utter shite". The worst part of this all is that the descriptive regulations make every effort to strip engineers of their agency or decision power. Every "modern" best practice is explicitly ruled as non-compliant and hence effectively illegal. I use scare quotes around modern to highlight that these practices are by no means modern and have been known since ancient times. There are research papers from 1950's that explicitly endorse [rapid] iterative bottom-up approach as the only sensible way forward.
The finance industry regulations explicitly reject them because these studies assume that engineers can be trusted to know what they are doing.
So... to anyone wondering why finance industry jobs are generally thought of as soul-sucking: that's why. They are subject to regulations, expressly designed to deprive individuals of their agency.
You're right I haven't been directly exposed to such regulations (our emergency releases also require sign-off from management but there are multiple people who can approve and different people for different stages) and I don't ever intend to be. Even for something much lighter. At my current job I refused a request from my boss/boss's boss to go through the process of obtaining a Public Trust Position which would be necessary if I needed to debug my team's product for one of our government customers. Fortunately I didn't have to quit over it, and I still got promoted later. Other people on other teams just went along with it. So I guess I'd amend my thinking (aided by your comments on lots of the regulation in finance being self-requested) that for people who get themselves into a position where it's "not possible" to go 100% on vacation, regardless of the level of dysfunction at the org, many of them generally don't mind it. If they did, they could switch jobs, and anyone concerned about accepting such a deal should weigh that instead of imagining that there's nothing to be done.
The desired result of the regulations is, first and foremost, accountability. This includes, but is not limited to, audit trails and provenance. But because the regulations have been written to specify exactly One True Way[tm] of reaching an adequate level of accountability, they end up causing nasty second-order effects.
As sibling comment by PeterStuer mentions, the unfortunate end result is inventive interpretation to avoid the worst of the disruptions. So from my point of view, the rules put in place to _enforce_ accountability have created perverse incentives to _reduce_ proper accountability.
That can not be a healthy situation either in short or long term.
Interested in this... any links?
DOI: 10.1109/MC.2003.1204375 ; "Iterative and Incremental Development: A Brief History"
DOI: 10.1109/AGILE.2013.17 ; "Continuous Delivery? Easy! Just Change Everything (Well, Maybe It Is Not That Easy)"
DOI (with link): https://doi.org/10.1002/spip.344 ; "The agile professional culture: A source of agile quality" [the article itself is pretty light on useful material but it contains some of the strongest individual arguments I've seen, all in one package]
Direct PDF link: https://www.futureworksconsulting.com/perch/resources/pdfs/t... [the valuable material is on the first page]
DOI: 10.1.1.428.5843 ; "Evaluation of Quality AssuranceFactorsinAgile Methodologies"
There are plenty of other reports and papers on the topics, but they bring very little to the table on their own. These five have provided me with a decent starting point. The references to findings and reports from 1950's are in the first one, btw.
The most valuable sources have been just 5 (yes, five) research papers / reports. Luckily they sport citations, but sadly I haven't poured over more than a fraction of them so far.
If fecal matter hits the rotating turbines often that you are never 100% on vacation, then you have fecal hitting around all the time. It is not like seniors would be on vacation 50% time of year.
> Often times, theres an issue with this or that feature in production
You should not have often issues with features in production. You should have them once in a while, rarely. The situation that seniors are always desperately needed to fix crisis during their vacation requires workplace that is having crisis pretty much all the time.
Capable management does not generate projects that are in crisis all the time.
There being once a week release that needs senior involvement each time it happens so it surely hits also vacation? Badly organized.
True, but if you're good at your job, then this should be a very rare occurrence! It's still well worth the trade-off.
> CEO was near frothing at the mouth over my absence when shit hit the fan.
I'd be the one offended for having my vacation interrupted.
I can't stress this enough. The more I charged as a consultant, the more my clients would shut up and heed my advice.
When I went out on my own a few years back, it was a rush to sign any client at an hourly rate not that much higher than my previous salary rate. Those first clients were rough.
As you’re saying, I’ve also seen first hand the more I charge the more people take my suggestions seriously, and overall the better the clients are for my business. Go figure.
Work long hours? Develop additional tool during your free time? Help clients more than your job requires? You are a sucker.
Manage to shout enough to get a raise? Now you are a champion.
Doesn't need to be in my experience, both the employee and employer can respect each other even when they don't get along well on personal level. However it is actually quite interesting that it is a relationship that can be weird and toxic, while still providing (economical) value for both parties.
And yes, the strength of free market and capitalism is to transform greed and all the behaviors that come with it into a fuel that helps the economy for everyone. It does not transform these into virtues though...
"A Sociopath with an idea recruits just enough Losers to kick off the cycle. As it grows it requires a Clueless layer to turn it into a controlled reaction rather than a runaway explosion. Eventually, as value hits diminishing returns, both the Sociopaths and Losers make their exits, and the Clueless start to dominate. Finally, the hollow brittle shell collapses on itself and anything of value is recycled by the sociopaths according to meta-firm logic."
This realization has stopped me from trying to hire people. I don't think I have the shoulders to be the chief sociopath.
I've made 60k/yr at jobs where I've had awesome equipment and flexible hours.
People respect you more if you get things done and solve problems. Not because you have a big salary. How often do you think people respect management?
Just geography alone determines salary. I could make double if I simply moved to San Francisco for the same job. Doesn't mean I'm "more respected".
That's not what the person you replied to is saying. The above person is saying that companies which pay well also tend to respect their employees more, so seek out a higher salary because those companies also tend to offer better benefits/culture.
Some would say that Google, in all its free lunch glory, doesn't respect its employees that well consider they've had employees go on strike due to their policies.
The protests were mostly against sexual abusers/harassers and the arbitration policies. Are you implying that most other tech companies haven't had any executive-level sexual harassers? That most other tech companies don't have forced-arbitration policies?
How many other companies openly allow their employees to organize protests through company emails and forums? Not many. The open culture is what allows people to protest.
Disclaimer: I work at Google.
Most I got for mine (leading an actual strike) was a written reprimand -probably forced by the hr manger of a certain BT division (not the one I worked in)
Did mange to change company policy and get several k people a better pension later on.
Not saying that isn't a good strategy for some people (and I probably would have enjoyed that pace when I was younger), but it's not really what I think of when I think about respect and good culture.
I'd be very interested to know if this has changed.
It's kind of sad that in the US and Canada, 4 weeks vacation is special, and 2 weeks vacation is legal.
No one keeps tabs on your hours, but you better get stuff done!
Technical jobs that are well payed and well respected are found more often in companies that produce a product or service that is sold rather than in companies that sell your time, whether directly or under the guise of 'projects'. If your time-sheet impacts the bill to the customer, you are the product being sold.
The reason to avoid the latter is that all benefits to you, either salary or equipment/working conditions, are seen as expenses that impact the margin on the rate, while in a product company they are far more likely to written of as investments into the IP producing engine.
I was curious what made you pick your cities, though. Data availability? Boulder and not Boston surprised me.
Maybe upbringing / background plays a significant factor here? I watched both of my parents very unceremoniously lose their job-for-life jobs and nearly everything along with it.
My primary motivation, then, to stay abreast of the industry, to pursue new skills/technologies/challenges, things that I would put under the label of "opportunities for professional growth," has (not entirely, but for the most part) little to do with the amount that I'm paid (considering that I perceive myself to be paid well) and everything to do with maintaining a recurring paycheck until I'm retirement age.
FWIW, and I say this acutely aware that I'm of the "don't give them what you don't owe them" tribe, additional responsibilities for the same pay are how I got the broad skillset that got me to the point where I'm a principal developer with a hand in every part of our project--which is, in addition to no-complaints compensated, genuinely a lot of fun. I took on those responsibilities as an investment in myself; admittedly the key was finding high-value, high-leverage responsibilities, but it was for me more than for my current employer.
Few enough people are going to pay you to learn something on their dime if you don't already show a ton of promise. Broadening your skillset is, IMO, how you get to the next job.
Even with those gaps, I'm having zero problem finding well-paying jobs. I think it's because, despite those gaps, I represent good value to the employer - I know the latest tech, have done good work in the past, can present coherent and mature opinions during the interview etc. Also, I only do long-term contracts where they explicitly don't care that I'm a job-hopping mercenary that is not ever going to believe the "company mission", because the assumption is that the whole arrangement is temporary anyway. In practice, they always want to retain me and I end up quitting out of boredom after a year of two.
To summarize, the gaps are probably important only when you're in close competition with lots of folks similar to you. But, if you're a bit of an expert in a specific niche (mine is Big Data - Hadoop and related crap, applied in enterprise IT context) and there aren't that many competent candidates around, the gaps suddenly don't matter.
Unless you had like, a lot of money.
You aren’t jobless; you are successful. Even as a bluff, with a now-empty bank account.
The part of spending you can't control and which happens to be the largest expense is medical care, which is not a problem right now due to Medicare, but it's already stressing the system and we have quite a ways to go before the aging population maxes out. Retirement ages are already going up and up, and I can definitely foresee rationing of medical care as we push the system to its limits.
So this forced me to settle for a number at which I'm happy with my income and I can have a clear goal for that year - once that is achieved other things come in to play.
This seems basic and maybe it's just me but I never really had an idea of what I wanted to make, what is "enough" - I would just say yes to any opportunity that came my way which paid more and kept plowing forward - but there is a limit to how much you can do and it's hard to guess it before you reach it so I ended up pulling all nighters and working through weekends more than once. Now that I have my limit it's actually pretty easy to reach with ~210 regular work days according to my current rates for a really easygoing client - this leaves me with plenty of time for other stuff - if I find a better paying client I just work less for that year - I like this model.
Maybe I should describe it better - it is a special tax model - you pay a flat fee if you make less than X and that flat fee turns out to be ~5%. When you cross this threshold you no longer qualify for this model at all - you have to convert to standard taxation - I would need to increase my revenue by 20% just to break even and the extra hassle of doing that would mean that I need to increase it by 30% (at least) to be wroth it.
So in my situation it just turned out to be a good limit where if I negotiate 10% more I just convert that money = free time for other stuff. I don't plan to stay below this limit forever (in fact next year I plan to go over) but the concept of having a target income goal and then letting the rest of your time go to personal life is really good for work life balance IMO.
The thing that's interesting though, is on the consulting side, as my rates and overall project cost have increased, the time investment to close a sale has also gone up. Meanwhile, if you go for a more expensive & specialized skillset, there's also a time investment on the marketing & outreach front.
Basically, in my experience, there's a small handful of people who've managed to carve out a niche where they can work low hours and make a high hourly rate, but they're few and far between, and investing in passive income streams is really the way to go.
That said, I _really hate_ managing rental properties instead of slinging code, but in terms of dollar per hour there's no comparison.
They seem to be the loud minority on here though. I guess if you get a sweet gig like that, you will find lots of time to post on HN. I know I'd brag about it too if I was in that situation.
A company that grows 20% like google offers high cash low stock. But a company that grows 100% every year can make you a millionaire in a couple of years.
Its true startups lotteries are not great for employees in general, but who would have bet that UBER wouldn't IPO in 2014? or some other companies like Airbnb, etc.
But you can invest 2+ years and get nothing.
If you can repeat the process several times, each time picking better bets, then you stand a good chance to win big. Maybe 50/50 chance of hitting a million dollar win over 12 years and 5 contracts. Assuming you leave some sinking ships and some consecutive years really pulling hard at promising companies.
But you should probably also be investing in property and a 401K.
None of it is guaranteed, but if you’re patient and reactive and work hard and treat people like you want to build lifelong relationships, it sorta IS guaranteed you’ll be in a good place after 20 years.
The only guaranteed way to be a millionaire is to work for big companies, relentlessly push up the ladder, invest 15-25% religiously and never touch it. That WILL make you a millionaire in 20 years, but you won’t be able to think about much other than your next promotion and your budget.
You can also get a much higher position at a well paid job if one of the bets pays off, or if you find growth opportunities. While getting a promotion at google might take you 4 years, in a high growth startup you might jump 2 steps in 6 months.
If you compare someone who joined Uber in 2014 with someone who joined Facebook or Google in 2014, I'm honestly not sure who would have come out ahead. Probably Uber, but not by a whole lot.
And Uber is the best case scenario, practically speaking.
1) Pay me
For example, instead of asking: how important salary is, ask how much money they'd like to make; instead of opportunity for professional advancement, ask what role they'd like to eventually have; instead work/life balance, ask about number of vacation days and % work from home, etc.
I'm willing to bet you'll see very different outcomes because senior-level people for whom "salary is not important" probably want like $200k/yr while mid-level people who say it is important might only want $90k.
Where are you living and what will you eat?
However a company recently lured me in and we had an onsite interview. Still had great chemistry with everyone and enjoyed the prospect of working there. They offered 550k in cash.
I accepted the offer but am still conflicted. My start date is some time away still. Hopefully I will be able to have the same autonomy and sense of fulfillment in this place as well.
I'm all for growth myself, but I've always found that people who have some confidence in what they're doing also want autonomy.
Accounting for the "perceived gallantry" of these motivators I'd call that a statistical wash, but the article title "Want to hire the best programmers? Pay them the highest salaries." doesn't support the "best engineers / best companies" narrative very well.
My company is a weirdly-effective consulting firm with a staff-augmentation business model. I chalk their success up to two factors. One, there's no middle management, only team leads reporting to a cadre of developer-owners. Second, they've been really good at landing the right kind of clients.
It's rather funny watching them try to figure out how to engage their workforce, but with a staff-aug model, devs feel more like employees of the client rather than of the consultant. So everyone's just kind of meh. It feels a little The Office-ish.
The other consequence is that there is practically zero real growth potential, and no incentive to do anything other than keep butts in chairs. Nobody's going to let me jump from the consultant to the client, the only path up is out.
I hope this business model dies. It feels distinctly evil.
Or full-time remote.
For me now the baseline is remote + good work life balance and vacation package.
If we can throw exciting tech, more money, etc on top of that, great.
I'm hoping to polish my skills and eventually find something 100% remote even if its less thank $100k. I want to buy a lake front house, and get on a jetski/boat during my lunch break.
Hang in there, you'll find your spot. My advice would be to make friends with a few recruiters for the big headhunting firms. With a little patience for terrible signal to noise ratio they should help you break the $100k mark for remote work. Sometimes you gotta shop around for the right recruiters. The first person you talk to is probably not the person with the right contacts.
 The socialization might suffer a bit, but you are able to fix that as you wish instead of having only one option (which is office).
I save a BUNCH of money, I get to work with other remote employees across the world, I mostly work my own hours, and I even got a decent bump switching to this job.
The pay is better than a lot of positions that are local to me in SoCal.
I do miss some social interactions during the day, but slack and getting lunch with friends and previous co-workers fills that gap decent enough.
I see job postings come across all the time in my filters for stack overflow jobs, but the pay and benefits are equivalent to my current situation, except I would have to move to a higher CoL and go into an office.
Woman in tech here. I agree completely, and I'd almost say that saying you want to grow your career in an inclusive environment is saying "I want to grow in a place that will actually value me and promote me." Been in so many places where talented women are just not promoted, and it can be so demoralizing.
The outsourced / pigeonholed employee pattern you're speaking of is something that I recall learning about more in the early 2000s; so it's been around for a while but not widely known outside of the industry.
Another story: comp sci 4th year - systems course. She's assigned a team. Douche c++ whiz thinks he's the shit. constantly belittles her. comes up with some idea of "redundancy" as part of the project they are coding. His idea was to have a cache storing redundant data in case the database failed. She suggested that it wouldn't work in case of power failure. Told her to be quiet because she didn't know what she was talking about...
As a guy, I have never faced this and so had no idea women faced this sort of behaviour till she decided to enter the field. Yes she didn't even know how saving a file worked till she decided to go for her comp sci degree, and so yeah she is not very confident about just opening up an ide and start coding a la "create-react-app", nor she will win any hackathons, but her concepts are rock solid. Still she is constantly underestimated.
It's a tough world in software dev if you aren't the type to constantly overestimate your worth.
Well put. I was talking to a friend recently about the difference between mediocre and very successful engineers, and that quality came to mind as the biggest predictor of success. Don't think of yourself in terms of how effective you currently are, think of how effective you _could_ be. Assume that you can figure out pretty much anything given enough time. But don't be too cocky to ask for help.
Contrast that with mediocre candidates: ask them to solve something they've never done before, and they won't even try because they assume they're not good enough.
Because if you are a CS grad with aspirations to be a developer, taking a QA job is about the worst thing you can do. Even if you work at a company where "every path is available" (which is not particularly common), much better idea to get an actual developer job where you'll be working on coding skills.
That's a question that I don't think has been explored.
Now, it's been a long time since I saw a traditional QA team. They definitely still exist, but now that there is a lot more automated testing, things have changed quite a bit. However, I would still caution beginning programmers to stay away from QA roles. It can be actively damaging to your career as a programmer, unfortunately.
What should you do first starting out? Get an entry level job as a programmer. If at all possible, go to school with a co-op or intern programme. Try out a couple of places in your first 2 years and in the last 2 try to get into a place where you might want to work. Then stay there for a couple of years after you graduate. This is by far the most effective strategy I've seen for getting into the industry.
Otherwise, try to make contacts in other ways. The first job is super important, so you need to find someone who will give you a chance. Whether you have a traditional education for a programmer or not, you need that first job. I would recommend moving to a large centre (not necessarily SV) and going to every meetup that you can manage. Make contacts. Work on a side project. Discuss your side project with people that you meet at meetups. Possibly go to a bootcamp to meet other people just starting out. Make friends and talk about programming as much as you can. Eventually, someone will give you a chance.
The most important thing: take that chance. Stay at that job for at least a year (better 18 to 24 months). Then I recommend that you find another job and leave (in that order!). For programmers, it is usually best at the beginning of your career to work in a few different places. After you have 8-10 years of experience (3-5 places), then you will have a really good basis for building your career. Again, a co-op type education can short circuit a lot of this because you can work at 2 or 3 different places while you are studying -- it is really valuable IMHO.
If you are really struggling and can't find that first position, it might be an indication that this is not the career for you. I've seen lots of people offer their services for free just to get the opportunity to "break in". Don't do that! Every person I've seen do that has been horribly misused and they have never turned it into a career (again, my experience: I'm sure that it has happened somewhere, but I submit that it is very uncommon). There are lots of jobs for programmers. This is not acting. You don't have to eat ramen for 20 years before you get your big break. If it's not happening, there is probably a reason (as difficult as it is for me to say). If you are absolutely determined to make a go of it, then the best thing to do is bet on yourself and write some code (whether as a hobby or as a business venture). If you manage to make a successful free software project or business venture you will be sure that someone will hire you later if you wish. However, this is a humbling activity -- your odds of success are extremely low. At least you are doing something for yourself, though.
I think my last piece of advice is one my father gave me when I was young. He said that he always wanted to be a scientist when he grew up and so he became a university professor. However, as he got older he realised that there were a whole bunch of jobs that he would have really enjoyed. It didn't really matter which one of them he picked. He enjoyed his career, but there he would have enjoyed many others as well. If programming is not working out, find another career. There are lots of them and they are all rewarding in their own right.
For what it's worth I've seen a female developer who had both no talent and also lied constantly be promoted, which surprised nobody, because the company was desperate to promote female developers. This sort of thing can cut both ways. Hopefully you're against that and just want a robust, gender-blind promotions process in general.
This sort of person is under-represented here on HN for obvious reasons but they represent the majority of people developing software. The opportunity to contribute more than just lines of code should be offered and encouraged, but don't be surprised at how few will be interested.
Plus, I'd be fooling myself if I were not like this. I've seen people put their passion into a job, argue their case, and then they get made redundant. Don't be fooled.
P.s. I'm a very good, reliable bricklayer who makes very solid walls.
I learned a long ago:
1) I can offer the best ideas that go beyond lines of code, but it usually comes down to the decision of someone in a higher position than me (manager, sales, the CEO, etc) and if they just don't feel like utilizing your ideas, they won't. Fighting this is more trouble than it's worth.
2) Most companies, unless you are in a startup where you wear many hats, don't want you offering your ideas. They have the ideas and want the developer to make them into a reality.
3) Most of the time, a project manager is the person that thinks about the bigger picture. I don't really want to have the responsibility of both roles..without the salary increase that comes along with it.
I love thinking about the bigger picture, which is why I have my own company I'm building on the side. But I would much rather just get my job done as a developer for my day job.
If you combine your idea pitch with a working prototype (doesn't need to be polished), it's odds of getting adopted will be far more likely.
If your idea isn't one that can be prototyped, e.g. "Ask Microsoft for a billion dollars", then you may as well just pitch it, just like anyone else.
If the company is not interested on listening to new ideas, and you're keen on participating in something you would like to help build, then perhaps this is not the right company for you.
Just please be aware that after you've delivered, you loose power for negotiation. Therefore I would probably rethink the timeline choosen for agreeing on a reward "then I can say how much I want to be compensated for..".
But only if you think it will demonstrate enough value to get you something you desire: cool work, a promotion, etc.
This requires a good understanding of what your managers and the larger organization will value, and whether they reward people who show they can deliver on those items. People's careers _do_ get bumped from these kinds of efforts, but I've seen a lot of engineers spend 40 hours prototyping something that management just won't value.
I have a family and only have so much free time. Even if I didn't, why would I spend my free time building anything for a company and not get compensated for it?
Even if you go through all of this, there is no guarantee you will get the responsibility and pay increase.
I honestly don't really care about any of my ideas winning out. I'm perfectly content getting told what needs to be completed and coming up with a good solution.
Maybe I'm the exception here, but this does not really describe most devs I've worked with. I've seen really smart devs just not care to argue anymore in workplaces where no one listens to them, but this is not the same thing as wanting to be a "bricklayer". Most devs usually have a lot of work on their plate and not enough time or energy to argue with some product owner or manager who is determined to get their way and who does have the time and authority to force their ideas through. On multiple occasions I've seen great teams destroyed when some determined micromanager gets promoted and decides they are going to "fix everything" without actually listening to their people with the most hands on experience. This and many other forms of organizational BS can lead to developer apathy from what I've seen, but I really don't think the dev who just wants to be a bricklayer is the norm.
I honestly don't yet know how to fit everyone together.
Bricklayers should be managed and never put into more senior role. Also, you should never build a mixed team with bricklayers and "other" developers (except for case where there is only one "other" developer and they are the team lead).
I'd say the weak link across the board is the notion of corporacy and what it means, as well as what professional work ought to look like
fresh-faced devs straight out of university or college believe it's similar to their academic life, you get an assignment, you turn it in, you get graded cue morpheus meme: what if I told you professional life is nothing like university life?
similarly, we can't discount the international landscape of contractors and jumped-up leadership types we have to deal with, once again everyone has different ideas about what work looks like and it ranges from factory work to academic research to everything in between
A while back a bunch of consummate craftsmen worth very little in practice ruined the party for everyone with their pedantry in terms of technical concerns and set off a series of chain reactions that has quite disempowered all technology professionals
unless you're willing to revisit all your assumptions from the ground up, you'll be having this conversation again and again until you're an old coder in diapers tethered to a laptop on a walker
I get that getting good developers and facilitating good code requires incentives, but this is usually at odds with the perspective of business owners, which is that employees are both a liability and an asset. Lousy developers are (seemingly) low-liability and good assets because they can make it work for cheap and, if something goes wrong in the future because of all the spaghetti code, that's when you can hire the good developers to come clean up the mess.
That's what they want... until their needs change.
I did a contract at a company where I was the test automation guy. The dev team didn't want to right tests, and they were happy to convert requirements thrown over wall A into the code the threw over wall B. The QA team caught the wall B code, and threw their results over wall D. Things took forever, but everyone was happy... until pressure to ship faster started to come down from the top.
To speed things up, they hired me to automate all the things. Well, the dev team weren't interested in helping me learn anything, and the dev manager even told me to my face that he wouldn't ass test coverage unless management asked him to & gave him extra time to make that happen. The QA team weren't coders, and they didn't really have any incentive to help me make things go faster. The build & release guy wasn't interested in getting tests integrated into the Rube Goldberg of a process that he managed.
They were all great bricklayers who told themselves they were agile because they had 1 week sprints, daily stand ups, and a all sorts of other processes. But when taking forever was no longer good enough, instead of trying to grow with it, they resisted & fought it. My role was pretty miserable, and I quit after a few months. On my way out the door, I learned that I was like the 5th person to walk, and they were planning on seeking interchangeable bricklayer #6.
In my experience, companies want interchangeable bricklayers, but they usually don't usually like the results of what they asked for.
We're not allowed to say it work because someone thought it was a race thing but... 'pay peanuts, get monkeys'
Clean code is most valuable in the fact that you can add new features without old ones breaking
You should be able to write clean code from the start without it ever being classified as spaghetti as long as you stick to principles like Law of Demeter, SOLID, etc
Only when the product gets used in a non-typical way or in non-typical circumstances, do the (inevitable) bugs appear. They didn't think their design choices through or they didn't know the limitations of the tool used.
So bugs are considered a known risk, and are managed. Hardware, for example, is swapped under guarantee. The most ugly bugs are fixed, and others are too costly and wait until a redesign.
But the employer likes their qualities:
- he gets a mostly rapid schedule,
- he gets an employee that doesn't get lost in abstractions, and
- he gets to charge the customer again for the next major iteration
Basically they get him an MVP, and the customer keeps paying for each design iteration. We all know how important that is to the bottom line. To him Quality is optional, like benefits are to a job: they end up being important, but the salary usually comes first.
And yet, whilst it's fun to be able to answer questions on the spot, regarding my area of expertise, I'm looking forward to learning more.
Now, I learnt a lot on this job, and it's very challenging on a daily basis, but it's becoming repetitive, and having talk to management, they could not tell me how they see me/my position evolving in the next 6 months/1 year/2 years.
And that makes me longing for another job...
Your boss has revealed they have no opinions on your growth options. Do you have any ideas of your own? Offer them up.
I'll think about what you said, make a list and bring it to the table next time.
At work though, I find my thirst for learning new technical things has disappeared as I've gone older. What has grown instead is the thirst for learning new things in or related to my industry (domain knowledge). Like the problems my customers are facing, or where the industry is headed, or why they have been doing things a certain way.
You are probably not the best company so stop trying to hire the best programmers.
It’s like the fat, ugly, jobless guy that only dates accomplished super models.
Same as "want to pick the best stocks", "want to win the lottery", "want to marry the best person", "want to get the best price", ...