Open Side Menu Go to the Top

02-22-2014 , 07:11 PM
Quote:
Originally Posted by Nchabazam
Isn't one of the perks of being in this industry that you don't have to put up with terrible work conditions?

I'd just find a job where I wasn't being run into the ground.
I'm incredibly bad at finding jobs.

Quote:
Originally Posted by Shoe Lace
Impossible deadlines can be painful. For a while I over thought things to the point where it would paralyze me. Now I just write code and treat every single line of code I write as temporary code and I fully expect it to change.
The point is giving myself impossible deadlines to see if you can do it. It really isn't any big deal if I don't make it. I just want to see if I can do a decent estimation.

Quote:
YAGNI syndrome is deadly because even if you strip away your features you still try to over engineer the code you do end up writing to do things you might want in the future but that's such a huge mistake because there's no possible way to determine what you'll need later.
I fully disagree with this. There is much to be said about functional composition. This is the main reason I don't like using lambdas in Python and didn't understand the desire for multi-line lambdas upthread.

Quote:
Now I simply don't care about design patterns or anything. I just write code and when it feels ugly or I see patterns I change them to fix the problem right now. The end result is much more simple code that gets written much faster.
I'll defer to others on this one.

Quote:
As for the front end design. Have you thought about just buying a $10-50 template or out sourcing it to someone for a custom custom?
Eh. The HTML is just fine. Just would need someone to fiddle with the CSS and stuff. I've thought about it more than once, but I don't really have the money for this. If I had traction, I would certainly go for it.

---

Quote:
As for your boss I think you need to make it really clear that the environment he's imposing on you is unsanitary and it's affecting your physical health.

I wouldn't care about being labeled as a complainer or anything. It's your health. It's the most important thing you have. It's easy to sit here and say I would quit over the situation you're in but I really would tell him that if he can't provide reasonable working conditions I'm done.
This goes back to the main issue. I am terrible at finding jobs, so I would only slit my own throat if I did this.

I'm considering other options though.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
02-22-2014 , 07:17 PM
One of the points of YAGNI is trying to put aside much of the manual work. The way the project is designed is so that it "builds" the site after a bit of .csv -> database push. I just stripped on idea out that will save me many hours of work and make it so that one .csv file and database table is no longer needed.

I think that with this project, the coding is the smallest component. Getting information up and usable is a greater concern.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 08:18 PM
Quote:
Originally Posted by Shoe Lace

YAGNI syndrome is deadly because even if you strip away your features you still try to over engineer the code you do end up writing to do things you might want in the future but that's such a huge mistake because there's no possible way to determine what you'll need later.

Now I simply don't care about design patterns or anything. I just write code and when it feels ugly or I see patterns I change them to fix the problem right now. The end result is much more simple code that gets written much faster.
I hear a lot of people say this, and it's simply not true imo. In most cases, the kinds of changes that are likely to come are predictable. You can't predict all of them, but you can put the likely changes "on a range," as it were. To hand wave over that and say, "Well, you never know, so thinking about reasonably likely changes and designing for them is a waste of time," and then dignifying that under the banner of YAGNI or avoiding premature optimization is just lazy and irresponsible. If you're just trying to get something out the door, that's fine, but don't delude yourself into thinking that good design and architecture don't really exist and aren't important.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 08:37 PM
I don't just purposely ignore all forms of design patterns and start coding without an idea of what I want to do. I still plan things out to some extent but I spend my time thinking about the domain objects and how they relate to each other, not how the code is going to be written.

It reminds me of that old dhh vs some other dude's gist a while back when it came to making services. I heavily lean on dhh's side.

Here's the gist in question:
https://gist.github.com/justinko/2838490

You can see dhh's response if you CTRL+F for "dhh commented". He even mentions YAGNI later on in the comments.

Edit:

Btw I don't even associate this thought process into needing to ship code faster. I do think it's faster to get the code into good shape by writing the code for today's problems and fixing inefficiencies/pain points as the come rather than try to theory craft what they will be before I even use the code I'm writing.

Last edited by Shoe Lace; 02-22-2014 at 08:42 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 09:10 PM
DHH is 100% wrong. Note @avdi's comment at the top.

I've noticed once or twice before that DHH tends to dismiss anyone who suggests that standard rails facilities for structuring an app are not sufficient. I am of the camp that believe the default Rails way of designing apps actually leads to pretty awful designs.

EDIT: just noticed that @garybernhardt also disagrees with DHH here. Ok now I am completely secure in my position....
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 09:19 PM
I just go by what makes sense to me. I would rather spend my time not worrying about things I can't predict and write the best possible code right now -- which to me means not making it more complex and convoluted than it needs to be. It's been working really well for me lately.

