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
CPColin
Sep 9, 2003

Big ol' smile.
lol

edit: lol

Adbot
ADBOT LOVES YOU

flakeloaf
Feb 26, 2003

Still better than android clock

file io in c++ is hard and it makes me feel stupid

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

CPColin posted:

lol

edit: lol

don’t laugh at my soul

CPColin
Sep 9, 2003

Big ol' smile.

MALE SHOEGAZE posted:

don’t laugh at my soul

sorry lol

jony neuemonic
Nov 13, 2009

flakeloaf posted:

c++ is hard and it makes me feel stupid

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

flakeloaf posted:

c++ is stupid

Mao Zedong Thot
Oct 16, 2008


MALE SHOEGAZE posted:

i do realize that im setting myself up for a big disappointment when i realize that everyone is doing garbage programming. but there must be fields that are better than webdev

:riker:

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

CPColin posted:

sorry lol

apology accepted

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

MALE SHOEGAZE posted:

i do realize that im setting myself up for a big disappointment when i realize that everyone is doing garbage programming. but there must be fields that are better than webdev

if you haven't considered it, a lot of schools have weekend programs if you ever want to get/finish a degree. this can potentially take a long amount of time (part time bachelor degree starting from scratch can sometimes go up to 8-10 years). but it also allows you to learn while not living off of savings, and having structured projects that you look forward to doing might soothe some of the frustration of "im writing boring business app #78 and it's the third app in a row I've had to use my least favorite tech stack". when i was doing undergrad full time almost everyone in the weekend program was already working in a dev/db/qa type position

it's an option, at least :shobon:

tef
May 30, 2004

-> some l-system crap ->

MALE SHOEGAZE posted:

lol there’s a loop in our message bus wreaking havoc. i warned that this would happen if we continued to rely on kinesis as our only method of ipc for our 30+ micro services, but service to service calls are still forbidden because they create coupling

lol

tef
May 30, 2004

-> some l-system crap ->
if we did service to service calls, we'd have to write software that runs on an unreliable network

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
when i got here all of these services were running on the same host, but all communication was still done over kinesis, this is better than a monolith because

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

MALE SHOEGAZE posted:

when i got here all of these services were running on the same host, but all communication was still done over kinesis, this is better than a monolith because

:staredog:

Feisty-Cadaver
Jun 1, 2000
The worms crawl in,
The worms crawl out.

MALE SHOEGAZE posted:

when i got here all of these services were running on the same host because

lol that's amazing.

see we're decoupled and scalable!

*cj trips over the power cable in the data center broom closet*

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
it's not fair to make fun of the one host thing because that was really just an early phase startup decision. nobody wanted to keep things that way.

but here's something we can make fun of:

all of our domain models are defined in a single project. this project gets included in all of the services. the shared models are used when synchronizing data between services: when one service gets an update, it updates it's document in mongo and then dumps the document into the pipeline. the consumers then read the data out of kinesis and write it back out (sometimes altered, sometimes not) to their own mongo database.

quick sidebar: the size of these models is, in some places, exceeding the 1mb kinesis message limit. compressed json.

this approach is really bad for lots of reasons that i don't want to enumerate. but what really bothers me is that this is so obviously a problem of our services being inherently coupled: 90% of our services share 90% of the same data, and this is because 90% of our services should just be in one big monolithic app. they separated them because microservices scale well, the same reason they chose mongo as the datastore for relational medical data, and the same reason our microservices are now on kubernetes. (all of this despite the fact that even if we're wildly successful, we will never have more than maybe 100k concurrent users).

so rather than do the smart thing and start to consolidate services where possible, we're just decoupling even more: the model project I mentioned has been killed off. which sounds like a good thing, right? no: now each service has its own version of the project, with unneeded models pruned out. we just copy and pasted everything. this has already caused multiple production problems.

the reason we're doing this is to decouple. i'm not just injecting that: it's literally the reason we did it.

i really love the people i work with for the most part but i am so glad i'm leaving. i tried really hard to fix this dumpster fire and that was very stupid of me.

Corla Plankun
May 8, 2007

improve the lives of everyone
is there a system design where it makes sense to be decentralized but with one node that holds the schemas everything else uses?

its a design pattern that doesn't make any sense to me but it comes up enough that i'm assuming that someone did it really well once so now everyone tries to do it too kinda like dark eyeliner on blondes in the 90s

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

MALE SHOEGAZE posted:

