I would simply argue that traditional “system administration” is now the responsibility of development teams rather than ops teams (yeah yeah DevOps, but the “ops” part has changed).
Ops today is largely responsible for maintaining build / deploy pipelines, orchestration systems, and ensuring SLAs are met via SRE activities.
Most functioning DevOps teams I’ve worked with recently have added a more generalist role for a person who is a mile wide and a foot deep. It’s more of a hybrid sysadmin / development skill set ranging across base OS and package management, logging, scripting / automation, networking, access control, security, a dozen programming languages and whatever ITIL / EA platforms you have to interface with. These folks are a godsend in issue resolution as they know where the skeletons are buried. They also can pinpoint your top 5 tech debt issues of the top of your head.
The best version of this person also has some BA skills — they work really well as a demand management / intake person because they usually understand the end-to-end architecture — especially the code behind the integration interfaces — better than anyone on the team. They allow developers to focus on code, ops people to focus on production ops, and architects to focus at the right level of abstraction.
The problem with blockchain is that a significant percentage of people who are bullish on blockchain are only bullish because they think it will negate the need for governance.
They fail to see that many systems they want to replace with blockchain only exist because of the need for governance. The governance came first, then we designed a system around the rules we needed.
Agree in all cases. Bamboo was actually ok for a little while; but then they got rid of the cloud version which made it a bit more niche.
I also like to plug VSTS in these conversations. It’s really nice to be able to drill down from feature roadmap to build status in a single tool without a lot of config. I haven’t built anything complex in it personally, but hear nothing but good things from the teams I work with who do.
Edit: looks like I had the bamboo thing backwards; but I remember I stopped using it for a reason :)
I agree that we were disappointed when they dropped the cloud version, but we started hosting it ourselves and couldn't be happier. Works much better than Jenkins did for us.
Yeah; it’s actually pretty easy work. Interns have a lot of uncommitted time, and they’re going to leave soon so you don’t want to integrate them into the team too much. It’s also way easier to build to a well-defined spec (which an in-production endpoint would likely have).
So you let them rewrite something that already works. If what they build is good, you‘ve just knocked out a good chunk of technical debt and found someone you probably want to hire. If not, they don’t get an offer. Either way you probably didn’t pay them much to begin with so there’s a lot of upside and not much downside.
The question isn't whether or not the work is easy for the intern, it's whether or not it's appropriate. And this cuts both ways: a company that is doing serious core refactoring/redevelopment on the back of an underpaid "intern" is probably exploiting that labor in an unfair way. If it's in fact an unpaid internship, then they're straight up in violation of the Fair Labor Standards Act.
And, of course, a company that puts this kind of work on the back of a temporary worker is not treating its own codebase with the respect it deserves. This is rolling the dice with your expertise store -- you have to hope they did it well, because they aren't going to be around to answer questions if they didn't.
If they didn't build it well, you throw it away, and you're only out what you paid the temporary worker and your code review/acceptance test.
The point is this was a well-specified, independent component with an existing functional implementation. This makes an ideal intern/temp/first project, because of those factors - it doesn't require deep knowledge of the organization or other services in the environment or business requirements. You build this, and if we like it, we use it and may give you a job offer.
Unless given other information, you can assume the company complied with the law with respect to paying the intern and the intern accepted the internship offer, and it sounds like he got a great experience out of it.
> If they didn't build it well, you throw it away, and you're only out what you paid the temporary worker and your code review/acceptance test.
Yeah, and that logic is almost inherently a violation of labor law. The whole idea behind allowing "internships" at all is that the intern is deriving value (education) from the relationship that isn't captured by wages alone. The test for whether it's legal involves how much they are supervised by the people who are supposed to be teaching them.
Handing out throwaway projects like you posit is an easy trip to a class action suit.
I think you may be mistaken about this. If it helps any, I wasn't one of your downvoters; I upvote comments that may be incorrect but lead to an interesting and informative discussion.
I live with an HR exec and read some of this thread to her while she was cutting rhubarb for something she's baking.
She said (paraphrased), "Are you kidding? This is a perfect project for a summer intern. They won't have to take three months to get up to speed with all your internal systems, and of course there is educational value - they will get to see how some talented developers tackled the problem in one language while they translate it to another."
There is immense value to the intern just for being around; the biggest things software dev interns learn isn’t how to code: it’s how to code as part of a team. So check-ins, CI/CD, automated testing, daily meeting cadence, architecture discussions, backlog grooming, code reviews... all things they don’t teach you in school, and all things that you need to know to develop software in the real world.
Most kids right out of school are honestly pretty decent coders. The internship is more about the professional skills than the technical ones.
> a company that is doing serious core refactoring/redevelopment on the back of an underpaid "intern" is probably exploiting that labor in an unfair way
> Handing out throwaway projects like you posit is an easy trip to a class action suit.
So if an intern shouldn't do work on the core product but also shouldn't do throwaway projects, what do you suggest an intern should do?
What do you consider an "underpaid" intern? Would you consider 75% salary of campus new hire as underpaid?
Most real internships pay under market rate, but not insanely low. A few years back, going rate for an undergrad CS internship was ~$25/hr or so.
If you’re recruiting on campus, you’re competing with other companies for the most promising candidates. If you come in with an unpaid internship, you’re going to get the leftovers.
Even ten years ago, I doubt it was an unpaid internship. They weren’t common in tech going all the way back to dotcom. And if it was a paid internship, labor law doesn’t care. As far as it’s concerned that’s a job like any other.
As far as I know, unpaid internships have not really been a thing in software development.
I was an intern back in 1995 and they paid us $10/hour ($16.88 inflation adjusted) and they provided housing on a college dorm. To put that in perspective, the $650 I made after taxes every two weeks was the cost of tuition every quarter at the state school I attended. I made enough that summer to cover my entire senior year including books.
It’s just an absurd situation that health care is tied to employment in the first place. If you get sick and can’t work, you just become a burden on society that’s not accounted for anywhere — but society still has to pay for anyway.
And we wonder why our healthcare costs are so high...
It was maybe true in the beginning when payouts were subsidized by VC, but the most recent rounds of driver payout cuts have led to a situation where a lot of drivers are recent immigrants who “lease” cars on a daily basis (at a rate around 75% of what they make a day). Many speak next to zero English; but that’s ok because Google Maps is localized in their native tongue. I’d say most of the drivers on the east coast fall into this category.
Does that sound familiar? Because it’s exactly how the legacy taxi industry worked. People would bring their relatives over, have them drive a taxi they owned, and collect nearly all of their earnings from providing a room to sleep in and a car to drive. It’s exploitative, yet it’s often one of the only jobs available to these communities. And Uber has zero disincentive to just pretend this old business model hasn’t just carried over into the new world where there’s no government regulation to address it.
Yes, and yet people still do that voluntarily. Because it beats staying in their home countries. It provides them with the means to adapt to the new place of living, and then move to a better job. Without this step on the ladder, they would live much more miserable lives.
I am an immigrant, from Russia to Switzerland. I don’t have any right to Swiss social security and welfare (despite paying taxes here). I am happy that I have at least something by default if I won’t be able to work in my profession for any reason anymore. Uber is my safety net — if I still can drive a car, I can sustain my living. It works the same for other immigrants.
And yes, I much prefer driving an Uber here to living and working in Russia.
I would suspect it’s because even many of the core libraries are still written in Obj-C. Swift is neat and I really like it, but the ecosystem is such that even when using it on a new project you end up writing ~25% of your project in Obj-C.
Depends on the nature of your project but I can count the number of Obj-C libraries I’d be likely to use in my projects on one hand, and they all play secondary roles (e.g. analytics). For almost anything else Foundation/UIKit and third party Swift libraries would be used.
This sounds extremely strange. Last time I neede to write Obc-C was early 2017.
My current project started as pure ObjC, now there is zero lines of this in production.
Right, tell that to a person in 3rd world who doesn't know where their next meal is going to come from. Money is not the most important thing in the world when you are making more than maybe $60-$70k/year in NA, but if you are making anything less than that, it definitely is the one of the most important thing if not the most important thing in the world.
Turns out that a lot of people would rather live comfortably. Same with me, I'm making more than triple what I would make if I had pursued my original studies into a career. My only regret is that I didn't study computer science so I could be making more than I currently earn.
It's not. But the news is full of people who got degrees and giant college debt and it's a terrible anvil hanging over their entire lives. They can't buy a house or car (or its tremendously harder), the need to service the debt is a central part of their decision making.
If you want to look at it in another lense, it hurts our whole economy because many younger people in this group aren't able to help our economy grow through buying stuff like previous generations did. When I went to college long long ago it was really cheap, like $1000 a semester. The states stopped subsidizing it so much. I was a beneficiary of this.
If you only have Federal loans (which are about 90% of total disbursements), you will qualify for income based repayment. That means that you will never pay more than 10% of any income over 1.5x the Federal poverty level.
It will also be cancelled after 20 years of payments.
I would vastly prefer more direct subsidies though.