It's fine to agree to disagree.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 09:26 PM
I don't know enough Ruby or RoR to comment specifically, but I like agraves's solution:

Code:
class CommentsController < ApplicationController
  def create
    @comment = current_user.comments.new(params[:comments])

    if @comment.save
      @comment.post_tweet!
      @comment.post_facebook!
      redirect_to '/something'
    else
      render :edit
    end
  end
end

#-----------------

class Comment < ActiveRecord::Base
  validate :not_spam

  private

  # implementation
end

#---------------

class CommentObserver < ActiveRecord::Observer
  before_save :detect_language
  after_save :send_email
end
I totally respect DHH, what he done and RoR itself, but he sometimes comes across as a my way or no way kind of guy.

http://david.heinemeierhansson.com/2...s-omakase.html

It's cool though. Keep it sacred.

Last edited by daveT; 02-22-2014 at 09:35 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 10:06 PM
Quote:
Originally Posted by Shoe Lace
YAGNI syndrome is deadly because even if you strip away your features you still try to over engineer the code you do end up writing to do things you might want in the future but that's such a huge mistake because there's no possible way to determine what you'll need later.

Now I simply don't care about design patterns or anything. I just write code and when it feels ugly or I see patterns I change them to fix the problem right now. The end result is much more simple code that gets written much faster.
Are you still doing most of your work by yourself? I think this attitude is fine and great if you're on a one person small-medium sized project.

If you're on a bigger project with sections of code you won't touch for reasonably long periods of time or if you are working with other people I think you need to make sure your code is easy to understand and maintain.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 10:09 PM
Dave,

I avoid getting burnt out by rarely programming outside of my job. Occasionally I'll do a small project of something I'm really interested in or I'll write something that makes my life easier in some ways but other than that I don't really program for myself. TBH, I don't really consider programming a hobby of mine.

I guess if I could retire I'd probably program more for fun.

Edit: Part of the way I make this work is I make sure I'm doing a job I like and where I'm learning lots of things. As long as I'm gaining new skills through work I don't really think I need to do a ton outside of that.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 10:25 PM
Quote:
Originally Posted by Shoe Lace
I just go by what makes sense to me. I would rather spend my time not worrying about things I can't predict and write the best possible code right now -- which to me means not making it more complex and convoluted than it needs to be. It's been working really well for me lately.

It's fine to agree to disagree.
of course. it's fine to have spirited discussions too

i would obv argue that it's not more complex. i think the difficulty is teasing out what is actually complex from what is complex to you given your own experience and familiarity. rich hickey talks about that in his famous simple talk -- simple as "near at hand" vs simple as "only a single strand" (or something like that)
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 11:28 PM
derada4, I understand why this is difficult. The C#/.NET experience your getting is great if you want to do more C#/.NET. Apparently you don't want to make a career out of it though and that is fine. You can definitely be "stereotyped" by staying in a position too long. It probably would be ok to stay for a year. I wouldn't stay longer than that though if the status quo persists. What kind of development do you want to do?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 11:37 PM
Either way this seems like a pretty trivial thing to lose a contract over.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-22-2014 , 11:54 PM
Quote:
Originally Posted by daveT
For those of you who work some odd job in the day and study at night, or those who program all day and go home and do it more, how do you guys do this without burning out?

...
Pace yourself as others have more or less stated.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 12:07 AM
Quote:
Originally Posted by maxtower
Either way this seems like a pretty trivial thing to lose a contract over.
yeah whatever you think of the refactoring, losing a contract over that speaks poorly of the "senior dev" who made the call.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 09:39 AM
dave,
That post is on a different topic all together. Most people complain that a lot of frameworks are super bloated and have tons of useless things because they haven't worked on anything big enough to warrant having those features.

When they work on a project in the future and realize they basically introduced those features on their own they look back and appreciate the framework.

This is kind of what happened to me almost exactly and in my case the project wasn't even that big. It just happened to touch on so many requirements that were solved by rails out of the box.

jjshabado,

I'm still solo yeah. It also works on large code bases with a ~10+ programmer team working on a project over 10 years old too. It's how the entire basecamp project is handled.

He carries over that philosophy to rails features too. Instead of trying to invent features up front based on unknown needs they just extract features from real needs. It's very similar to trying to shoe horn code into some existing design pattern up front before you even use the code.

---

If anyone is interested:
http://rubyrogues.com/056-rr-david-heinemeier-hansson/

That podcast goes into full depth where he spends like 45min just talking about abstract vs real code and how he shapes code based on the code itself instead of trying to design it up front.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 09:57 AM
Quote:
Originally Posted by adios
derada4, I understand why this is difficult. The C#/.NET experience your getting is great if you want to do more C#/.NET. Apparently you don't want to make a career out of it though and that is fine. You can definitely be "stereotyped" by staying in a position too long. It probably would be ok to stay for a year. I wouldn't stay longer than that though if the status quo persists. What kind of development do you want to do?