it's not fair to make fun of the one host thing because that was really just an early phase startup decision. nobody wanted to keep things that way.

but here's something we can make fun of:

all of our domain models are defined in a single project. this project gets included in all of the services. the shared models are used when synchronizing data between services: when one service gets an update, it updates it's document in mongo and then dumps the document into the pipeline. the consumers then read the data out of kinesis and write it back out (sometimes altered, sometimes not) to their own mongo database.

quick sidebar: the size of these models is, in some places, exceeding the 1mb kinesis message limit. compressed json.

this approach is really bad for lots of reasons that i don't want to enumerate. but what really bothers me is that this is so obviously a problem of our services being inherently coupled: 90% of our services share 90% of the same data, and this is because 90% of our services should just be in one big monolithic app. they separated them because microservices scale well, the same reason they chose mongo as the datastore for relational medical data, and the same reason our microservices are now on kubernetes. (all of this despite the fact that even if we're wildly successful, we will never have more than maybe 100k concurrent users).

so rather than do the smart thing and start to consolidate services where possible, we're just decoupling even more: the model project I mentioned has been killed off. which sounds like a good thing, right? no: now each service has its own version of the project, with unneeded models pruned out. we just copy and pasted everything. this has already caused multiple production problems.

the reason we're doing this is to decouple. i'm not just injecting that: it's literally the reason we did it.

i really love the people i work with for the most part but i am so glad i'm leaving. i tried really hard to fix this dumpster fire and that was very stupid of me.

I didn't realize you're in Healthcare it now. I'm no longer surprised. Every piece of health care software bar none is a piece of poo poo cargo culting bad programming paradigms badly 10 years after their heyday.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

jit bull transpile posted:

I didn't realize you're in Healthcare it now. I'm no longer surprised. Every piece of health care software bar none is a piece of poo poo cargo culting bad programming paradigms badly 10 years after their heyday.

yeah i'm getting out. really not my thing at all.

MononcQc
May 29, 2007

https://twitter.com/anne_biene/status/1020410128510660608

