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
Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

sailormoon posted:

Your dependance on the IDE should be severed since they are nearly impossible to use at massive scale software companies due to how their source control and libraries work unless you're working on a mobile application.
This is so incredibly wrong, I can't tell if you're trolling.

Adbot
ADBOT LOVES YOU

sailormoon
Jun 28, 2014

fighting evil by moonlight
winning love by daylight


I should have been more specific in the post, but chances are your IDE will not integrate with all the company's NIH tools and build system. There's a reason Facebook is creating tools like Nuclide to work with and on all their internal technologies for those who want an IDE. This is just all from my experience! You could always use an IDE but then you'll have the headache of getting it to work with everything. I'm not talking about the average company or software shop.

This is all from my personal experience but I could be horribly wrong so feel free to correct me! I know a lot of people who SSH into their dev machine from their laptop while at work and this is also a pain in the neck with an IDE. I suppose you could write plugins or hope somebody else wrote the plugins to interface with everything within the company but I wouldn't want to put all my marbles in one basket.

[edit] I don't want to derail the thread so I won't make a new post, but Tortoise Workbench is an example of something the average software company would use not something you would see at Amazon, Facebook, Google, etc. where there's a good chance nobody has wrote a plugin for their tools for your favorite IDE. As I wrote earlier, this only applies to you if you're at a company that is writing its own tools.

sailormoon fucked around with this message at 00:10 on Jul 15, 2015

pigdog
Apr 23, 2004

by Smythe

Ithaqua posted:

You very well could be too aggressive. I've seen it before (and been that person myself): Something isn't perfect, so it's time to start throwing around buzzwords and telling people who have been working there a lot longer and have all the context and understand all of the pitfalls that everything they've been doing is wrong.

Personally, I got a lot better about not being spergy that way when I got into consulting. When you're only working with a client for a week, you have to learn to let a lot of dumb poo poo slide. The biggest help I found was to ask questions instead of make statements.

For example:
"Using Frobulator 1.0 doesn't make sense! It's inefficient! We should be using Frobulator 2.3!" ==> "Why are we using Frobulator 1.0? Using Frobulator 2.3 would help solve some of these inefficiencies we've been having problems with."
:agreed: There's a lot of bad and old code out there but BE CAREFUL how you voice those probably valid opinions. Keep your head down a new guy, and use questions instead of making statements. Much easier to make people agree.

Tunga
May 7, 2004

Grimey Drawer

sailormoon posted:

I should have been more specific in the post, but chances are your IDE will not integrate with all the company's NIH tools and build system.
I'm primarily an Android developer and I'm pretty sure they aren't using Eclipse at Google so I'm sure I'll be just fine.

Having said that, it's not about specific IDEs so much as using an IDE at all. There is a basic quality-of-life level that all IDEs provide that Google Docs does not. Even just simple stuff like not making GBS threads up my bracket indentations.

But:

sailormoon posted:

I'm not trying to be mean, but you do need to realize where your faults are and not just chalk it up to "being used to an IDE". Never blame anything during interviews or while programming on anyone other than yourself and you'll be able to improve very quickly.
This is fair and I don't blame anyone but myself. And I'm practicing to get better at it. I do find it frustrating that my coding ability is tested in a way that I won't ever write code in my actual job, but I understand that it's just something I have to deal with and learn to be better at.

Che Delilas
Nov 23, 2009
FREE TIBET WEED
Holy poo poo, if I were applying to a development job and told I couldn't use and IDE if I were hired, I would wish them good luck and walk the gently caress out the door. Being able to write code in a non-ide environment like a whiteboard or google doc is a good skill to have for interviews, but gently caress that for day-to-day development, at least for what I do. I don't know, maybe if you're exclusively frontend?

sailormoon posted:

I should have been more specific in the post, but chances are your IDE will not integrate with all the company's NIH tools and build system. There's a reason Facebook is creating tools like Nuclide to work with and on all their internal technologies for those who want an IDE. This is just all from my experience! You could always use an IDE but then you'll have the headache of getting it to work with everything. I'm not talking about the average company or software shop.

An IDE doesn't preclude the use of other tools, you know. It's not that hard. I'm using Visual Studio and Tortoise Workbench RIGHT NOW and neither one of them is melting down or even complaining.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Che Delilas posted:

. I don't know, maybe if you're exclusively frontend?

Even then, tools like Visual Studio Code + TypeScript definitions are awesome for JS development.

Linear Zoetrope
Nov 28, 2011

A hero must cook

Che Delilas posted:

Holy poo poo, if I were applying to a development job and told I couldn't use and IDE if I were hired, I would wish them good luck and walk the gently caress out the door. Being able to write code in a non-ide environment like a whiteboard or google doc is a good skill to have for interviews, but gently caress that for day-to-day development, at least for what I do. I don't know, maybe if you're exclusively frontend?

There's a gulf between "whiteboard" and "IDE" I think you're missing. A hell of a lot of work can be done in shell+Sublime Text (or Atom or whatever). With all of Sublime's plugins, it can approach an IDE even if it doesn't quite get there. The only thing I really miss from IDEs is breakpoint debuggers, but the languages I mainly work in don't have debuggers right now anyway.

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.

Che Delilas posted:

Holy poo poo, if I were applying to a development job and told I couldn't use and IDE if I were hired, I would wish them good luck and walk the gently caress out the door. Being able to write code in a non-ide environment like a whiteboard or google doc is a good skill to have for interviews, but gently caress that for day-to-day development, at least for what I do. I don't know, maybe if you're exclusively frontend?

Don't let the door hit you on the way out. Also LOL if you think the choice is between "IDE" and "Google Docs/Notepad/Whiteboard".

You just use a good editor. Like emacs. Or vi if you're a weirdo. Or Sublime/Atom if you're a hipster. This keeps working even if your project ends up spanning multiple languages and build-systems, at which point dealing with an IDE may be more hassle than it's worth.

a slime
Apr 11, 2005

Skuto posted:

You just use a good editor. Like emacs. Or vi if you're a weirdo. Or Sublime/Atom if you're a hipster. This keeps working even if your project ends up spanning multiple languages and build-systems, at which point dealing with an IDE may be more hassle than it's worth.

I've been using vi for a very long time. After ~12 years of using it, the tmux + vi combo is really starting to feel cumbersome. I want a fast multi-pane and multi-window terminal environment. Is emacs the answer to my prayers? Can it replace tmux and vi? Sorry in advance for bringing this up here.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

Jsor posted:

There's a gulf between "whiteboard" and "IDE" I think you're missing. A hell of a lot of work can be done in shell+Sublime Text (or Atom or whatever). With all of Sublime's plugins, it can approach an IDE even if it doesn't quite get there. The only thing I really miss from IDEs is breakpoint debuggers, but the languages I mainly work in don't have debuggers right now anyway.

Okay that's fair; I haven't done any work in a text editor for a long time so I'm not personally familiar with what modern ones are capable of. Still, "there are good non-IDE tools that you can use to develop" is a far cry from "you shouldn't use an IDE because you probably won't be able to ONLY use an IDE." As I said before, you use one alongside other tools.

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.

a slime posted:

I've been using vi for a very long time. After ~12 years of using it, the tmux + vi combo is really starting to feel cumbersome. I want a fast multi-pane and multi-window terminal environment. Is emacs the answer to my prayers? Can it replace tmux and vi? Sorry in advance for bringing this up here.

I can't really answer this as my demands in that area aren't very high. I mostly ended up with emacs because it was easier to fully customize to what I needed, even with elisp knowledge that ends at "this is how you make an if".

quote:

with what modern ones are capable

Emacs and vi are from 1976, vim is from 1991.

Granted, people were probably not using Semantic, js2mode or clang-powered auto-completion with them back then.

I never really understood what Sublime added, but I understand the appeal from Atom is that you can customize it in JavaScript instead of elisp. Because we'd rather program in JavaScript than LISP, of course. And for this we only have to pay the price of looking at Chrome-rendered text all day (as opposed to a properly working native font renderer).

Linear Zoetrope
Nov 28, 2011

A hero must cook
The appeal of Sublime for me was it had the best plugins for the languages I was using at the time, from there it was mostly inertia. :shrug:

baquerd
Jul 2, 2007

by FactsAreUseless
I don't know what sort of crazy projects you people are working on, but IntelliJ is still entirely performant with over 3000 class files in a project.

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.

baquerd posted:

I don't know what sort of crazy projects you people are working on, but IntelliJ is still entirely performant with over 3000 class files in a project.

Much bigger ones spanning much more languages, basically.

