Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

cevans32

macrumors newbie
Original poster
Aug 14, 2017
2
0
Entry coder for small business, deciding on specs for 21.5 inch 3.4 ghz iMac. Should I go with 8 or 16 gb ram, and 256 or 512 ssd?
 
Screen size most important, believe it or not. RAM next, then SSD. Can depend on what you're developing.
 
You folks need to stop with this horrible buzzword, "coding".
Is that a verb now? What does it even mean?
Surely a telegraph operator in the 19th century would also encode and decode Morse code, they did a fair share of "coding".

What? Sure, I hear you: you mean "writing computer code", silly me.
Well, thank you very much, it's about as informative as "typing" in the days of typewriters, that would apply equally well to Hemingway, John Lennon and the clerk at the post office.

The question is: what you are doing?
  • Front end programming?
    If so, beware, you will probably want a few VMs open, read that as "more RAM" - and maybe more screen real estate.
  • Phone apps, especially Android?
    See above, the Android toolkit eats up ridiculous amounts of RAM, and don't get me started on the emulator.
  • Lots of test-driven stuff and/or batch jobs with lots of numerical computations?
    If so, you want all the possible cores and, in the former case, also the fastest I/O.
  • Database-centric programming?
    You want fast I/O.
  • Tiny scripts that don't do much computationally?
    You're lucky, you don't need much.
What sorts of languages and toolkits? In particular, is the JVM involved in any capacity?
Is some sort of Intellisense-like technology involved in your workflow?
If so, as ridiculous as it may sound, buy the biggest, fastest machine money can buy and maybe scale down on the screen a little bit.
Less than lightning-fast intellisense is useless, believe me.

In general, I concur with rkuo on one thing: screen real estate is horribly underrated for all sorts of development.
I disagree on one thing: spinning platters are barbaric and unacceptable in nearly all situations, except maybe, maybe, if you're writing small Perl scripts in vim.
 
You folks need to stop with this horrible buzzword, "coding".
Is that a verb now? What does it even mean?

theres nothing wrong with using the word coding and its not a buzz word! Telling someone youre coding is a lot faster than telling them "im writing swift in xcode for ios"

Entry coder for small business, deciding on specs for 21.5 inch 3.4 ghz iMac. Should I go with 8 or 16 gb ram, and 256 or 512 ssd?

I dont think you should get an imac. Look into image retention issues on imacs. I found lots of people on the forum saying running the imac hot causes the retention to happen even faster which permanently damages the screen. The second reason I wouldnt get an imac for coding is because its going to run into the 90C - 100C range especially in xcode when its indexing and compiling. The best option for you in my opinion is a mac pro but since there arent good ones I would just build a hackintosh.

p.s. I run xcode and vim all the time on my imac so if you have more specific questions let me know.
 
theres nothing wrong with using the word coding

There is, it's an abomination and it must be stopped.

and its not a buzz word!

Believe me, it is. Even the White House under Obama had a page about "teaching kids to code".
The word "coding" as a synonym for "programming a computer" was unheard of until 10 to 15 years ago.
Head over to Google Trends and see for yourself.

Telling someone youre coding is a lot faster than telling them "im writing swift in xcode for ios"

If you want to go for "fast", how about... "programming"?
(But then you're so fast, you don't even stop for apostrophes...)

The best option for you in my opinion is a mac pro but since there arent good ones I would just build a hackintosh.

That's a fantastic idea if your livelihood depends on it.
 
There is, it's an abomination and it must be stopped.

Believe me, it is. Even the White House under Obama had a page about "teaching kids to code".
The word "coding" as a synonym for "programming a computer" was unheard of until 10 to 15 years ago.
Head over to Google Trends and see for yourself.

If you want to go for "fast", how about... "programming"?
(But then you're so fast, you don't even stop for apostrophes...)

That's a fantastic idea if your livelihood depends on it.

Maybe its generational since I just finished my undergrad in CS and nobody was upset about the term "coding". Are you a software engineer? If so what do you work on!
 
I just finished my undergrad in CS and nobody was upset about the term "coding".

Of course it's generational.
Damn kids.
Now get off my lawn!

