Non-IT WTF: Careers and me


  • SockDev

    So by now I've mentioned some of the fun and exciting times from my 'career' at WTF Mortgages.

    One of them, interestingly, appears to have been me. Or at least, my presence inside the entire industry.

    So, I started out as a mail monkey and some months after that, the departmental manager (my team leader's team leader) said that he'd like to see me apply for promotion because he was concerned that I'd get bored and leave.

    By now, I'd like to think people have formed an opinion of me that I'm not a total imbecile and have some technical skills (though this was 11 years ago, I've learned many skills since then!) and so you may well be wondering WTF I was doing being a mail monkey. Well... at the time I needed a job and anything would have done, this is just what I got at the time. The WTF part is that despite it being below my capabilities at the time, I would have been quite happy to stay in the role.

    Consider this: a role where I get to wander the office aimlessly, talk to people, without any real pressure or responsibility. Pay wasn't great but for the amount of actual work to be done, it was quite pleasant. And because it didn't suck the life out of me too much, I could enjoy making websites and so on as a hobby, which is what I always really wanted.

    As I went up the ladder at the company, two things happened, both of them WTFs in hindsight.

    The first is that I slowly but surely traded money for hassle. Each step up the ladder meant more money, more 'responsibility' and more crap with it. Some people like having responsibility but it seemed to me that I'd traded up a little bit of self-actualisation as Maslow might call it for a lot more hassle. I'd gone from ~£10k a year shuffling paper to ~£13k a year handling letters and phone calls from ego-inflated lawyers who believed that their word literally was law and were never wrong, even when they were demonstrably wrong. Then I traded up to ~£23k for an 'auditor' position (no phone calls, but suddenly increased my commute from 20 minutes to best part of 2 hours each way)

    The second is that I discovered increasingly how vile office politics could get and more WTFery was my response to it. Everyone else in the company seemed to have an agenda. Mine was to do a good job. I wouldn't have applied for any promotions if I didn't think it would actually benefit the company... each of the moves I made in the company were because they had a skills shortage that I had relevant and useful knowledge and skills to help fill the gap.

    I figured that if the company was paying me for my time, I owed it to the company to do the best job I could - and it irked me that I appeared to be the only one doing that. It wasn't about squeezing more money out of the company or who I could bang to convince them I should be promoted (and I know several cases where that happened). It was simply about doing my best to do my job - including protecting the company from over exposure.

    It should be noted that one time I applied to be an underwriter. I was turned down for not being flexible enough. This is probably a WTF in hindsight too.

    These days I juggle IT. I've turned my hobby into a career and I'm beginning to hate it. I've become jaded and bitter from it but I'm slowly and surely on the path to hating my hobby. I do wonder if it's time to move out of IT and back into a different job so I can enjoy programming again.



  • @Arantor said:

    I've become jaded and bitter from it but I'm slowly and surely on the path to hating my hobby. I do wonder if it's time to move out of IT and back into a different job so I can enjoy programming again.

    Short answer to your woe is that you should go to coursera and register for a language you have not learned. It will keep you sane and make you happy in the short run.


  • SockDev

    Does it teach Klingon? I think that could be useful. I could tell people exactly what I think of them and they wouldn't know.



  • It teaches SCALA, which is language of Future.


  • SockDev

    I learn languages like that when I have a project that can best make use of such a language. What can I do in SCALA that I can't in other languages?




  • SockDev

    So, everything I can already do in PHP. C'mon give me a better reason than that.



  • @Arantor said:

    So, everything I can already do in PHP. C'mon give me a better reason than that.

    It is not possible you watch entire video so quackly. You must watch first.


  • SockDev

    I didn't watch the video at all, I merely looked at the thumbnail which was a checklist of what SCALA offers, which is all stuff I can do in PHP already.



  • @Arantor said:

    I didn't watch the video at all, I merely looked at the thumbnail which was a checklist of what SCALA offers, which is all stuff I can do in PHP already.

    Now you're coming out.

    First watch video, then understand it.


  • SockDev

    I am not wasting over an hour of my life watching a video when you could just take 5 minutes to summarise the important details for me.

    That way you get a post made (for which Alex will pay you) and I might even like it as a courtesy.



  • @Arantor said:

    I am not wasting over an hour of my life watching a video when you could just take 5 minutes to summarise the important details for me.

    That way you get a post made (for which Alex will pay you) and I might even like it as a courtesy.

    Ok - Here is summary:
    SCALA does away with all ceremony, like brackets and semi-colons. No noise ==> easy to read code ==> easy to understand.

    Hence my statement on "car turn left"


  • SockDev

    So it's basically Python?



  • It's very rarely worth moving up in a company. The best way to increase your pay is to do similar work for a bigger company with deeper pockets.


  • SockDev

    That's kind of what I learned. I did learn not to become a manager, though since managers didn't get paid overtime while I made damned sure if I was staying outside my contracted hours, I was going to be paid for it.

    But it wasn't really about the money. I was quite happy being a low level paper pusher. It's all about the work/life balance too.



  • @Arantor said:

    That's kind of what I learned. I did learn not to become a manager, though since managers didn't get paid overtime while I made damned sure if I was staying outside my contracted hours, I was going to be paid for it.

    But it wasn't really about the money. I was quite happy being a low level paper pusher. It's all about the work/life balance too.

    I'm very, very happy to be a code monkey for increasingly larger companies.


  • SockDev

    Yeah, I'm not at that point any more. I think I might have been OK if I'd been a code monkey in a different language to web programming but I'd never actually been a code monkey at WTF Mortgages. These days, work/hobby blends so badly that it's just a constant nagging feeling and I'm fed up of it.



  • In my current job, I do a mix of web stuff, .Net non-web apps, and mobile apps. I loathe the days I have to do web stuff though... blech.



  • @DrakeSmith said:

    In my current job, I do a mix of web stuff, .Net non-web apps, and mobile apps. I loathe the days I have to do web stuff though... blech.

    javascript: The Good Parts!



  • @DrakeSmith said:

    In my current job, I do a mix of web stuff, .Net non-web apps, and mobile apps. I loathe the days I have to do web stuff though... blech.

    I hate client-side development, but love server-side web development. I'm weird. :smirk_cat:


  • SockDev

    You're so weird you're just like me.


  • BINNED

    @chubertdev said:

    I hate client-side development, but love server-side web development. I'm weird.

    Client-side validation? Toggling "disabled" classes all around the place so the user can't do stupid shit? Dealing with JS using + for both concatenation and addition and changing the variable types when it feels like it so my "Next" link goes from 1 to 12?

    Give me mysql_real_escape_string any day.


  • SockDev

    I love how people use 'disabled' and 'required' and shit and then get blown away when I show them little things like the Inspect Element function and make all their validation go away.



  • @Arantor said:

    I've turned my hobby into a career and I'm beginning to hate it. I've become jaded and bitter from it but I'm slowly and surely on the path to hating my hobby. I do wonder if it's time to move out of IT and back into a different job so I can enjoy programming again.

    Robert Fripp had this to say about playing music:

    Musicians deal with music, professional musicians deal with business. If our aim is to be a musician then probably better not become a professional musician.

    The big problem with turning a hobby into a career is that your hobby has become your career. You're no longer doing what's fun, but what you have to do. If jobs were fun/pleasurable, we wouldn't need to be paid to do them.

    A change may well be in order. I think that even a programming job, working on a radically different project than what you've done so far, would be refreshing for you.


  • BINNED

    It's not for you, or me, or pretty much anyone on this forum. Everything should get properly validated server-side anyway, either in code, or, failing that, database constraints as the last level of defence.

    But when you break my disabled attribute, or just stick stuff in the URL (in case of GET requests) and get a giant middle finger from my app your reaction is either "Well, that didn't work" or "Hey, that's a bug, let me report that".

    When I don't do all that fancy stuff for the everyday users, who seem to get more incompetent by the day, I get them on the phone, whining how they can't get a list of events that happened on the same day after 16:00 and before 08:00 hours.


  • SockDev

    I don't think it's so much about the change of pace or change of environment that's the problem.

    An awful lot of it is about building what I want to build. For too long I've been building what other people want me to build and having my suggestions run roughshod over.

    When I was working at WTF Mortgages and building a website in the evenings and weekends, I was building it for me. For my enjoyment and amusement and if other people liked it, bonus. But no-one told me what to build or how to build it. This is something I haven't had in a while. :frowning:

    @Onyx: Oh hell yes. Server validation should always be done, no matter what you do in the client (ideally, nice error handling on the client before even having to touch the server)

    My reaction to munging disabled attributes should be 'well, that didn't work'. All too often it isn't, and that's the problem.



  • @Arantor said:

    An awful lot of it is about building what I want to build

    I know what you mean. In that case it's one of two options:

    1. Start your own business with an original product,
    2. Do something completely different for a living.

    Option 2 is definitely safer.


  • SockDev

    I used to be all about not only building what the client wanted - but refining it and shaping it to be the best possible solution for the client. They'd ask for a feature, I'd investigate and figure out how to make it the best fit for the job.

    I don't know quite when that changed though :frowning:



  • How many times had the client ultimately demanded a clearly sub-optimal solution, despite having the issues explained to him/her?



  • @GOG said:

    Option 2 is definitely safer.

    May I present your new job:


  • SockDev

    Surprisingly, not that often as I suspected they might.

    I think a holiday might work to find my mojo again, but I don't know where I'd go or what options grep might need for that.



  • Done a lot of things in my time, so why not?



  • @Onyx said:

    Client-side validation? Toggling "disabled" classes all around the place so the user can't do stupid shit? Dealing with JS using + for both concatenation and addition and changing the variable types when it feels like it so my "Next" link goes from 1 to 12?

    Give me mysql_real_escape_string any day.

    Don't even get me started. Client-side validation is an optimistic approach without server-side validation. Wish that more people understood that, instead of just using the server-side code to pretty much act as a bucket for data on the front end.


  • SockDev

    Ah yes, the WordPress approach.



  • But client side only validation is important on some systems (like discourse); though I think they fixed the problem where a blank name disabled the save preferences button.



  • I swear, if I get one more client reporting an ASP .NET error message on their screen, or that something doesn't work, and IE is giving them an error (you didn't validate the data, no wonder why there's a scripting error!), I'm going to smack someone around with a trout.


  • SockDev

    TDEMSYR

    Server side validation is ALWAYS important



  • I was glad it was only client side as it allowed me to save settings without applying something to the name slot, thus it was a feature in that case.



  • @Arantor said:

    I don't think it's so much about the change of pace or change of environment that's the problem.

    An awful lot of it is about building what I want to build. For too long I've been building what other people want me to build and having my suggestions run roughshod over.

    When I was working at WTF Mortgages and building a website in the evenings and weekends, I was building it for me. For my enjoyment and amusement and if other people liked it, bonus. But no-one told me what to build or how to build it. This is something I haven't had in a while.

    @Onyx: Oh hell yes. Server validation should always be done, no matter what you do in the client (ideally, nice error handling on the client before even having to touch the server)

    My reaction to munging disabled attributes should be 'well, that didn't work'. All too often it isn't, and that's the problem.

    Hmmm. Shouldn't the project manager be telling you what to build, and you determine how it's built?



  • @locallunatic said:

    But client side only validation is important on some systems (like discourse); though I think they fixed the problem where a blank name disabled the save preferences button.

    I don't disagree that it can be handy. That Perl site that I always talk about had only server-side validation. Adding client-side validation made input so much easier for people, since the level of skill varied a ton from user to user.


  • SockDev

    Oh, there's possibly some confusion here... there's the consulting stuff where yes the client has final say, and there's the open source contributions where apparently despite being a user of the software, developers are not users therefore their opinions don't count.

    I am effectively scarred more from the F/OSS stuff than the consulting stuff but the hobby/work balance long since got blown away so it's all been bleeding together in a really bad way.


  • BINNED

    I think you are as confused as to what Discurse is doing as I was.

    See, from what I gathered, this lovely JS that's showing the preview as I type? Yeah, that JS is apparently run on serverside as well to bake posts. And if it's doing that, $DEITY knows what else is just c/p between client and server.

    Hey, that gives me an idea! Since PHP is apparently TRWTF and JS is only awful... maybe I should write the entire site using Node.js!


    Filed under: cue someone linking me a project that does that, followed by me defenestrating myself



  • @Arantor said:

    Oh, there's possibly some confusion here... there's the consulting stuff where yes the client has final say, and there's the open source contributions where apparently despite being a user of the software, developers are not users therefore their opinions don't count.

    I am effectively scarred more from the F/OSS stuff than the consulting stuff but the hobby/work balance long since got blown away so it's all been bleeding together in a really bad way.

    That's definitely a different environment. The project manager in that situation is whoever is the loudest, and then the project fails since you have too many chefs in the kitchen.



  • @Onyx said:

    I think you are as confused as to what Discurse is doing as I was.

    See, from what I gathered, this lovely JS that's showing the preview as I type? Yeah, that JS is apparently run on serverside as well to bake posts. And if it's doing that, $DEITY knows what else is just c/p between client and server.

    Hey, that gives me an idea! Since PHP is apparently TRWTF and JS is only awful... maybe I should write the entire site using TypeScript!

    FTFY


  • SockDev

    Oh, if only that were true. The project manager in this particular environment didn't have the authority to make that sort of thing work. Not even close.

    The problem was, everyone else in the project team are stakeholders and feel their opinion is as important as developers.

    Just consider that for a minute: a project team about a piece of open source software actively believes that the developers are no more important to the project than anyone else. Then they wonder how come the transition from 1.1 to 2.0 took 5 years and how 2.0 to 2.1 is currently at 3 years, in no small part due to complete turn-overs of the development team, multiple times over in that time.

    And then the project manager has the temerity to call me a doom-monger in public.


  • SockDev

    Clearly he should be using Iced Coffeescript.



  • @Arantor said:

    Oh, if only that were true. The project manager in this particular environment didn't have the authority to make that sort of thing work. Not even close.

    The problem was, everyone else in the project team are stakeholders and feel their opinion is as important as developers.

    Just consider that for a minute: a project team about a piece of open source software actively believes that the developers are no more important to the project than anyone else. Then they wonder how come the transition from 1.1 to 2.0 took 5 years and how 2.0 to 2.1 is currently at 3 years, in no small part due to complete turn-overs of the development team, multiple times over in that time.

    And then the project manager has the temerity to call me a doom-monger in public.

    That's one of the best parts of moving on to a new environment: you have no baggage. No arguments, no history, everything that is wrong is new to you. It feels better that way.


  • BINNED

    @chubertdev said:

    @Onyx said:
    TypeScript!

    FTFY

    Nope. Not even googling that, you can't make me!


  • SockDev

    nods I just don't know what I want to do, only what I don't want to do. Bah.



  • @Arantor said:

    nods I just don't know what I want to do, only what I don't want to do. Bah.

    Isn't being an adult awesome?


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.