Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Jaded Burnout
Jul 10, 2004


In response to the OP, I'll throw in my experiences of working different job types in different company types for the sake of deciding whether you might like that sort of thing yourself.

- If you take on a team lead role, expect to do very little actual development, or expect to do both badly. Best be OK with this going in or it'll be a shock.
- If you take on a product role, expect to lose your dev knowledge. It comes back when you start exercising it again, but it can be a real issue during interviews if you're trying for a senior dev role with interviewers who know their poo poo.
- R&D roles in web development are mostly about analytics, fancy prototypes, and negotiating integrations with startups. See "product role" caveats.
- Treat early-stage startups like an unexploded bomb, especially if they have a high dev turnover. Beware "meddling founder" syndrome. +1 to all the previous comments about wearing lots of hats.
- Treat late-stage unsold unprofitable startups like a sick dog with a shotgun to its head. Investors aren't going to pour much more in before they demand profitability, and that usually means staff cuts.
- Ruby is no longer the shiny new thing in web dev, but it is really hitting its stride in terms of getting yourself paid, at least in London. Senior Rails devs are getting regular contracting offers of £450+/day on 12 month contracts. Competent permanent employees are being snapped up within hours of quitting. No idea how many more years this'll last. Could someone in the states chip in on the state of things there?

For what it's worth I've stopped working jobs with heavy responsibility. There's more autonomy and a sense of leadership, yes, but it comes with a hell of a lot of stress for no real benefit.

Adbot
ADBOT LOVES YOU

Jaded Burnout
Jul 10, 2004


TodPunk posted:

I can't speak for the whole US, but for the western half, Rails is mostly a startup language. If you are not willing to have most of your pay be in stock options, you probably don't want to go that route. Though the contracting bits are accurate, I don't think they're as prevalent here. Most of the contracts I've seen on the likes of Dice for Washington and Utah have been maintenance/integration pieces. Getting picked up quickly though, that's very true if you're in the right area. In Utah valley (around Salt Lake City), there are a LOT of startups, so you can hop quite a bit.

Thanks for this. I've been considering pushing for visa positions in the US and it's good to know what sort of places want these skills.

Jaded Burnout
Jul 10, 2004


TodPunk posted:

(It's not even a decade old, how do you see it as an established production business tech?)

An established business tech is a tech used by an established business, doesn't really matter how old it is.

When you said "a startup tech" I was a little surprised because in the UK it's popular with startups, but there's multi-million pound business using it who've long since passed on that title.

Jaded Burnout
Jul 10, 2004


Doctor w-rw-rw- posted:

Definitely not a startup-only thing, but after a certain size it won't be good enough to avoid a polyglot architecture or JVM layer (i.e. JRuby).

What do you consider "a certain size"? GOV.UK gets around 8 million hits a week with tens of millions more on the way, and that's entirely MRI Ruby. https://www.gov.uk/performance/site-activity

If you're talking about hitting Rails directly, yeah that's not going to scale very well, but put most anything behind a good caching layer and you're fine.

Jaded Burnout
Jul 10, 2004


Doctor w-rw-rw- posted:

Looks like they also use Python to me: https://github.com/alphagov

Performance Platform do their own thing because they want to, not because Ruby wouldn't do the job. Bear in mind @alphagov encompases all of the UK's Government Digital Service, not just the GOV.UK website. Almost all content served by GOV.UK (the 8 million weekly hits I mentioned) comes from https://github.com/alphagov/whitehall and https://github.com/alphagov/frontend which are both Rails apps.

The point is not that companies use 100% Ruby wall to wall; there are situations where it's not the best tool for the job or you fancy trying something else. Getting a system running at large scale is more about the architecture of the system as a whole allowing multiple applications to work together whatever language or framework they're written in.

Once you have your system broken down into conceptual chunks each represented by a robust application, it doesn't matter whether it's Rails or Django or Node because they're small enough to be manageable and scalable and replaceable. The only thing that matters is that they're written in a language and framework suitable for the specific focused task at hand. If that task is serving dynamic webpages, Rails does you fine, even for big websites.

Jaded Burnout
Jul 10, 2004


Doctor w-rw-rw- posted:

I never said "Ruby isn't good enough to serve big sites", I said it wasn't good enough to avoid a polyglot architecture, i.e. an architecture that is tolerant of decoupled services, or a service-oriented architecture if you want to use that terminology. Which is really kind of true of nearly everything (Java in particular seems to embrace it IMO). I don't really understand what we're arguing about.

No, me neither. I think we agree. It seemed like you were making out that Rails was unique in that sense, which as you say it isn't, it's the same for everything.

There's plenty of cultural issues with Rails, no need to worry about something like scale.

Jaded Burnout
Jul 10, 2004


Is this whiteboarding business really that common over there? The last few jobs I've had have been on the strength of a conversation.

Jaded Burnout
Jul 10, 2004


By "this whiteboarding thing" I'm referring to the idea of having the bulk of your hiring decision based on a set of coding problems which can be answered on a whiteboard, and even more worryingly, having them be questions people can or need to study for. I'm not sure what the point is of hiring people on the basis of an exercise which can be passed by reading a PDF and fails people with solid experience.

The conversations I've been in on both sides of the table have centered around architectural decisions, specific areas of expertise, establishing the candidate's level of pragmatism, professionalism, that sort of thing. If you've not got enough interview experience to tell whether you're being bullshitted on the code, bring them in for a pairing session and fix a real bug in your real system for half a day.

"Buy a whiteboard and grind it out" seems like a symptom of a problem, not a solution.

Jaded Burnout
Jul 10, 2004


revmoo posted:

Yeah it would. I don't think this is a common thing however. I think companies just want to assess a candidate's skills and some of them simply aren't good at doing that. So they give out a "homework" exercise to evaluate the candidate. Now there are several problems with this approach. The first of which it alienates a portion of your potential hiring pool. It's hard to pin down a percentage but it's safe to say that it will turn away a certain amount of qualified candidates. This problem is compounded by the fact that talented individuals may be turned away by this but desperate jobseekers will not. Furthermore, it shows that a company does not value a candidate's time and does not consider them a professional. This is kind of quixotic because these are the qualities that a hiring manager should be looking for.

Again, there's nothing wrong with grilling a candidate, nothing wrong with sitting them at a whiteboard or laptop, or pair programming. It's just that when the interview process bleeds into what could reasonably be considered "billable hours," it causes more harm that good. I think that if a company really wants to give out "homework" then they need to also pay the candidate for their work.

I've worked in a place where the first stage screening after CV sift was "build this toy app but don't spend longer than an hour or two". It worked quite well in terms of getting a rough handle on someone's style and approach to a problem hopefully without eating too much of someone's time. We did get a reputation for being very difficult to get hired at.

Equally I've worked somewhere where they insisted I spend a week working with them before hiring. They paid me for my time and I didn't mind at the time, but if I'd had several offers on the table I'm not sure I'd have been so willing.

Jaded Burnout
Jul 10, 2004


I was quite junior at the time and they were a very small company, so I understood the reticence. I imagine someone with enough experience for it to be an annoyance wouldn't need that length of time anyway.

I've seen half day pairing sessions work very well from both sides. You get a good feel for a person and a team in that time without burning days and days.

Jaded Burnout
Jul 10, 2004


JawnV6 posted:

This aspect is also totally missing from most people's uninformed blasting of the idea. If you're going from employee #4 to #5, this person is going to be part of the core of the company's culture, like it or not. They're going to be a large part of any given day and can't be stuffed into another team or department if they're personally abhorrent. I'm sure you can afford a mere 4 hours on sussing someone's personality out if they'll immediately be marked programmer #4095 and thrown into a giant bin with limited ability to spoil the rest and never have to see them in person again. But certain situations call for a little more attention.

In the anecdote which started this little kerfuffle I was employee #5, so this was an aspect for sure. In fact when it was bypassed later on for some cultish Software Craftsmanship hero worship the new employee managed to bring down the company in 6 months.

Jaded Burnout
Jul 10, 2004


An alternative might be to make a start in somewhere like London and explore from there. There's a big tech community (with lots of C# in the banks) and very quick access to the continent for weekend trips to see the cities, going to interviews etc. At least that way you wouldn't be dealing with both visas *and* language as barriers to hiring.

Jaded Burnout
Jul 10, 2004


Pollyanna posted:

Oldies in this thread: what were your first two or three years as a developer like? What did you do that you suggest I should do? What missteps should I avoid? What would you do over again? Any advice for someone literally starting out?

If we're talking about professional software development, as tef says it doesn't really matter what you do, but I think it does matter where you do it.

At your first couple of jobs you're going to pick up habits that will stick with you most of your career, so do what you can to make sure you're working with people who know what they're doing.

Beyond that, just do it all day every day for 3 years and you'll be fine.

Jaded Burnout
Jul 10, 2004


Rudest Buddhist posted:

16 hours in and so far so good. There are definitely more opportunities in the SF Bay Area and NYC. If you're willing to relocate to those places it's fantastic. Los Angeles not so much, but that could be due to their LA office just recently opening.

A lot of the companies I'm seeing are heavy on Python or Ruby but that might just be related my skill set. Applying can't hurt, seems like a better way then dealing with LinkedIn / JobVite.

Are the offers not contingent on face to face interviews?

Jaded Burnout
Jul 10, 2004


This may be straying into e/n, but do any of you find yourselves so disillusioned with software development that you seriously entertain the idea of throwing it all in and never touching a computer again?

Jaded Burnout
Jul 10, 2004


Cryolite posted:

Do you feel this way because of the people you work with, or is it driven by non-personal reasons (like coding day in day out just sucks)?

There's always one or two people that get under your skin but that's not it, by and large I work with friendly and competent people in one of the most prestigious London Ruby scenes. I've worked in bad places before and this isn't one of them. I'm paid well, I can work how I like, and I'm working on something which makes a real difference to people in the UK.

The problem is I don't enjoy going to work anymore. Back in my mid-20s I used to get up keen to get into work and press on with whatever it was I was working on. These days I just can't bring myself to care about other people's problems, and if I don't care about them I get no joy in solving them. Neither green nor brownfield holds any more interest than working an assembly line; it's just work.

Edit:

Skuto posted:

This can be caused by a bad working environment, a depression that may or may not be related to the working environment, looming burn-out, etc.

quote:

Depressed men are less likely than women to acknowledge feelings of self-loathing and hopelessness. Instead, they tend to complain about fatigue, irritability, sleep problems, and loss of interest in work and hobbies.

Well, poo poo. 4 for 4.

Jaded Burnout fucked around with this message at 15:46 on Aug 16, 2014

Jaded Burnout
Jul 10, 2004


baquerd posted:

What personally worries me the most is having my coding skills atrophy, hating just doing investigation and write-ups all the time, or just plain failing by missing important things that then blow up in my face.

A positive trade-off is that you get to be part of shipping many more projects than if you were a line dev, at the cost of becoming "post-technical" as they call it round here.

Are you not already experiencing many of these issues as a team lead?

Jaded Burnout
Jul 10, 2004


No Wave posted:

I've gotten an offer in NYC (where I'm located now, temporarily staying with parents until I have this figured out) for around $90K for a small start-up. There are only a few engineers there.