In general I'd really like to be in a more open source environment where I'm going to be exposed to a wider variety of technologies. There's a lot of really good .NET developers at my current place... But the one guy didn't even know what github was. Python is my strongest language after C#, and I have found some small ways to incorporate it into my present job, but nothing too significant.

I have a strong math background and really enjoy it as well, so I'd ideally like to get into a development job that is very data-heavy. My dream job would be doing algorithmic trading, which I know is a bit of a stretch considering I have a weak academic record, but just putting that out there to show the general direction I'm yearning for.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 10:38 AM
Quote:
Originally Posted by derada4
In general I'd really like to be in a more open source environment where I'm going to be exposed to a wider variety of technologies. There's a lot of really good .NET developers at my current place... But the one guy didn't even know what github was. Python is my strongest language after C#, and I have found some small ways to incorporate it into my present job, but nothing too significant.

I have a strong math background and really enjoy it as well, so I'd ideally like to get into a development job that is very data-heavy. My dream job would be doing algorithmic trading, which I know is a bit of a stretch considering I have a weak academic record, but just putting that out there to show the general direction I'm yearning for.
This all makes sense to me. You could take courses directly related to the direction you want to go in. You might even try reaching out to companies looking for developers for algorithmic trading. See what it would take to get in the door. I see posts on LinkedIn from recruiters for those disciplines all the time. The money they're bandying about is fantastic.

FWIW you can and probably will be categorized as a .NET developer the longer you stay. It is worth it to get "real world" experience but don't overdue it if that Is not what you want.

You are in a great situation actually. You have some "real world" experience, you have a desire to learn, you know the direction you want to go and your salary demands are going to be modest when compared to more experienced developers. Quite frankly companies will tend to view all of that quite favorably. A highly productive developer that fits your circumstances is gold to them.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 10:59 AM
Quote:
Originally Posted by derada4
I have a career question: I've been at my first entry-level development job for 4 months now. It's in C#/.NET. It's an absolutely great company to work for. My coworkers are all amazing and already like family, bosses are extremely laid back, etc. It's a smaller company which is great because I am getting my hands in a lot of different things as well (already am being allowed to do the builds). The amount that I've learned in the last 4 months is absolutely incredible and I recognize that my development would not be so rapid at other companies.

However, the pay is good but definitely not great and a bit below average for an entry-level developer in my area. Also, although I've greatly moved passed that immature stigma of "lol C#/.NET" sucks, it's still not an area I want to spend my whole career in. And our main product is certainly not the most interesting thing to be working on.

So of course I'm torn between starting to look for a new job now, recognizing that *it's only been 4 months* and waiting a bit longer, or recognizing that although my current place has some negatives to it, the work environment is sooo important and outweighs a lot of the other stuff. (I mean I literally wake up everyday feeling as if I am just going to hang out with friends/family)

I'm soon to be 25 fwiw, and live about an hour away from NYC. The idea of moving to NYC or somewhere way far like Seattle, San Fran, Pheonix, Texas is very appealing too.
Changing jobs is pretty much the only way developers can get significant pay increases. Just something you will realize when in the industry long enough. You should probably aim to be there about 2 years before moving on.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 01:36 PM
Quote:
Originally Posted by jaytorr
There is a pokersource Java API that allows you to do this, might be worth checking out if the pbots library doesn't work out:

http://www.codingthewheel.com/archiv...kersource_saie
Yeah that's also on my list. Should have mentioned it. I kind of wanted to try C because I've never done the C/Prolog interfacing

Java stuff seemed to be pretty out of date though (iirc it required a pretty old version of pokersource)...might very well end up using this though because I know the Java interface quite well and would get insta platform independence without having to worry about all the C-ish stuff :P

Edit:
@dave...maybe a strange suggestion but you might want to read up on the concept of "flow" and try to make all your programming activities as flow related as possible. I sometimes feel like writing code is a grind but whenever I "flow up" time just seems to pass.

Alternatively, I think the one thing that really helps me get through even relatively boring code is setting small goals+rewards (finish this little piece of functionality...if done get up and walk around a bit) and trying to learn on even mundane things (i.e. boring 10ish lines of Java that uses some library classes/methods I'll write it and when I'm done look at the library and see how the stuff I used was implemented and learn from that)...basically I try to constantly find even the dumbest reasons/places to learn stuff

Last edited by clowntable; 02-23-2014 at 01:44 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 04:04 PM
Quote:
Originally Posted by Shoe Lace

