6 ms·
The short answer is get a job that is actually interesting. I'm sad to say that - IMHO - software engineering as a profession is not looking too great right now
by SanderNL 4y ago
The short answer is get a job that is actually interesting. I'm sad to say that - IMHO - software engineering as a profession is not looking too great right now.
My long answer is that the job is - despite the money - quite "blue collar". I guess an effect of it becoming mainstream among other things. A vast majority of programmers' jobs are connecting various types of tubes together and endlesly discussing minor variations of the same basic themes. You will find yourself (re-)implementing CRUD interfaces, auth flows, database models. If you're lucky you'll spend some time messing with your cloud provider of choice's various control panels or may work on massaging some data for the AI guys. That's basically it and you're getting paid for it quite handsomely so I'm not sure we should voice our concerns too loudly, but it can be soul-draining nonetheless.
What works for me is to get a job that's not micromanaged to the death. Some jobs, especially at smaller companies, pose a very interesting challenge. I guess the restricted resources, (usually) passionate leadership and sense of personal achievement makes these types of jobs more fun for me. There are usually no playbooks, no protocols. There might not even be an understanding of "user stories": you'll be the one that'll introduce it. It'll teach you all kinds of interesting things about management, planning, people etc. There can be excitement there that is completely drained out of the larger corporations. It could also be hell, so your mileage may vary.
- noir_lord 4y agoI've maintained for a long long time that programming in the real world is more akin to a blue collar job than most people would suspect (and I worked blue collar, I qualified as an industrial electrician when I was young). I think the way we prepare programmers for industry would benefit much more from an apprentice model than what we currently do, though of course since I'm in the UK and that would require employers investing in employees so that'll never happen. Somewhere like Germany could make it work better though since they have a stronger program for that stuff generally. It's such a vast field that the vast majority of programmers aren't doing bleeding edge stuff.
- SanderNL 4y agoThere's definitely overlap between those concepts. There are also some differences. I guess it depends on the nature of that specific job if it's "blue collar" or not. I get the feeling from the poster that they are in a "blue collar" environment. Fully managed, working a specialized assembly line. No time for anything else but whipping up the next widget. There are also SE jobs where you have to be everything. Tweaking servers, calling customers, designing and implementing backends, some frontend work, maybe even helping out with the company website. Meeting with CEOs of partnering companies. I don't see typical blue collar workers doing well in that sort of situations.
- noir_lord 4y ago> There are also SE jobs where you have to be everything. Tweaking servers, calling customers, designing and implementing backends, some frontend work, maybe even helping out with the company website. Meeting with CEOs of partnering companies. I don't see typical blue collar workers doing well in that sort of situations. Generally I don't know, I certainly did fine in that type of environment (has been most of my career) - I don't think it's that dis-similar to a contractor (construction not soft-eng) who has to essentially run their own business and do similar types of things. Some of the smartest (not necessarily academically) people I've worked with where in traditionally "blue collar" roles - most developers aren't that special or that smart (and I include myself in this) - at best we have an aptitude for computers that others lack.
- beckingz 4y agoFor small construction companies, you get this type of thing all the time with more senior tradespeople.
- im3w1l 4y agoThe problem with an apprenticeship model is that the field is moving so quickly. In many cases the younger programmers are better than the older ones whose experience is already going obsolete. The tech they learned is no longer used, and the best practices of yesteryear are now frowned upon.
- badpun 4y ago> My long answer is that the job is - despite the money - quite "blue collar". I guess an effect of it becoming mainstream among other things. A vast majority of programmers' jobs are connecting various types of tubes together and endlesly discussing minor variations of the same basic themes. You will find yourself (re-)implementing CRUD interfaces, auth flows, database models. The "blue collar" description does not fit well though, as most other high-skill, white-collar jobs (lawyers, doctors, accountants, engineers) are similarly repetetive and mundane. Typically, the company hires experts to do the same thing over and over again. You can escape that by going into research position (but even they can get quite mundane and boring, in current publish-or-perish culture) or by changing career fields every couple of years (not really realistic for most people).
- js8 4y ago> Typically, the company hires experts to do the same thing over and over again. To me, the biggest mystery is why IT keeps tasking programmers with mundane and repetitive tasks when, unlike in other professions, the beauty of programming lies in the fact that you can abstract and automate the repetition. Why we need million programmers building CRUD apps, why they don't have a standard already?
- BlargMcLarg 4y agoLegality and stubbornness. Same reason we have dozens of languages with very minor differences (not different paradigms), endless discussions on formatting despite opinionated linters/formatters existing, bike shedding meetings, and more.
- badpun 4y agoI think we have a standard for the most part. Most of the work being done today is around expressing business requirements in code. The technical side of the tasks is automatically handled by web frameworks, database engines etc. behind the scenes.
- ipaddr 4y agoThe standard exists it is called wordpress and powers most sites.
- gg-klotho 4y agoI'm not sure I'd agree that software engineering isn't looking to great right now, though I'll admit that I have a limited set of experience. Even in a boring job, there are things you can find interesting. If you're (re-)implementing the same CRUD interfaces, maybe look at some templating or code generation to cut down on the time that takes - get meta about your work and find new ways to be more productive. Up to you whether you use that boosted productivity to do more work or to spend less time working.