[...]

I'm having trouble deciding which of these choices would be better in the long run in terms of becoming a more knowledgeable coder.

I've found that tiny companies are either amazing or terrible for inexperienced coders and it can be very hard to tell which ahead of time.

It's all in the quality of the senior staff, as they're highly susceptible to both big-fish-little-pond-"lead"-developer issues and overworking by management.

The flip side is if you get a good group of people, you'll be working closely with them on the company's entire codebase and learning shedloads.

Jaded Burnout
Jul 10, 2004


sausage king of Chicago posted:

I eventually got promoted to a Senior there, but am super nervous applying to Senior level positions, again, because I think I'm going to bomb any interview.

One thing I found helped when I went towards management for a while and then back to technical is keeping in mind that there's no overarching network of job interviewers who share notes on the people they've interviewed. If you bomb an interview it has zero impact on your ability in other interviews except in your own mind, so applying to a few to calibrate where other people think you fit is no bad thing.

Jaded Burnout
Jul 10, 2004


ToxicSlurpee posted:

The other side of that is that completely bombing an interview doesn't even mean that that company won't ever interview you again. Unless you did something on the level of literally making GBS threads on somebody's desk they probably won't even remember you before long. Plus things change. They might have decided that they just plain didn't need anybody but four months later land a big contract that they need like 20 new people for and gently caress...do you still have that stack of resumes?