I'm still solo yeah. It also works on large code bases with a ~10+ programmer team working on a project over 10 years old too. It's how the entire basecamp project is handled.

He carries over that philosophy to rails features too. Instead of trying to invent features up front based on unknown needs they just extract features from real needs. It's very similar to trying to shoe horn code into some existing design pattern up front before you even use the code.
Maybe I just misunderstood what you meant by 'ugly' code.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 07:56 PM
Quote:
Originally Posted by jjshabado
Dave,

I avoid getting burnt out by rarely programming outside of my job. Occasionally I'll do a small project of something I'm really interested in or I'll write something that makes my life easier in some ways but other than that I don't really program for myself. TBH, I don't really consider programming a hobby of mine.

I guess if I could retire I'd probably program more for fun.

Edit: Part of the way I make this work is I make sure I'm doing a job I like and where I'm learning lots of things. As long as I'm gaining new skills through work I don't really think I need to do a ton outside of that.
Yes, this would be nice. My job doen't offer much to learn though. Honestly, I still would want to learn outside of work. I still like studying math, algorithms, and other things like that.

And for those who are still confused, I am not a developer. I do a lot, but the main gist of my work is listing things online. I have learned quite about Excel though.

Quote:
Originally Posted by clowntable
@dave...maybe a strange suggestion but you might want to read up on the concept of "flow" and try to make all your programming activities as flow related as possible. I sometimes feel like writing code is a grind but whenever I "flow up" time just seems to pass.

Alternatively, I think the one thing that really helps me get through even relatively boring code is setting small goals+rewards (finish this little piece of functionality...if done get up and walk around a bit) and trying to learn on even mundane things (i.e. boring 10ish lines of Java that uses some library classes/methods I'll write it and when I'm done look at the library and see how the stuff I used was implemented and learn from that)...basically I try to constantly find even the dumbest reasons/places to learn stuff
Flow is nice. I get that once in a while, and oh man, it is just beautiful when it really hits. Every single function works as planned...

It's strange. I go to these meetups and I'm astounded by how a) smart everyone is and b) how engrossed people are in programming. I can't think of another profession where people will work all day then go out at night and continue to work. I really can't stand the "hack nights" to be honest. Everyone is sitting around and working hard and I'm sitting there wondering why I'm not laying in bed.

The job does take a lot out of me, mentally, physically, and emotionally. I used to be able to stay up until midnight or 2am just hacking away or learning, but I lost that desire lately. I know I'm making progress, but honestly, I don't know what the payoff is.

As for finding another job. I'm just awful at finding jobs.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 08:02 PM
Quote:
Originally Posted by daveT
I'm incredibly bad at finding jobs.

Quote:
Originally Posted by daveT
As for finding another job. I'm just awful at finding jobs.
Why? And do you want to get better? Are you working on getting better? It seems like you're massively overqualified, underpaid and underappreciated.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 08:16 PM
Quote:
Originally Posted by candybar
Why? And do you want to get better? Are you working on getting better? It seems like you're massively overqualified, underpaid and underappreciated.
Why?

I was unemployed for all of my 20s. Just couldn't get a job no matter how many resumes I sent out. Interviewing, when I had them, were just disastrous. Not really because of anything I did, but interviewers generally couldn't get over the audacity of long-term unemployment. The stories I could tell about those interviews are quite interesting.

It was until I was 33 that I could get a job, and that was only through nepotism. Believe it or not, this job is a massive step up from that one. I get paid 30% more now days and work in better conditions (as hard as that is to believe) -- though still povery-ish. Point is that I wouldn't go anywhere else right now unless I could earn 50% more than I do now in order to offset the risks of leaving the current job and getting fired within a week of the new job. I don't know where to look for stuff like that.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 10:35 PM
Quote:
Originally Posted by muttiah
Changing jobs is pretty much the only way developers can get significant pay increases. Just something you will realize when in the industry long enough. You should probably aim to be there about 2 years before moving on.
2 years seems too long to me but ymmv. If he finds something he really wants and he gets paid more money why should he wait?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-23-2014 , 11:16 PM
Quote:
Originally Posted by daveT
Why?

I was unemployed for all of my 20s. Just couldn't get a job no matter how many resumes I sent out. Interviewing, when I had them, were just disastrous. Not really because of anything I did, but interviewers generally couldn't get over the audacity of long-term unemployment. The stories I could tell about those interviews are quite interesting.
Did you play poker professionally? If not, what did you do with all that free time? Did you have any programming skills during this time or is that something you learned more recently?


Quote:
It was until I was 33 that I could get a job, and that was only through nepotism. Believe it or not, this job is a massive step up from that one.
How long have you been at this job? How long have you been working at all?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m