Programming as a career

Message Bookmarked
Bookmark Removed

I've been doing some programming at work, but because it's a hardware place, the bar is set pretty low in terms of languages. I've floated my resume out there a couple times, but aside from a couple nibbles, nothing, so I've realized that I don't have enough CS knowledge: a decent amount of perl, less decent PHP, some Mysql, some Javascript, and a couple of C classes that I've taken a couple years ago that have fallen into disuse. What, then, should I improve on? Should I take some Java classes? I figure that I'll have to take a data structure class sooner or later; should I aim for a certificate or even a degree?

Leee, Friday, 21 August 2009 03:28 (twelve years ago) link

Java and C# are very high in demand. And definitely get a Bachelor's degree in CS if you can. Tons of places won't even give you the time of day if you don't have one.

Mr. Snrub, Friday, 21 August 2009 03:36 (twelve years ago) link

Bump. Anyone else, or did Mr. Burns give the long and short of it?

Leee, Friday, 21 August 2009 21:00 (twelve years ago) link

I've been in this career so long I'm obsolete, so my best advice is look at the want ads for programmers and see what's needed most. And I hope a BS in CS still means you know C inside and out.

nickn, Friday, 21 August 2009 21:27 (twelve years ago) link

Oh, and get the A+ certification. No, it's not very programming-related, but it shows that you know rudimentary knowledge of PC repair, it's a super easy exam, and it's on your resume forever.

Don't bother with most other certifications, though. They're an absolute nightmare to study for and they become obsolete too fast. Instead, I'd start contributing to some free open source project on sourceforge or google code or something, and then bring that code with you to all your interviews. It gives you a good answer to the "yes, but what have you done lately?" question, and voluntarily contributing for a free project makes you look good.

Mr. Snrub, Sunday, 23 August 2009 04:02 (twelve years ago) link

three months pass...

Asking coworkers and family, and two things I often hear:

1. Get at least a bachelor's in comp sci/software engineering (I have an ever-useful English degree already) because in terms of career growth, you won't get priority unless you have that degree. This is important to me, given that I'm currently at a position where I have almost no room for growth.
2. Don't get a bachelor's, because everything's getting outsourced in software engineering anyway.

I'm reluctant to give up before I've even gotten started on programming, since I took forever to find a job, first of all, and one that I actually enjoy.

Leee, Friday, 18 December 2009 05:40 (eleven years ago) link

People who say #2 don't know what they're talking about.

Just make sure you either specialize or diversify your skills (whichever suits your persona, there are pros and cons to either) so you're not a one trick programmer, and you'll be fine. In this late 2009 economapolypse, I'd go with the diversify-yourself-and-learn-a-whole-bunch-of-shit-for-fun angle. Companies will give preference to people who geek out on programming in their spare time, or *ahem* at least can pretend very well that they do.

Sock Puppet Pizza Delivers To The Forest (Sock Puppet Queso Con Concentrate), Friday, 18 December 2009 06:35 (eleven years ago) link

Yeah, learn a bunch of shit, more the better.

kingfish, Friday, 18 December 2009 06:40 (eleven years ago) link

3. Make up for lack of degree w/ experience (fuck going back 2 school)

shartin jort (am0n), Friday, 18 December 2009 06:44 (eleven years ago) link

Other recent observations: open source environment jobs have blossomed.. Microsoft technology jobs have softened (for pretty obvious budget reasons.) It's awesome to know both, but if you had to choose one, choose the former -- since it's free, and if you can prove that you wrestled with bugs in some open source package, and overcame them, that's something you can put on a CV.