Yeah absolutely agree with this, both on the "trying again" side and also the change in demand. You might be #3 for two positions in May, and #3 for five positions in July.

Jaded Burnout
Jul 10, 2004


hendersa posted:

Sounds like a standard statement of work

Also called a "schedule".

Jaded Burnout
Jul 10, 2004


hendersa posted:

Under US contract law, "statement of work" means more than just a schedule. From the legal standpoint, it is an addendum to the original contract (like leper khan mentioned). Thermopyle asked what this type of document is called, so... there you go.

Ah, UK law must be different, as a "schedule" takes that role in many of the renewable contracts I've worked under in the UK.

Edit: also I wasn't suggesting you were wrong there, I meant "yes this, which can also be called a schedule sometimes".

Jaded Burnout fucked around with this message at 10:08 on Feb 1, 2017

Jaded Burnout
Jul 10, 2004


apseudonym posted:

At least for Google those pay bands are super low.

.. really? I know Silicon Valley is crazy for this stuff but I didn't think it was that high.

My own money doesn't really apply as I'm a contractor, but I know that most places in London (with some of the highest salaries in Europe) hit a ceiling around $120k for 10+ year Ruby developers, a sub-field which is considered highly paid to start with.

*Juniors* get $200k+?

Jaded Burnout
Jul 10, 2004


canis minor posted:

I'm self-sabotaging myself again - gotten an offer in London with 40% wage increase, opportunity to learn new stuff and I turned it down; the part is that I'm doubting myself, and the other one is that the vastness of London kind of scares me - I'd be paying double for a place to live (or triple if I want something similar to where I live now) + I don't have a sense of expenses

Not sure where you're moving from, but there's big positives and negatives to London depending on the type of person you are. Happy to talk through more details if you want.

It's real big as you say, but because of that scale it's really a bunch of towns squished together.

Costs are high but wages are even higher, especially for developers. In the Ruby/Rails world London is the cash cow; I'd estimate there's twice as many of us there as in the rest of the country combined and still jobs left over.

The dev job well is deep, you'd never be wanting for employment.

Greatbacon posted:

Hey, so I just found myself in a position where I'm currently unemployed and looking real hard at where I want my career to go. I've got some cash saved up so I'm not in a real big hurry, but I'm sort of flirting with the idea of contracting/consulting instead of diving back into FTE programming. I've got a background in backend Java & relational DBs and I'm not afraid of HTML/CSS/JS/Python/Ruby or really any sort of technology out there. But I'm not really sure what to expect or where to start with that. I mostly just know that I get bored when I've been working at the same company for more than a year or so and that I'd like to find myself in a position where I either get to set my own hours or at least do the majority of my work remotely/from home.

So does anyone have any experience (or warnings) about following that path?

The thing that got me to switch from full time employment to contracting was realising that getting emotionally invested in companies where I had no real control (just some influence) over high level decisions was killing my morale. With contracting you can have a mindset of professional delivery divorced from the ultimate impact of those decisions; they make the calls, you make the code.

The caveat to that is you will tend not to be in leadership positions, as contractors deliver their value for money by building things which make the company money. So while "Head of" or "CTO" contractors are not unheard of, you can expect and are expected to be a senior developer most of the time.

As for setting your own hours and WFH, most gigs I've found want to embed you into a team on site, and while (in the UK at least) there's legal reasons why a contractor still needs to keep their own hours and working locations there will be some practicalities that mean you can't do entirely whatever you want whenever you want.