The build tool I maintain was a highlighted negative for a programming class :(

Shaggar
Apr 26, 2006

jit bull transpile posted:

I didn't realize you're in Healthcare it now. I'm no longer surprised. Every piece of health care software bar none is a piece of poo poo cargo culting bad programming paradigms badly 10 years after their heyday.

theres good software in healthcare its just not all that common. I had to do integration w/ a clinical analytics subsidiary of one of the major emr developers and their clinical database schema was extremely good and if I ever need to store the same data myself I will straight up copy that poo poo.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
lol @ having a database schema , what a peasant


for real this place has soured me on ever wanting to deal with data in a serious way. i am way the gently caress over data forever.

Shaggar
Apr 26, 2006
if u don't have a schema you cant have data

cinci zoo sniper
Mar 15, 2013




MALE SHOEGAZE posted:

lol @ having a database schema , what a peasant


for real this place has soured me on ever wanting to deal with data in a serious way. i am way the gently caress over data forever.

no longer friends with male shoegaze, now shaggar is my best friend

Shaggar
Apr 26, 2006
schemaless data is just noise

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
honestly i don't want to touch a database ever again. mongo is so bad.

i'm sure i'll have to use a sql database again and i'm sure it will be better than mongo but if anyone ever tries to make me use nosql for anything that is not a great use case for nosql i am going to say no, sql. sql only.

Shaggar
Apr 26, 2006
mongo isn't a database, its a heap

cinci zoo sniper
Mar 15, 2013




MALE SHOEGAZE posted:

honestly i don't want to touch a database ever again. mongo is so bad.

i'm sure i'll have to use a sql database again and i'm sure it will be better than mongo but if anyone ever tries to make me use nosql for anything that is not a great use case for nosql i am going to say no, sql. sql only.

:hai: mongon't

Mao Zedong Thot
Oct 16, 2008


MALE SHOEGAZE posted:

lol @ having a database schema , what a peasant


for real this place has soured me on ever wanting to deal with data in a serious way. i am way the gently caress over data forever.

Unironically this is why tools and infrastructure dev poo poo rules. You pretty much get to say 'not my problem' to a whole host of operational problems, despite doing.... operational work. 'hey I just build the platform, you guys run on it'

Also you don't have to deal with product pressure much

Mao Zedong Thot
Oct 16, 2008


Application development turned me into a devops, devops turned me into a tools developer. Just jumping from one hellhole to the next

Computers are dumb

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
yeah tools development is appealing to me. ideally i'd be working on something where the end user is other programmers. libraries, frameworks, tools, etc. because, you know, i want to work on things i'm interested in, and i'm interested in programming.

but i think these jobs are pretty competitive.

DONT THREAD ON ME fucked around with this message at 05:17 on Jul 21, 2018

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

Shaggar posted:

mongo isn't a database, its a heap

specifically a heap of poo poo, but...

christ i never thought i'd say this but it appears that shaggy was largely right???

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

MALE SHOEGAZE posted:

I honestly don't know much about how academia functions, I mostly threw the PhD thing out because if I'm going to go get an undergraduate degree at 32, I want to make sure that I'm getting the most out of it. If a masters is sufficient to unlock the jobs I'm interested in, that's fine.

But really, I think that I'll probably be able to get myself on the right path with a year of dedicated study, making open source contributions in the areas I'm interested in, and being willing to accept positions that pay less than I'm making now.

What it comes down to is: When I started my career, I chose web because it was the most accessible path for a very inexperienced programmer with no college degree. Since then, I've been operating under the assumption that webdev is just the best I'm gonna be able to do (as a terrible programmer with no college degree). But honestly, I'm a great programmer who works very hard and there's no reason for me to limit myself to webdev when I desperately want to do something else.

I shortsell myself ITT as a defensive mechanism because it's easier for me to pretend to not care than it is to care and be wrong. But honestly, I love this poo poo, I am serious about programming, and I don't want to spend my career figuring out how to shoehorn functionality into CRUD apps with developers who just want to clock out at the end of the day and never think about programming again (not that there's anything at all wrong with that, but it's not me).

I didn't know your full situation... but it's actually somewhat similar to my own path about 10 years ago. From your posts you seem overqualified to be just webdev, imho. If you are in the U.S. I don't see why you need to accept less pay to get out of webdev. You really shouldn't have to, unless you're doing p-lang webdev (php or js), but even then, you could spend a few weeks to a month going through a book on C# and apply to a .NET SSE position if you have at least 3+ years of experience. The horrible awfulness of webdev will prepare you for the horrible awfulness of enterprise software dev or whatever. And if you are js or whatever, just get a SSE position that works with node (lmao).

IMHO if you want to go the academia route, don't get a CS degree. Get something like math or physics and then you can basically write your own check as a data science guy since you've already got the programming chops. You just need some rigorous stats classes, and honestly you might be able to get by with just a few stats classes, but IANADS (i am not a data scientist).

I dunno, I'm not even sure you're looking for advice but I went from being a php dev (of 5 years exp.) to a .NET backend lead basically overnight because I spent time outside work getting to know C# and .NET. It was a pay-raise, but I was also horribly underpaid as a webdev (which I think most are?) I would also say don't get discouraged (not that you are) because there are so many options out there for programmers even terrible programmer like me are managing to get those figgies without degrees. I think terrible programming is the one of the most friendly careers for non-degree chaps.

cinci zoo sniper
Mar 15, 2013




as a data scientist in europe, the paycheck bit is true but with physics degree i don’t feel confidently competitive (wrt “hard skills”) with folks who have degree in math or stats or bioinformatics or something like that. cs degree in data science is more of a red flag, honestly, unless it’s a machine learning specifically (and even then it’s debatable) - there’s noticeable stigma that cs graduate have tunnel vision and need to be herded around.

also all the creme de la creme positions here (six european figgies) prefer, if not require, a phd. ive not seen many positions that outright require a phd, but it is very common for phd to be seen as equivalent of 3-5 years of professional data science experience

but this is eu, mostly eastern/northern

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

MALE SHOEGAZE posted:

yeah tools development is appealing to me. ideally i'd be working on something where the end user is other programmers. libraries, frameworks, tools, etc. because, you know, i want to work on things i'm interested in, and i'm interested in programming.

but i think these jobs are pretty competitive.

great, you've figured out that you want to write developer tools. now immediately go apply for those jobs. worst case is you're not hired and you try again in 6 months.

gonadic io
Feb 16, 2011

>>=

cinci zoo sniper posted:

as a data scientist in europe, the paycheck bit is true but with physics degree i don’t feel confidently competitive (wrt “hard skills”) with folks who have degree in math or stats or bioinformatics or something like that. cs degree in data science is more of a red flag, honestly, unless it’s a machine learning specifically (and even then it’s debatable) - there’s noticeable stigma that cs graduate have tunnel vision and need to be herded around.

Lol I studied monads, complex analysis, graph theory, and crypto and not much else in my math degree. Better watch out I'm coming for all your stats jobs!

cinci zoo sniper
Mar 15, 2013




gonadic io posted:

Lol I studied monads, complex analysis, graph theory, and crypto and not much else in my math degree. Better watch out I'm coming for all your stats jobs!

please no :negative:

tef
May 30, 2004

-> some l-system crap ->

MALE SHOEGAZE posted:

it's not fair to make fun of the one host thing because that was really just an early phase startup decision. nobody wanted to keep things that way.

yep you can because it highlights that the system was built and run on an architecture of lies

in the beginning the network was reliable because it all ran on the same machinine


quote:

our services being inherently coupled.

the reason we're doing this is to decouple. i'm not just injecting that: it's literally the reason we did it.

i hate to warn you but this poo poo's endemic in our industry, sure enough many graduates know what a b-tree is, and yes a few of them took a DBA class and learned how to model payroll systems in a database, but like no-one understands distributed systems well

and it's catching on again, the enterprise service bus and service oriented architecture has been reborn as a service mesh and a serverless/microservices setup

like microservices don't make things scalable, nor do monoliths, like monolithic means 'we invested in our feature dev cycle' and microservices means 'we invested in our platform tooling', or maybe monolith means 'we are tired of cross repo synchronization and deployment' and microservices is 'we are tired of long build times and want to work in isolation'

anyway yes gently caress queues, especially persistent or transactional ones, they're just lovely databases

redleader
Aug 18, 2005

Engage according to operational parameters
terrible australasian programmer checking in. if i'm lucky, i'll fall asleep on some train tracks in the near future

Soricidus
Oct 21, 2010
freedom-hating statist shill

flakeloaf posted:

file io in c++ is hard and it makes me feel stupid

just #include <cstdio>

Adbot
ADBOT LOVES YOU

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Finster Dexter posted:

I didn't know your full situation... but it's actually somewhat similar to my own path about 10 years ago. From your posts you seem overqualified to be just webdev, imho. If you are in the U.S. I don't see why you need to accept less pay to get out of webdev. You really shouldn't have to, unless you're doing p-lang webdev (php or js), but even then, you could spend a few weeks to a month going through a book on C# and apply to a .NET SSE position if you have at least 3+ years of experience. The horrible awfulness of webdev will prepare you for the horrible awfulness of enterprise software dev or whatever. And if you are js or whatever, just get a SSE position that works with node (lmao).

IMHO if you want to go the academia route, don't get a CS degree. Get something like math or physics and then you can basically write your own check as a data science guy since you've already got the programming chops. You just need some rigorous stats classes, and honestly you might be able to get by with just a few stats classes, but IANADS (i am not a data scientist).

I dunno, I'm not even sure you're looking for advice but I went from being a php dev (of 5 years exp.) to a .NET backend lead basically overnight because I spent time outside work getting to know C# and .NET. It was a pay-raise, but I was also horribly underpaid as a webdev (which I think most are?) I would also say don't get discouraged (not that you are) because there are so many options out there for programmers even terrible programmer like me are managing to get those figgies without degrees. I think terrible programming is the one of the most friendly careers for non-degree chaps.

appreciate it and thanks for the advice. this job was actually my jump from "full stack ruby developer" to "full backend scala developer" and i'm very happy about that move. i've definitely escaped plang hell (scala is its own hell, but i love it).

if i do go back to school, math will definitely be involved, but i dont know how much. math was my focus when i tried school the first time, and it didn't work out, but that's a totally different post.


Fiedler posted:

great, you've figured out that you want to write developer tools. now immediately go apply for those jobs. worst case is you're not hired and you try again in 6 months.

yeah i'm definitely doing this once i'm done working. even if i have no intention of taking the jobs i need to know what the field looks like and i don't currently.

tef posted:

like microservices don't make things scalable, nor do monoliths, like monolithic means 'we invested in our feature dev cycle' and microservices means 'we invested in our platform tooling', or maybe monolith means 'we are tired of cross repo synchronization and deployment' and microservices is 'we are tired of long build times and want to work in isolation'

the "invested in our feature dev cycle" bit is really true and why the micros thing hurts so much here. we are very, very focused on feature dev with all that comes with it. there's nothing wrong with that, but trying to iterate on features really fast in a microservices architecture is really really hard.


also a big thanks to everyone who has put up with all of these lovely posts. double thanks to those of you who have troubled to give advice. i really appreciate it.

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