(The really stupid thing about tech companies: no one will hire a seasoned C# programmer for a mid-level Java position, or vice versa -- even though the two language skills are highly transferable. This is digressing into rant territory, so I'll stop.)

Sock Puppet Pizza Delivers To The Forest (Sock Puppet Queso Con Concentrate), Friday, 18 December 2009 06:51 (eleven years ago) link

3b. Or at least spend a number of days going through wiki pages on algorithms involving binary search trees, sort algorithms, and abstract data types like stacks, queues, linked-lists, etc. A BS in CS will teach you that and a lot more, but in practice, it's the former stuff that companies really care about. You do need some math skillz to understand the former. learning O-notation is a bonus.

Then again, some companies just want to hire people who like picking things up quickly.

Sock Puppet Pizza Delivers To The Forest (Sock Puppet Queso Con Concentrate), Friday, 18 December 2009 06:55 (eleven years ago) link

Yeah, learn a bunch of shit, more the better.

ehh, having a multidisciplinary cv can be a pain, recruiters don't know what to do with you.

poster x (ledge), Friday, 18 December 2009 10:58 (eleven years ago) link

I'll back the assertion that it is possible to be a coder without a degree (my ex is an example - heck he didnt even finish high school) but if you go down that path you gotta know C++, C#, assembly, perl, etc relevant to field language. You have to live and breathe code and *enjoy* doing it. I see people who code like other people play and write songs on guitars. Theyre the ones who do well.

millivanillimillenary (Trayce), Friday, 18 December 2009 11:12 (eleven years ago) link

i would think with that trayce you kinda have to get a bit lucky, and find a company that's a bit more relaxed in their recruitment drive.

i recently applied for a java role, having a rather great bouncy interview and selling my enthusiasm for coding etc. They seemed impressed and I thought i'd done well but the other guy won the job basically because he knew more about 'business' terms.

all companies are different, worth researching them individually for your applications.

bracken free ditch (Ste), Friday, 18 December 2009 11:21 (eleven years ago) link

Games industry is perhaps a unique beast compared to coding in all other fields, as it is a lot more of a "prove yer shit" industry.

millivanillimillenary (Trayce), Friday, 18 December 2009 11:57 (eleven years ago) link

Know this really well.

Then this.

And then this.

Now you're pretty much all set.

Mr. Snrub, Friday, 18 December 2009 12:01 (eleven years ago) link

xp Trayce, yeah agree with that

bracken free ditch (Ste), Friday, 18 December 2009 12:14 (eleven years ago) link

Is learning C++ a particularly good idea these days? There's got to be a lot more jobs in Java and PHP, at least. Hell, probably even in Ruby and Python. People do argue that you learn so much from programming C++ that it makes other languages much easier to pick up etc, but that doesn't seem to me like a good enough reason to start there.

Guess it depends on the job you want -- I imagine the places where they use C and C++ now are ones where you're most likely to actually need a CS degree.

What do I know -- I just quit my programming job last month and have no idea wtf to do in the future.

Øystein, Friday, 18 December 2009 12:48 (eleven years ago) link

I had heard that C++ had lost out a lot to Java and Visual C++ to C#, and meanwhile C is still going strong for embedded systems, which C++ is largely unsuited to. But I have never been paid to write in any of those languages so I dunno.

When I was last job-hunting I put just about every language I had even basic knowledge of, and a specialist IT recruiter told me it was confusing and I needed to narrow it down. So don't do that.

I suppose that sounds obvious (writing 30-line programs in yr spare time or in lol college != doing useful work on a real major project), but when your core skills - and I'm not sure I have any - are kind of limited and obsolete, and your jobs to date have involved a lot of whatever nobody else wants to do that day but thinks you can pick up as you go...

brett favre vs bernard fevre, fite (a passing spacecadet), Friday, 18 December 2009 13:23 (eleven years ago) link

I have a good front-to-back knowledge of web development, from html to java, and i do put it all on my cv, but I try to position myself as a java developer. Still most of the stuff i get from agents is for entry level html crap. Basically all agents are know-nothing cunts.

poster x (ledge), Friday, 18 December 2009 13:48 (eleven years ago) link

is it worth learning to use stuff like eclipse and that because i guess while most people can do java C++ fewer people will know how to work with the specfic development tools etc?

I sb'ed your mum (ken c), Friday, 18 December 2009 16:37 (eleven years ago) link

It might also be helpful to learn about recursion, as told by H.P. Lovecraft:

http://www.bobhobbs.com/files/kr_lovecraft.html

o. nate, Friday, 18 December 2009 17:47 (eleven years ago) link

3. Make up for lack of degree w/ experience (fuck going back 2 school)

I kind of sort of have this covered at my current position, but I'm sort of an ad hoc backwater one-person band supporting a group in a hardware company, so there's not a lot of support for me but also not a lot of priority given to me vis-a-vis promotions, accumulating job skills past a rudimentary point, etc. It's good for financial security, but if I need/want a real developer's job, I feel a bit underqualified, thus thinking about doing school part time to get a BA/BS. And that goes to Sock Puppet's 3b; I'm a bit intimidated by the mathier stuff on my own, I do much better in a classroom.

I have some Java on me now, I'm taking a C++ class at jr. college this Winter Q.

Leee, Friday, 18 December 2009 21:22 (eleven years ago) link

People who say #2 don't know what they're talking about.

Re: outsourcing -- does it matter that I work in Silicon Valley? I tend to assume that if the general trend is towards outsourcing programming, SV would be the place where it happens first.

Leee, Friday, 18 December 2009 21:24 (eleven years ago) link

is it worth learning to use stuff like eclipse and that

i guess it'd be a good idea to know how how yer basic ide works but no point going out of your way to learn any particular one. once you know one you know them all, more or less.

poster x (ledge), Friday, 18 December 2009 21:32 (eleven years ago) link

OTM. Every company has their own specifics w.r.t. IDEs so it's probably not a good use of your time to worry about the environment outside of what you need to know to get things done.

There's no concrete answer to the get/don't get a C.S. degree question. As you might have guessed already it depends... amount of experience, depth of background, relative visibility, the type of job you're looking for and what industry it's in (something like game development is it's own Universe). I can only offer up anecdotes from my own career - I've had exactly two formal programming classes, but 18 years of job experience from IT garbage collector, to webmaster, device driver wizard, and database king. Like everyone else has been saying, have a broad familiarity with a couple areas of deep knowledge. If I was starting now, I'd make Java one of those deep knowledge areas.

Also, don't underestimate visibility. Write some code, improve on it, and then blog the results. Write comments on someone else's coding blog. I've gotten a couple of contract gig offers just because I posted some sample code to my blog. Go figure.

Lastly, get familiar with database basics. Nothing ridiculous like Oracle but just your basic MySQL/PostGreSQL fundamentals. I didn't set out to be a database guy, but I knew some stuff and now four years later I'm a full-blown DBA and pretty good at it.

Elvis Telecom, Saturday, 19 December 2009 00:25 (eleven years ago) link

> I had heard that C++ had lost out a lot to Java

i think this is due to a shift towards webapps (java servlets). i'm a dyed in the wool c programmer now doing java for a living because everything is now sat on a server being served by JBoss.

(never had a lesson in java, hadn't been invented whilst i was in education... lol, z80)

i am aghast at some of the job adverts i see, the list of disparate things they expect you to know. but a lot of this is due to agency idiots. (that said, if i think about all the disparate things i use at work...)

the thing they don't teach you at college but is fundamental when working professionally and/or in groups is version control. get comfortable with cvs or svn or maybe even git. at the very least know what they do.

i'd also recommend having something you can show people, like contributing, or starting, an open source project. or just having some flashy applets somewhere.

this stuff all takes years, 25 years in i'm still picking stuff up.

koogs, Sunday, 20 December 2009 10:27 (eleven years ago) link

Hm, I like a syntax-highlighting text editor with parenthesis matching and suchlike, but for the actual business of compiling and running I'm still alt-tabbing to a console window, guess I'd better stop being so afraid of letting the IDE take care of it...

Ha, agency job ads. Seen ads asking for 3 years' experience in technologies which aren't 3 years old.

This is good encouragement to actually listen to the woman who's been trying to get us all to use svn. The only version control I've used was command-line only and didn't do much beyond locking the file and adding a timestamped comment. Seems they're a lot more sophisticated now.

brett favre vs bernard fevre, fite (a passing spacecadet), Monday, 21 December 2009 16:32 (eleven years ago) link

file locking is so '90s.

poster x (ledge), Monday, 21 December 2009 16:37 (eleven years ago) link

Hm, I like a syntax-highlighting text editor with parenthesis matching and suchlike, but for the actual business of compiling and running I'm still alt-tabbing to a console window, guess I'd better stop being so afraid of letting the IDE take care of it...

Yeah, I programmed in notepad etc for years, before moving to a proper IDE, mostly because I figured I should learn to program without any tools to help me out. In hindsight that wasn't a particularly good idea, it just made thinks more convoluted and slow. Rewriting code was a major pain etc.
Learning an IDE (Eclipse, for instance) is hardly any work at all, since you can start off treating it as little more than a fancified text-editor, and learn the cool tricks as you go along. I mean, hell, I'd used one for over a year before I even heard of "extract method"! Sheesh.

Actually, that reminds me that getting comfortable with Maven or Ant is fairly quickly done, and something well worth doing once you're comfortable with Subversion (SVN) or CVS.
Also, testing frameworks. JUnit if you're using Java. It's both quick to learn, and well worth it; just don't let the annoying Test-Driven Design (TDD) fanatics put you off.

Øystein, Monday, 21 December 2009 18:15 (eleven years ago) link

there are things netbeans cannot do that easily vim will do in a heartbeat but i can't live without the code completion stuff as i don't really know the libraries (and they change). plus java projects have such a deep directory trees and our stuff is so scattered that you end up spending most of your time in vim typing directory paths to swapping between files (could use ctags i guess)

eclipse i never got to grips with - there's no 'compile' button as it's continually compiling and i like having a compile button.

svn can be used on the command line but we use tortoise.

koogs, Monday, 21 December 2009 19:11 (eleven years ago) link

four years pass...

Programmers are the magicians of the modern age

calstars, Sunday, 8 June 2014 21:36 (seven years ago) link

Not the ones I've known. And I've known more than a few.

Aimless, Monday, 9 June 2014 04:56 (seven years ago) link

buncha putzes

j., Monday, 9 June 2014 05:09 (seven years ago) link

Programming is the worst

Nhex, Monday, 9 June 2014 06:46 (seven years ago) link

DevOps is the worst.

koogs, Monday, 9 June 2014 10:32 (seven years ago) link

Software Engineer USA™

, Monday, 9 June 2014 16:04 (seven years ago) link

we like to pretend we're architects and engineers and builders but we're really more like apprentice mechanics or those dudes that assemble pre-made furniture half the time

a strange man (mh), Monday, 9 June 2014 16:07 (seven years ago) link

programming is great if functions and syntax are well documented. it is the worst thing imaginable otherwise.

sufi john paxson (Sufjan Grafton), Monday, 9 June 2014 16:09 (seven years ago) link

I do enjoy the critical thinking parts of my mind that were unlocked by learning CS theory and programming over a period of time, but it really chafes me to see software developers think that they're able to solve non-software societal problems with that toolkit

a strange man (mh), Monday, 9 June 2014 16:09 (seven years ago) link

professional googlers

lag∞n, Monday, 9 June 2014 16:10 (seven years ago) link

Oh, I forgot that one. Software Architect. Classic.

I much rather SysAdmin, coder, developer, webmonkey/webmaster, script kiddie

Mind you, my end goal is probably to be a 'Software Architect', so I should lol carefully

, Monday, 9 June 2014 16:10 (seven years ago) link

yeah, really smart or tricky code makes you seem like a wizard but what it really makes you is an asshole if it's ever meant to be maintained

pretty sure my coding style has gotten progressively dumber on purpose

a strange man (mh), Monday, 9 June 2014 16:10 (seven years ago) link

^^ thank you

sufi john paxson (Sufjan Grafton), Monday, 9 June 2014 16:11 (seven years ago) link

I think software/systems architect is a fine title, even if my actual designs-buildings-and-structures friend recoils in disgust. I hate when people introduce themselves as "architects" without the qualifier.

Now, the part of the business where people use "architect" as a verb... not so good.

a strange man (mh), Monday, 9 June 2014 16:12 (seven years ago) link

I do enjoy the critical thinking parts of my mind that were unlocked by learning CS theory and programming over a period of time, but it really chafes me to see software developers think that they're able to solve non-software societal problems with that toolkit

― a strange man (mh), Monday, June 9, 2014 5:09 PM (1 minute ago) Bookmark Flag Post Permalink


From the dudes I've met, I get the impression many of them think they do have superpowers and can basically write a piece of software/webapp to solve just about any social/civic/political issue

, Monday, 9 June 2014 16:12 (seven years ago) link

they probably also think they can throw together that application in a matter of a few days

programmers are horrible estimators

a strange man (mh), Monday, 9 June 2014 16:13 (seven years ago) link

working with computers makes people feel very powerful because computers are powerful

lag∞n, Monday, 9 June 2014 16:13 (seven years ago) link

bring back punch cards

sufi john paxson (Sufjan Grafton), Monday, 9 June 2014 16:14 (seven years ago) link

ya, it's just funny because in canada you're not really allowed to use "software engineer", because, well, you're not an engineer. but in the states, it's quite common

, Monday, 9 June 2014 16:15 (seven years ago) link

Haha, yep, in our front-end JavaScript codebase Prettier is a godsend for being almost totally unconfigurable.

Chewshabadoo, Wednesday, 11 November 2020 11:53 (ten months ago) link

four months pass...

generate 84 files
commit to github
upload to server

repeat 40 times, changing one word each time.

(i have replaced step one with a sed script rather than manually editing the files but still...)

koogs, Thursday, 11 March 2021 20:22 (six months ago) link

Why is programming language documentation so terrible? I mean, look at this shit:

https://www.cplusplus.com/reference/functional/function/

std::function

Class that can wrap any kind of callable element (such as functions and function objects) into a copyable object, and whose type depends solely on its call signature (and not on the callable element type itself). An object of a function class instantiation can wrap any of the following kinds of callable objects: a function, a function pointer, a pointer to member, or any kind of function object (i.e., an object whose class defines operator(), including closures). A decay copy of the wrapped callable object is stored internally by the object, which becomes the function's target. The specific type of this target callable object is not needed in order to instantiate the function wrapper class; only its call signature. The function object can be copied and moved around, and can be used to directly invoke the callable object with the specified call signature (see member operator()). function objects can also be in a state with no target callable object. In this case they are known as empty functions, and calling them throws a bad_function_call exception.

Not only is this incredibly complex for the novice reader to understand, but you will notice at no point in the entire article does it mention why you would ever want to use this or what problem does it solve.

Mr. Snrub, Sunday, 21 March 2021 21:49 (five months ago) link

I’m not going to defend that as a model of clear technical writing but that’s an api reference not a tutorial document.

𝔠𝔞𝔢𝔨 (caek), Sunday, 21 March 2021 21:56 (five months ago) link

not that this is in any way more clear, but cppreference.com is the site you want for non-spammy c++ documentation: https://en.cppreference.com/w/cpp/utility/functional/function

diamonddave85​​ (diamonddave85), Sunday, 21 March 2021 23:03 (five months ago) link

I do like the “Run this code” functionality so you can try it out yourself.

Mr. Snrub, Sunday, 21 March 2021 23:35 (five months ago) link

Novices should probably not be learning C++

o. nate, Sunday, 21 March 2021 23:40 (five months ago) link

I think c++ is probably not the reference point for this moment in programming education but as caek said, it’s the reference guide and not a learning one

pretty sure there are a few learning documents, books, guides, etc for this language but who can be sure

mh, Monday, 22 March 2021 04:29 (five months ago) link

I do appreciate the literal nature of “I want to do c++” and literally going to cplusplus.com though

mh, Monday, 22 March 2021 04:30 (five months ago) link

i definitely sympathize. man pages and documentation have always been written for those who already have a general understanding of programming terminology and fundamentals.

that aside, just from a writing point of view, documentation has also always been kind of terrible, but that's because it's difficult to draw the line when you need to explain all the concepts referenced. it's easier to pass this job over to the reader, so the reader/learner ends up having to google all the parts of the explanation that don't make sense in order to fill in the knowledge gaps.

having said that, i will say it actually does get easier, thankfully.

the c programming language book is still a pretty terrible book to use in an intro to c course (one of my first introductions to programming, regrettably so)

Punster McPunisher, Monday, 22 March 2021 05:21 (five months ago) link

the best documentation i've seen recently (like in the past year or two) is microsoft's typescript stuff https://www.typescriptlang.org/docs/ (i guess it's easy when you have a large FT staff writing docs), but honorable mention to https://fastapi.tiangolo.com/ which went off on tangents explaining background topics exactly when i personally had gaps in my knowledge (others may find it too discursive).

𝔠𝔞𝔢𝔨 (caek), Monday, 22 March 2021 06:08 (five months ago) link

typescript is doing js a lot of good, imo

Punster McPunisher, Monday, 22 March 2021 21:27 (five months ago) link

I recently realized that whenever I’m learning to use a language, software, or package and the docs or tutorials say “use <feature X> with care”, what they really mean is “never under any circumstances use this feature. It stinks.”

Dan I., Sunday, 4 April 2021 08:33 (five months ago) link

or “when you run into the edge case that really only works with <feature X> you’re not going to have a lot of fun”

mh, Monday, 5 April 2021 14:16 (five months ago) link

Classic or dud, people who check for all kinds of edge cases except for the one that actually arises in practice

It Is Dangerous to Meme Inside (James Redd and the Blecchs), Tuesday, 6 April 2021 17:11 (five months ago) link

breaking stuff is fun

brimstead, Tuesday, 6 April 2021 18:51 (five months ago) link

the c programming language book is still a pretty terrible book to use in an intro to c course (one of my first introductions to programming, regrettably so)

I read that book and afterwards felt that I understood C, but had no idea how to program anything in it.

Being cheap is expensive (snoball), Tuesday, 6 April 2021 19:22 (five months ago) link

two weeks pass...

what's the point in an expensive ticketing system if you're just going to ask poeple to do stuff or review stuff or give the nod for stuff on a slack channel? or, even worse, in zoom comments window (which disappears when the call ends)

also, json, all very well but if you're using it for config and one entry is a list of ip addresses with no context, that's not great. at least with xml you can add comments.

koogs, Wednesday, 21 April 2021 12:37 (four months ago) link

I’ve failed to do the jerk thing lately and respond to any request with a link to the relevant ticketing/help desk site

it’s a good habit but unnnngh sometimes it’s easy to just do the thing

mh, Wednesday, 21 April 2021 14:12 (four months ago) link

arguably shouldn't the associated property name give you context for what those IP addresses are?

80's hair metal , and good praise music ! (DJP), Wednesday, 21 April 2021 14:14 (four months ago) link

JSON for human-readable config files is bad and hated

Canon in Deez (silby), Wednesday, 21 April 2021 14:23 (four months ago) link

I pasted two (2) direct emails this week into new tickets for people. Unfortunately I then immediately worked on one of them, like an idiot.

Canon in Deez (silby), Wednesday, 21 April 2021 14:24 (four months ago) link

> arguably shouldn't the associated property name give you context for what those IP addresses are?

ipwhitelist01, ipwhitelist02...

koogs, Wednesday, 21 April 2021 16:00 (four months ago) link

okay lol, I give up

80's hair metal , and good praise music ! (DJP), Wednesday, 21 April 2021 16:01 (four months ago) link

i complained about exactly that, and wrote the 5 lines of code that used a list of suffixes rather than a counter for the property names. but no...

koogs, Wednesday, 21 April 2021 16:02 (four months ago) link

https://nigeltao.github.io/blog/2021/json-with-commas-comments.html is good

𝔠𝔞𝔢𝔨 (caek), Wednesday, 21 April 2021 19:54 (four months ago) link

three weeks pass...

what's the point of writing tickets if they contain 1 useful bit of information, and 5 bits of misinformation?

channel_05 to 08 is actually channel_01 to 04

"pTO value should be adjusted appropriately." yeah, thanks for that.

the example file i'm to base everything on is for some test system that bears no relation to the target (actually, either of the two different targets, which is a pain in itself)

oh, and it needs doing for the end of the week.

koogs, Thursday, 13 May 2021 16:56 (four months ago) link

is that a knock on qa?

i had an uncomfortable interaction once with someone because they thought that if you "keep it simple, it will be simple"

i told them i had one simple request for them to do on their tickets. the information they provided wasn't completely wrong, but half of it was based on a misunderstanding of how the code worked on the backend

Punster McPunisher, Thursday, 13 May 2021 17:22 (four months ago) link

was a task ticket. config needed generating and deploying so that things can flow through the system but, y'know, if the inputs i'm given are wrong AND the outputs i'm given are wrong then it's going to be all the harder.

(usually this configuration is 600 urls spread over 80 files. and there are ~30 sets of this. (i spent a bunch of time sorting out templates and scripts to generate this, which made helped) but these need a different (much smaller, thankfully) set of templates)

koogs, Thursday, 13 May 2021 17:56 (four months ago) link

oh that sounds brutal. nothing like wasting time doing so much work for nothing

Punster McPunisher, Thursday, 13 May 2021 17:58 (four months ago) link

you know you're in trouble when the reference documents look like this

https://dashif.org/docs/DASH-IF-IOP-v4.2-clean.htm

koogs, Thursday, 13 May 2021 18:20 (four months ago) link

wow. good luck, man. a related gripe i have about doing things that take a while is that the next person/middle management comes in and says how simple the solution was, because they're hardly aware of all the work it took to get there. everything seems simpler in retrospect.

Punster McPunisher, Thursday, 13 May 2021 23:58 (four months ago) link

tickets for system experts should be outcomes and not specific values imo

the problem is no one writing or (not in your case) reading tickets is an expert so it’s a shitshow

mh, Friday, 14 May 2021 01:42 (four months ago) link

https://dashif.org/docs/DASH-IF-IOP-v4.2-clean.htm

LOL! we had a vendor come back to us today saying "the file you generated has a lowercase 'y' but it should be uppercase" ..and i flashed back to the discussion i had with my developers a month ago about how bizarre it was that it would be 'y' and 'N' but the docs clearly show a lowercase 'y'...

diamonddave85​​ (diamonddave85), Friday, 14 May 2021 04:29 (four months ago) link

and then you're here* until 9:15 making sure all your ducks are in a row and the next morning the ducks prior to your ducks are nowhere to be seen, not a quack.

until, about 6:30 tonight when they'll start squawking, probably.

(* here being just sat on the sofa so no real hardship. and i did take an hour out to eat something and watch grand designs australia)

> the next person/middle management comes in and says how simple the solution was,

yeah, this. sometimes a ticket is only a 3 word change, but working out what those 3 words were, ruling out all the other words, and where they need to go can take a week. i do wonder how we managed before the internet.

koogs, Friday, 14 May 2021 12:27 (four months ago) link

career: team lead pushing to get us all promotions. but that entails writing 300 words each on things like "Flexibility" and "Influencing" and demonstrating same and that writing seems so far away from what i actually do, and i'm so terrible at it, that i really can't be bothered.

koogs, Tuesday, 18 May 2021 11:47 (four months ago) link

Buckle up and do it, it’s not like you’ll be held accountable to it, or pay someone to do it

Clara Lemlich stan account (silby), Tuesday, 18 May 2021 15:07 (four months ago) link

two months pass...

18 months we've been doing this project (originally scheduled for 6 months, but hey...). yesterday something happened which broke everything (in the TEST environment) and we've no idea what is was or how to fix it. things are arriving at the first component and instead of being saved to s3 and passed onto the second component they are just stopping. no logging of errors. nothing.

also quite poor that it took 24 hours for us to notice it had broken.

koogs, Friday, 30 July 2021 12:54 (one month ago) link

^ someone updated the db to be Khaki with a capital K and our code is case sensitive. the input urls had khaki with a small k and didn't match.

koogs, Friday, 30 July 2021 13:42 (one month ago) link

that is so classic <3

davey, Friday, 30 July 2021 14:08 (one month ago) link

we'd still be looking for the problem if it was a trailing space, say

(which is why to this day every time i log something i put square brackets around it)

koogs, Friday, 30 July 2021 14:11 (one month ago) link

two weeks pass...

one tiny button, 42 live aws instances redeployed... always a nervous time

koogs, Wednesday, 18 August 2021 09:57 (one month ago) link

three weeks pass...

go on holiday for a week (i say holiday but it was the same sofa, different laptop) and they rewrite all your code...

worst is this. i think i saw it first in perl but this is ruby, moving the condition after the action... my eyes see the call to error, and don't see the condition because who puts the condition on the end?


// Object must not have a thing
error("Something is wrong with {object}") unless thing.nil?

(also in real life the message is longer so the condition is much further over to the right)

(it used to say


// Object must not have a thing
if ! thing.nil?
error("Something is wrong with {object}")
end

which is much more english-like and preferable)

rubocop prefers the former for conditions with single lines. i think rubocop is mostly bad and the way we do whatever it says even if it's patently worse annoys me.

happy programmers' day btw, 256th day of the year...

koogs, Monday, 13 September 2021 11:55 (one week ago) link

(Gah! code mangled because bbcode complained like 6 times in a row. doesn't seem to like hashes or single quotes or something)

koogs, Monday, 13 September 2021 11:55 (one week ago) link

ha. that is weird. but i've never used ruby.

since it's programmer's day, i guess it's only good and proper that i make publicly aware my biggest pet peeve: not just lack of documentation but wrong documentation!

i'm going over this c# codebase and it's lightly sprinkled with comments here and there and some of it references outdated or blocks of code found elsewhere, lol

happy programmers' day!

Punster McPunisher, Monday, 13 September 2021 16:03 (one week ago) link

I've been doing Ruby for 5-6 years now and the modifier syntax is actually pretty easy for me to read at this point.

Also, Rubocop hates this syntax:


if !...

Carte Blanchett (Leee), Monday, 13 September 2021 17:58 (one week ago) link

tbh, i kinda hate that syntax, it's very easy to overlook the ! especially if there's no space following

post-conditions make more sense if the action is the default rather than the exception

do_something() unless it_is_the_weekend

i might have mentioned this before but in a previous job someone wrapped virtually every line of code in a method called log_error()

log_error(perfectly_good_call());
log_error(no_problems_here());
log_error(this_works_fine());

it would only log if the call returned an error but it confused the hell out of me.

koogs, Monday, 13 September 2021 19:35 (one week ago) link

this is one of the things i like about (python) decorators. they make that kind of wrapping more easily ignored by everyone else.

𝔠𝔞𝔢𝔨 (caek), Monday, 13 September 2021 19:57 (one week ago) link

it's a weird thing to have baked into your linter, but i guess whatever is making ruby simpler must butt heads with testing for false, as it can be counterintuitive?

Punster McPunisher, Monday, 13 September 2021 22:05 (one week ago) link

Well I think that there are two reasons:

1. Sometimes people will write this:


if !...
else
end

2. Ruby has unless (which I personally hate), and the out-of-the-box linter favors using it to

if !
.

Carte Blanchett (Leee), Monday, 13 September 2021 22:31 (one week ago) link


You must be logged in to post. Please either login here, or if you are not registered, you may register here.