That said I'm currently 3 months into a 9 month remote contract where I do exactly those things.

Jaded Burnout
Jul 10, 2004


fantastic in plastic posted:

It exists because developers tolerate it. If companies started losing their dev staff every time a project manager said "crunch time," the practice would quickly end.

This is the culture that exists among all the developers I know professionally. We don't tolerate it, and project managers have learned to cut scope rather than demand overtime. Any company which doesn't gets a reputation for being a lovely place to work, and with the market the way it is that means they have huge problems hiring.

Pollyanna posted:

It's not something that comes naturally to me, but I can tell it should be addressed ASAP. This might not be specific to software development, but how have people tried to become a more proactive person?

The most useful approach I've found is to consider starting a new ticket the absolute last resort. Code is worthless to the business until it's live, so part of a proactive developer's job is to push on all of your team's tickets every day until they're in the hands of the users. This means chasing blocked tickets every day, it means reviewing other people's code, it means doing (or asking someone to help you do) deploys, it means asking if anyone needs your help on their tickets. Only after all of these things are done or come up empty do you pick up another ticket.

There may be organisational blockers which prevent movement on these things but they will emphatically not be your fault and you will appear proactive because you'll be proactive, and visibly so. Actually writing code is a relatively small fraction of a good developer's job.

prisoner of waffles posted:

Anyone have advice on working with (non-internal) recruiters? I'm in the DC area and it seems like the fraction of recruiters, internal and otherwise, contacting me who actually read my Linkedin profile is... low.

If "Linkedin is a blasted hellscape, not worth your time" is already your opinion, I'm listening for that, too.

Go-between recruiters are so spammy I consider them a conduit for getting in touch with a company that has a job and no more than that.

Jaded Burnout
Jul 10, 2004


wilderthanmild posted:

:words:

Am I being unreasonable about feeling unhappy with work lately? Am I just complaining about normal problems everyone tends to deal with in development?

Sounds like you're bored but comfortable. That's a sticky tar trap combination because comfortable means easy, but easy means you're not learning.

Which would you prefer, easy OK money for a few years until the ship sinks, or jump ship now for more challenging climes but more risk?

Jaded Burnout
Jul 10, 2004


TooMuchAbstraction posted:

That's one benefit of LaTeX -- the PDFs it outputs are harder for recruiters to gently caress with than the Word docs they want everyone to use.

My website is my CV but I maintain a tidy print CSS style for if someone prints it or saves to PDF, but I've had recruiters just ctrl+a ctrl+c ctrl+p into a blank word doc and I've shown up to interviews to see my careful (skills relevant!) layout work dumped into giant untidy paragraphs.

wilderthanmild posted:

Yea reading the replies and re-reading my original post, I think there isn't much reason to think I should stay unless a sudden miraculous change happens. I'm going tidy up my resume and start job hunting.

Yay! Once that's underway there'd also be no reason not to sit down with your boss and lay out what they'd need to do to keep you i.e. get you some worthwhile work within a reasonable space of time.

Pollyanna posted:

I'll also admit, I've been pulling some less-than-40 hour days recently. Often by 4, I'm totally brain drained and I often call it a day there cause I'm just not productive at that point. It feels like burnout, but I was under the impression that burnout was due to being overworked, and the situation here is more environmental in nature. Can burnout happen because of a bad environment?

See this post in this very thread which helped me out quite a lot some years ago: https://forums.somethingawful.com/showthread.php?threadid=3607482&pagenumber=6&perpage=40#post433598225

It's not always burnout.

Jaded Burnout
Jul 10, 2004


lifg posted:

I don't know what step three should be.

Feet up and play WoW, I think, unless he fancies a quiet word with someone more senior with a stake in the project.

Jaded Burnout
Jul 10, 2004


Good Will Hrunting posted:

One other question: maybe I'm looking at the wrong industries? I've done fintech, ad tech startup, and now ad tech mid-size and they've all been nightmarish in some ways (plenty of good aspects just very dysfunctional overall).

Maybe I'm just cynical but those are two industries almost exclusively focused on money. Maybe a company more focused on people might have a better chance of not being a shithole? Even if the goal is "make people's lives better so we can charge them for it".