(And I mostly dabble in computer vision, in theory; in practice I mostly scream at people on Skype. I'm curious myself to know what you are going to specialize in, consider continuing this in the appropriate forum ;) )
 
I've been working as a Software Engineer for 15 years. The modern iMac is a fine machine for software engineering. I agree with the comment that 1) screen size, 2) minimum RAM, 3) SSD are the most critical.

The Base 27" iMac configured with an SSD, and 16GB of RAM is a reasonable selection. I don't think you will need more RAM than that unless you get into VMs and other RAM intensive applications.

If you want the 21.5" iMac upgrade to SSD and 16GB of RAM. You will then most likely want to add a second monitor.
 
I've been in OS and DBMS development for over 40 years. (Take that, youth!) I will also agree that screen size, RAM, and SSD are important, pretty much in that order. Don't worry about the CPU too much, although for any serious DBMS stuff involving benchmarks you'll want the i7 for the extra cores / threads. (Actually, you'll want a dual 6-core tower Mac Pro, or a Hackintosh, but that's getting off topic.)

I'm fine with "coding", but it's too vague. There's lots of different programming domains. Doing a website with the various browser oriented tools is very different from writing a compiler, or a DBMS engine.
 
I've been working as a Software Engineer for 15 years. The modern iMac is a fine machine for software engineering. I agree with the comment that 1) screen size, 2) minimum RAM, 3) SSD are the most critical.

The Base 27" iMac configured with an SSD, and 16GB of RAM is a reasonable selection. I don't think you will need more RAM than that unless you get into VMs and other RAM intensive applications.

If you want the 21.5" iMac upgrade to SSD and 16GB of RAM. You will then most likely want to add a second monitor.
I've been in OS and DBMS development for over 40 years. (Take that, youth!) I will also agree that screen size, RAM, and SSD are important, pretty much in that order. Don't worry about the CPU too much, although for any serious DBMS stuff involving benchmarks you'll want the i7 for the extra cores / threads. (Actually, you'll want a dual 6-core tower Mac Pro, or a Hackintosh, but that's getting off topic.)

I'm fine with "coding", but it's too vague. There's lots of different programming domains. Doing a website with the various browser oriented tools is very different from writing a compiler, or a DBMS engine.
I didn't want to derail OP's thread but I had no idea there were so many developers here on the forum. Where have you all been hiding!

Of course it's generational.
Damn kids.
Now get off my lawn!

(And I mostly dabble in computer vision, in theory; in practice I mostly scream at people on Skype. I'm curious myself to know what you are going to specialize in, consider continuing this in the appropriate forum ;) )

Wow computer vision seems really interesting! For my own specialization I'm not sure what I want to do yet. A lot of things seem interesting to me (like OS development, working on distributed systems, neural networks) but I'm not sure what kind of experience would be best to strive for as a junior engineer that would allow me to gravitate towards those subjects.

Over the past 2 years or so (I graduated this past June but worked during my last 2 years of school) I've been at a startup doing iOS development in Swift/Obj-C and also on building out/maintaining a RESTful backend for a mobile application in nodejs running on heroku and AWS. It has a decent user base and has been interesting but I don't want to do it forever. Before that I was making web apps in React and I really enjoyed that but also want to expand my horizon beyond web development.

My big fear is that I'm not doing *enough*. The company I'm at is really great but there's not really any senior engineering guidance and I'm worried that I don't have the opportunity to keep learning and improving. What if some of my practices are totally stupid and nobody is here telling me that and I end up disadvantaged w.r.t. my colleagues 5 years from now because they got that on-the-job discipline and experience and I did not.

So I think I might consider working for a bigger company that isn't a startup. I've been reading several algorithms books and I might try passing the Google/Msft/Apple/Fb interviews. So far I haven't bothered with those companies because my friends mostly got destroyed during their interviews and I've been scared. I think I did pretty well in my algorithm analysis course though and I might keep practicing for a few months and just give it a shot.
 
So I think I might consider working for a bigger company that isn't a startup. I've been reading several algorithms books and I might try passing the Google/Msft/Apple/Fb interviews. So far I haven't bothered with those companies because my friends mostly got destroyed during their interviews and I've been scared. I think I did pretty well in my algorithm analysis course though and I might keep practicing for a few months and just give it a shot.
If you are looking for more discipline and learning experience from Senior engineers I'd suggest looking to get into Aerospace or the Medical Device industry. Those two industries are filled with very senior engineering staffs that are quickly approaching retirement and are more then willing to enforce discipline on engineers. Typically they are looking for emdedded real-time experience.

They also pay a lot better and have better working conditions than the typical Silicon Valley corporation. Most engineers are underpaid in Silicon Valley in my opinion...
 
  • Like
Reactions: villicodelirant
I do bioinformatics (machine learning, data science, which requires CPU. And a lot of genome work that requires a huge RAM size).

I wanted a terminal to run stuff locally and anything more demanding I just run on a cluster. So the 2017 27inch iMac (mid tier but with i7 and 512GB SSD, also self upgraded RAM 64GB) I got is more than enough.
 
Entry coder for small business, deciding on specs for 21.5 inch 3.4 ghz iMac. Should I go with 8 or 16 gb ram, and 256 or 512 ssd?

Well the 21" 3.4 is $1500 and the highest end 21 before upgrading to the 3.6 for $300 more

$200 more gets you the base level 27" and whilst you can't upgrade the RAM after purchase in the 21 I think you can in the 27" (check OWC or other one to see what they suggest about upgradeability) easily and later on.

http://uk.crucial.com/gbr/en/compatible-upgrade-for/Apple/imac-(21*5-inch,-2017)-imac18,1

You could always use external HD/External SSD if you need to not spend too much. TB3 drives will be quick enough for you.
 
yes, the 27 inch imac has a user accessible ram slot.

If you ever have to reverse engineer a binary file format, a huge screen is a godsend....
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.