We seem to have (at least) C, C++, Make (+m4), Python, assembler, HTML, CSS, JS, shellscript (+sed +awk), Java, Perl, Tcl (wut? Who did that?), Objective C (Mac frontends, I guess), Ruby and some LISP (I don't even...).

Visual Studio can actually load in the C++ (pretty sure MS has even bigger projects) and have IntelliSense parse it, but it hangs on shutdown, or never finishes, I'm not sure.

I haven't tried CLion on this.

Nippashish
Nov 2, 2005

Let me see you dance!

baquerd posted:

I don't know what sort of crazy projects you people are working on, but IntelliJ is still entirely performant with over 3000 class files in a project.

Unfortunately it is very much not okay with your files living on a network drive that has any kind of latency.

Skandranon
Sep 6, 2008
fucking stupid, dont listen to me

Nippashish posted:

Unfortunately it is very much not okay with your files living on a network drive that has any kind of latency.

Stop doing that then. Use distributed source control and this problem goes away.

22 Eargesplitten
Oct 10, 2010



I'm graduating with an AS soon. There isn't anywhere in my state that offers an online /night BS, and I can't afford to start over and get a 4-year degree's worth of debt right now. So I'm building a portfolio of class and extracurricular projects. So far, I have one Java and one C++ project, both of which need a little bit more work.

My question is should I stick with two languages, or could I shoehorn some C# in there? I also want at least one of my projects to be an android app, since that's a pretty major field now, but that will likely be Java, so not too much to learn.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

22 Eargesplitten posted:

I'm graduating with an AS soon. There isn't anywhere in my state that offers an online /night BS, and I can't afford to start over and get a 4-year degree's worth of debt right now. So I'm building a portfolio of class and extracurricular projects. So far, I have one Java and one C++ project, both of which need a little bit more work.

My question is should I stick with two languages, or could I shoehorn some C# in there? I also want at least one of my projects to be an android app, since that's a pretty major field now, but that will likely be Java, so not too much to learn.

Why are you trying to do all of these different projects in different languages? Do you have some idea of what type of work you want to get into? If you want to get into Android work, focus on Java (Although the NDK uses C++ though, chances are you probably won't use it. Or learn C# and make an app with Xamarin :v:). Don't just bounce around to pad a resume. If I was looking for an Android App Developer, I would rather have someone who really knows Android Development and Java, rather than someone who kinda made an app before, but has some knowledge of other languages that are not relevant to the position.

Skandranon
Sep 6, 2008
fucking stupid, dont listen to me

22 Eargesplitten posted:

I'm graduating with an AS soon. There isn't anywhere in my state that offers an online /night BS, and I can't afford to start over and get a 4-year degree's worth of debt right now. So I'm building a portfolio of class and extracurricular projects. So far, I have one Java and one C++ project, both of which need a little bit more work.

My question is should I stick with two languages, or could I shoehorn some C# in there? I also want at least one of my projects to be an android app, since that's a pretty major field now, but that will likely be Java, so not too much to learn.

If you want a third, I'd suggest some Javascript. Between Java, C++, and JS, you should then be able to decide which you want to focus on (JS for web development, Java for Android, C# for high-level server side, C++ for low level coding). Pick what you enjoy doing most, focus on that, and look for jobs doing that. You don't want to 'land' a coding job doing the kind of coding you don't like, as you'll fill your head with garbage knowledge, and will find it even harder to start doing the thing you actually want to do.

22 Eargesplitten
Oct 10, 2010



E: this was to Drastic Action's post.

Part of it is that I learned C++ in school, so that project is some of the best work I have done. Although now that I think about it, if I had known Dijkstra's algorithm, about 80% of my effort would have been unnecessary. So maybe that isn't such a great example. There also seems to be a shitload of .Net jobs out there. At this point Java is definitely my strongest language by virtue of my C++ having atrophied.

Down the road, I would really like to program medical equipment, but I get the feeling that would be roughly assembly-level language, and I hated the assembly I learned in school. So maybe not.

When I was learning C++ I wanted to make games. I would still love that, but if game development still means living at the office for a couple weeks every deadline, I don't think my marriage would survive that.

More generally, I would like to do things where I can work on a smaller team, rather than having 100 people working on something and only seeing a tiny piece of the project. That sounds like mobile development, from what I understand, but I will freely admit to not knowing much at all about the industry.

22 Eargesplitten fucked around with this message at 20:48 on Jul 15, 2015

Nippashish
Nov 2, 2005

Let me see you dance!

Skandranon posted:

Stop doing that then. Use distributed source control and this problem goes away.

They also have a deployment tool that copies the files automatically to a remote machine in case I need to run there instead of locally. None of that helps when I want to work from home and company policy says "no code on laptops".

huhu
Feb 24, 2006

quote:

Hey huhu,

I came across your profile and was really impressed by your work experience in customizing a WordPress.org installation including the theme, plugins, and post templates.

Are you looking for any new dev positions right now?

Gradberry gets code-vetted engineers job offers at companies faster than anyone else. (It's also completely free to use!) We were also recently featured in Wired.

You can join our community by clicking here :-)

Let me know if you have any questions!

I'm a bit curious as to why they contacted me. I don't have much experience, a bit of the languages/tools needed for web design and my own portfolio which I made in WordPress but that's about it. Is it worth my time joining the Gradberry community or should I stay away?

fritz
Jul 26, 2003

Skandranon posted:

Stop doing that then. Use distributed source control and this problem goes away.

On the other hand, corporate IT.

Space Gopher
Jul 31, 2006

BLITHERING IDIOT AND HARDCORE DURIAN APOLOGIST. LET ME TELL YOU WHY THIS SHIT DON'T STINK EVEN THOUGH WE ALL KNOW IT DOES BECAUSE I'M SUPER CULTURED.

Skuto posted:

Much bigger ones spanning much more languages, basically.

We seem to have (at least) C, C++, Make (+m4), Python, assembler, HTML, CSS, JS, shellscript (+sed +awk), Java, Perl, Tcl (wut? Who did that?), Objective C (Mac frontends, I guess), Ruby and some LISP (I don't even...).

Visual Studio can actually load in the C++ (pretty sure MS has even bigger projects) and have IntelliSense parse it, but it hangs on shutdown, or never finishes, I'm not sure.

I haven't tried CLion on this.

This sounds more like an architectural disaster than anything. Why would you keep your ObjC Mac frontend in the same space as assembly code?

baquerd posted:

I don't know what sort of crazy projects you people are working on, but IntelliJ is still entirely performant with over 3000 class files in a project.

I find that IntelliJ IDEA is qui

...indexing
...indexing
...indexing

te suitable for my needs.

(to be fair, I'm working with substantially more than 3000 class files)

Hiowf
Jun 28, 2013

We don't do .DOC in my cave.
Because it belongs to the same project? We've had the monolithic vs separate repo discussion before. Also, even if they were in separate repos that wouldn't change anything from the editor perspective.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Skuto posted:

Because it belongs to the same project? We've had the monolithic vs separate repo discussion before. Also, even if they were in separate repos that wouldn't change anything from the editor perspective.

Of course it would. If your project was properly architected there would be no reason whatsoever to load in 90% of your code to do any given task.

Pollyanna
Mar 5, 2005

Milk's on them.


pigdog posted:

:agreed: There's a lot of bad and old code out there but BE CAREFUL how you voice those probably valid opinions. Keep your head down a new guy, and use questions instead of making statements. Much easier to make people agree.

I guess I just thought it would go over better than it does now because lots of people in the company agree with me when I say the code needs serious help and there's already a project in place for revamping it (front-end and API splitting, new front-end framework, etc.). I don't really know anymore. These days, I want to work more on what interests me and have time to dedicate to that pursuit, so I'm honestly just caring less and less about how "correct" the code is and more with just getting it to a state that isn't a huge timesink to deal with.

Or maybe I'm just a child, I don't know. I'm overthinking this. It's weird cause I still get comments on me being hardworking and good (read: passable) at my job, which still feels unreal to me because if I was good at my job why is this ticket taking more than 3 days to complete :(

ExcessBLarg!
Sep 1, 2001

Pollyanna posted:

so I'm honestly just caring less and less about how "correct" the code is and more with just getting it to a state that isn't a huge timesink to deal with.
It's easy to get into the habit of wanting to refactor code everytime you spot something "wrong", but yes it's a major time sink.

The goal when carrying out incremental tasks is to minimize the diffs. Try to adhere to the approaches and conventions of the existing code when doing something new, and don't worry about a refactor except when there's some significant win (e.g, it will clearly minimize subsequent diffs if not this one). So long as the code is already 70-80% of optimal to begin with, that shouldn't be too hard.

But if you're working with terrible code, like, inconsistent style, formatting, and indentation, let alone no consistency in logic or apporach. Then yeah, the code needs serious help and the more you pile on top of it the worse your technical debt gets. You can get away with that for a little while, but a serious effort is needed soon to get things into a maintainable state. If you aren't making headway there, then maybe it is worth rolling the job dice and see what your next opportunity is.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Pollyanna posted:

I guess I just thought it would go over better than it does now because lots of people in the company agree with me when I say the code needs serious help and there's already a project in place for revamping it (front-end and API splitting, new front-end framework, etc.).

If it's already known that these problems exist and there are plans to address them, then beating a dead horse/rubbing it in/chicken little-ing does not win you allies or friends. Especially if you're doing it in front of the people who are responsible for the problem in the first place.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Ithaqua posted:

Especially if you're doing it in front of the people who are responsible for the problem in the first place.

The more you sound like (or are) saying "This code is poo poo, we need to fix it", the more likely the other party will get defensive and say "No it's not, you're wrong". Whereas if you ask about said code and give suggestions as to ways to make it better (Even better if it's not a massive refactoring project), you're more likely to get somewhere.

Basically being more of an rear end in a top hat will get you less places.

Skandranon
Sep 6, 2008
fucking stupid, dont listen to me

Pollyanna posted:

I guess I just thought it would go over better than it does now because lots of people in the company agree with me when I say the code needs serious help and there's already a project in place for revamping it (front-end and API splitting, new front-end framework, etc.). I don't really know anymore. These days, I want to work more on what interests me and have time to dedicate to that pursuit, so I'm honestly just caring less and less about how "correct" the code is and more with just getting it to a state that isn't a huge timesink to deal with.

Or maybe I'm just a child, I don't know. I'm overthinking this. It's weird cause I still get comments on me being hardworking and good (read: passable) at my job, which still feels unreal to me because if I was good at my job why is this ticket taking more than 3 days to complete :(

Your main problem was that you said it during standup, in front of everyone. Talking to people privately is very different. Yes, you are supposed to talk about what you've done/are doing during standup, but it's not a magically safe, honest space. Saying "I'm blocked on Dave because he codes like poo poo" isn't going to get a good response, even if it is 100% true and everyone knows it.

evensevenone
May 12, 2001
Glass is a solid.

Skuto posted:

I never really understood what Sublime added, but I understand the appeal from Atom is that you can customize it in JavaScript instead of elisp. Because we'd rather program in JavaScript than LISP, of course. And for this we only have to pay the price of looking at Chrome-rendered text all day (as opposed to a properly working native font renderer).

Sublime is really fast, uses modern/standard UI design/OS integration, and has tons of scripting support. And the scripting is Python instead of vim/lisp. They also have a nice repo system for plugins (package control).

22 Eargesplitten
Oct 10, 2010



I just want to point out that the person who was overly optimistic about their ability to improve the codebase is called Pollyanna.

From my earlier post, if I wanted to get into a field with smaller development teams, what technology should I be looking at? Or does it just vary company to company in any field?

22 Eargesplitten fucked around with this message at 19:47 on Jul 16, 2015

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

22 Eargesplitten posted:

From my earlier post, if I wanted to get into a field with smaller development teams, what technology should I be looking at? Or does it just vary company to company in any field?

If you want to be on small teams, look at the really niche languages. Of course, niche language means less jobs overall. And most languages are popular/unpopular regardless of team size. Java and .NET languages tend to considered "enterprise" languages, but tons of small teams use both languages.

JavaScript is used everywhere by everyone.

Steve French
Sep 8, 2003

Ithaqua posted:

If you want to be on small teams, look at the really niche languages.

This is really weird advice. Don't choose a language based on whether you think you'll end up on a smaller development team; it's largely orthogonal, except that if you choose a popular language, there will be more jobs available, which means there will also be more jobs available on small teams.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Steve French posted:

This is really weird advice. Don't choose a language based on whether you think you'll end up on a smaller development team; it's largely orthogonal, except that if you choose a popular language, there will be more jobs available, which means there will also be more jobs available on small teams.

I agree. I didn't make that point well enough. The basic advice is "just pick a language, it doesn't matter".

sarehu
Apr 20, 2007

(call/cc call/cc)
Maybe on my 6th programming job I'll finally be hired to use a language I'd had any real experience in.

Tunga
May 7, 2004

Grimey Drawer

22 Eargesplitten posted:

From my earlier post, if I wanted to get into a field with smaller development teams, what technology should I be looking at? Or does it just vary company to company in any field?
Biased opinion of an Android dev: A lot of mobile dev is small teams or even solo work, there's plenty of work in general, and it's unlikely to disappear any time soon.

22 Eargesplitten
Oct 10, 2010



That's what I was hoping to hear. That's java, too. I do see a lot of Android /mobile dev positions on Dice/Craigslist/LinkedIn. And some of them even aren't in Denver (gently caress Denver).

Adbot
ADBOT LOVES YOU

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

Skandranon posted:

Your main problem was that you said it during standup, in front of everyone. Talking to people privately is very different. Yes, you are supposed to talk about what you've done/are doing during standup, but it's not a magically safe, honest space. Saying "I'm blocked on Dave because he codes like poo poo" isn't going to get a good response, even if it is 100% true and everyone knows it.

To be fair though sometimes you're in the situation where you get asked to integrate with code that both a) doesn't work and is b) written by retards, and it's totally better to bring that up front rather than struggle with bullshit for a month and then say "I can't work with this."

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