To that end, public/charity sector can often foster good working environments because there's even less Damoclean profit to concern yourself with.

Jaded Burnout
Jul 10, 2004


TooMuchAbstraction posted:

Having worked in a university setting (specifically in biotech), the environment was great so long as you weren't either a) a grad student, or b) applying for grants. If you were, then your life was pretty unpleasant. Government funding has been going downhill for awhile, leaving more labs to scrabble over less money. And grad students are always massively overworked and underpaid.

Ain't nowhere that's perfect. Having worked in central government it can be a shitstorm of politics both literal and office, but it's possible to find a good team in a good organisation if you try.

Jaded Burnout
Jul 10, 2004


b0lt posted:

At my previous job, we offshored to a bunch of really good people in Ukraine, and then Putin bombed their office.

Same. Last I heard the company hired the tech lead as a proper employee and shipped him over.

That team was built in the same "best practices" mentioned above, i.e. a colleague and I went over and personally hired a couple of the best candidates and let them be involved in building out their team, but the separation and communication is still a blocker if you don't build remote accessibility into all your processes.

Jaded Burnout
Jul 10, 2004


Jose Valasquez posted:

Any good recommendations for learning C++? I used it in college but not so much since then and my new role is working on a C++ code base. I'm coming from years of Java so the basics are fine but I'm drowning a sea of const* auto&& std::strings that must be rvalues.

StackOverflow has a list of resources here: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

I did the same recently (coming from Ruby) and I found myself skipping huge chunks of even the "steep learning curve" recommendations, and I'm not exactly a language-learning savant.

At some point I stopped reading and started looking up things as I went with the project I was working on because the books weren't helping.

Edit: the main takeaway I got from all the books was writing "good" C++ means ignoring two thirds of the language, with which two thirds depending on what type of programmer you are.

Jaded Burnout
Jul 10, 2004


oliveoil posted:

Is there any way that I could frame what I do know in a manner that makes seem like I have some real expertise in a specific area? Or have I basically done one year four times?

Depends. If you think about salary in the private sector, they're trying to maximise the gap between the amount they're paying you and the amount they make from your work. Being rare with a niche skillset can work supply/demand in your favour, sure, but being very effective is also a good way to go. If you're so good at doing internal tools that you can ship the code of two lesser devs or tech lead a team of 5 to perform 30% better each then you've more than paid for yourself, especially when you multiply that by the increased productivity of everyone using the tools you're writing.

I advertise myself as having well-rounded expertise and I get perfectly good senior rates.

You may be undervaluing dependability and a strong attitude of getting things done for the business and helping people achieve their objectives.

Jaded Burnout
Jul 10, 2004


oliveoil posted:

Why not both? I think no matter what my niche is, I'm going to aim to become more effective at it, so then the question is: what niche? Do I have one already? If not, do I just pick one and see if I can hack it?

My point is you don't need a niche. You can take that route, but it isn't necessary if you're good at what you do.

Jaded Burnout
Jul 10, 2004


Zamujasa posted:

.. 18 months ..
.. Arbitration ..

Is there a :ripcord: smilie?

Jaded Burnout
Jul 10, 2004


prisoner of waffles posted:

Maybe this is too e/n, but does anyone have a good, unambiguous definition of technical debt? Under the rough description of "engineering is identifying, refining, and solving problems", tech debt to me always implies "this solution will noticeably do poorly under some circumstance X" where X might be something that can happen presently or something that isn't even possible at the time.

Under that line of thinking, tech debt is "risk that the way we solve stuff with code/systems now ceases to be a good solution at some point in time."

While it may or may not be a perfect analogy, real debt is a good way of thinking about it.

You often accrue technical debt when you skip some normally important development step. Maybe you didn't write tests. Maybe the infrastructure is done by hand rather than defined programmatically. Maybe you didn't refactor as you went along. Maybe you decided to put Dave Who Knows SQL on the database ticket again rather than Steve Who Should Probably Learn SQL.

You choose one or more of these shortcuts because they save time and get you to some important externally-enforced goal, the logic being that you can go back and correct the known failings you've just introduced *after* when you have more time and money, so it'll be OK that it'll take more time and money than if you do it now. The impact of deferring these good code practices (slower development time, more fragile codebase) and the extra payback cost is the "interest" on the debt. You take it on because not doing it now will gently caress you for non-development reasons.

If "later" never comes and you keep taking on more debt then you'll eventually find that the interest is so high that you can't reasonably function, most of your development time is taken up paying off the interest and not the debt itself. Paying that down usually involves shutting down feature development for months or years.

The story of gov.uk is one of mountains of tech debt accrued out of necessity and paid off over years of hard effort, I can tell you more about that if you're interested.

Jaded Burnout
Jul 10, 2004


All this talk of the tech giants has got me wondering if I should move that way myself. I've been in startup or post-startup culture for over a decade now.

Jaded Burnout
Jul 10, 2004


TooMuchAbstraction posted:

If you've never experienced working for a tech giant, it's probably worth doing at least once

Seems like it requires commitment to the long haul, though? Ready acceptance of things like the aforementioned CS-algo–heavy interviews and year-on-year ladder climbing.

Jaded Burnout
Jul 10, 2004


Pollyanna posted:

What's the difference between a typical employment role and a contractor role? I got a message asking if I was interested in a "contract web development role" for a "2 year contract", but I have no idea how that's different from what I've got right now. Is it worth going after "contracts" like this, or should I stay away if I have less experience?

You can google the details but generally as a contractor you're working through your own company which can mean a lot more money if you can find the work (not hard in this market) but also requires a lot more admin work and no paid holidays / sick days / pat/maternity leave, pensions, health insurance, etc etc except those you choose to give yourself.

return0 posted:

I would find this interesting.

It's 2012 and there's two really poo poo central government websites called DirectGov and BusinessLink and thousands of websites for all the departments and agencies etc. Some people wanted to replace it with something modern and good, but flying in the face of IBM and Accenture and their government procurement mates meant they had to get an alpha up and running really quick and cheap.

The basic citizen-facing bits got done first (what are the bank holidays this year, how do I pay my car tax) with a not-great central publishing miniservices backend. It worked well enough to hit the deadline.

But there's no time to go back and fix it now! Because they've been given a chance to turn the alpha into a real thing but they have to migrate the 24 ministerial departments and their 200k documents over and fast. Some people wanted to integrate it into the existing system, others felt there was too much tech debt there and it'd be too slow. So they built a new monolithic web application called Whitehall which shared none of the services in the original and added a bunch more.

But it got done in time! And the team was launched for real and all was good.

This is where I joined. We got two months to try and pay down some debt and then the next political deadline dropped; 312 agencies and their 1000+ websites had to get merged in and only 18 months to do it. They all got merged into the giant monolith as best we could which was slower than it could've been because tech debt. We put aside some time to start on a new pipeline to replace the other two as we went.

It got done, we didn't introduce any more tech debt, but didn't really pay any down either. But now we can fix it, right? No, because it's January 2015 and there's an election in June and the last one was in 2010 and the site was only created in 2012 so what the gently caress is going to happen. Also literally every parliament since the invention of the internet to that point had dealt with the problem by deleting everything from the last government and starting over.

Patches, changes, new apps, refactoring, new features. We hit the deadline. Now can we pay down the tech debt?

Yes we can. July 2015 through to now has been almost exclusively paying down the tech debt accrued from 2012 to June 2015. If you've been following along that means merging three separate publishing platforms into one without breaking anything and maybe fixing a few things along the way. I left in October and they're still going. But if they'd not taken it on at any of those crucial stages the project would've been scrapped and used as proof that modern development just isn't cut out for government work.

Jaded Burnout fucked around with this message at 20:25 on Mar 28, 2017

Adbot
ADBOT LOVES YOU

Jaded Burnout
Jul 10, 2004


Ralith posted:

Sometimes it feels like people have forgotten that the internet is capable of doing things other than shuffling JSON over HTTP :(

Yeah, it can also do XML.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply