Programmer Laptops

There is no wrong choice to start learning. I’m sure folks will disagree with me. I have no problem with that.
You're correct in as much as it relates to multi-paradigm languages; gaining familiarity with new syntax becomes substantially more easier over time; experience is far more a mix of mastery of paradigm(s), frameworks, algorithms, patterns / algebras, etc...

Instead of python... a newcomer IMO should consider F#; syntax similarity with OCaml, Haskell and Purescript; and not such a huge leap for a python programmer -- except that it's far more capable of exploiting code in both Functional and OOP paradigms.
 
Last edited:
Ag sparky, how is Windows bad for programming?

Honestly it depends what you're developing.
Ideally you'd want your Dev machine to me relatively similar to what your production software is running.

Bulding Windows app? Develop on Windows.
Mac app? Develop on Mac.

Bulding websites & api's to be hosted on Linux servers? Unix/Linux based OS's will be better as you're dealing with similar architecture to what your Linux server will be.

And then personal preference: Personally I'd never be able to have the same effective workflow on Windows as I have on MacOS and Linux. Since I practically live in the terminal, I'd prefer to have it running natively on my OS as opposed to that Ubuntu VM kinda thing you have to install on Windows to have that.
 
Whatever you get, you probably aren’t doing your neck, back or eyes and favours by working on it full time.

I recommend a docking station and an external monitor, keyboard and mouse, at least for your home set up.

I use a Dell XPS, and have all the above external. I even treated myself to one of the Dell 43” monitors, which I love for development, but even the cheapest 24” with a stand is way better than staring down at a 13” display all day.

I use Windows, but do all my development in a putty terminal which ssh’s to my company’s cluster.
 
It looks like a cool laptop, but at R21K new (Excluding shipping, import duties, etc from GearBest ), I'd be more inclined to go with a Dell of some sort with a local warranty that even allows us to extend the warranty to 3 years on-site. I don't trust Xiaomi from a laptop perspective, it is still a relatively new brand with regards to laptops. Sorry, as a Dev you don't want to sit without a Machine for a long time, you are a Senior dev, you should know this. Companies have many reasons for selecting Dell or HP laptops above other brands that offer "bang for your buck" for good reason. Op is a student, an i5 Dell laptop with an external display is good enough for Ops needs now.
 
Honestly it depends what you're developing.
Ideally you'd want your Dev machine to me relatively similar to what your production software is running.

Bulding Windows app? Develop on Windows.
Mac app? Develop on Mac.

Bulding websites & api's to be hosted on Linux servers? Unix/Linux based OS's will be better as you're dealing with similar architecture to what your Linux server will be.

And then personal preference: Personally I'd never be able to have the same effective workflow on Windows as I have on MacOS and Linux. Since I practically live in the terminal, I'd prefer to have it running natively on my OS as opposed to that Ubuntu VM kinda thing you have to install on Windows to have that.
Websites should not matter, you should be using docker for that.
 
Whatever you get, you probably aren’t doing your neck, back or eyes and favours by working on it full time.

I recommend a docking station and an external monitor, keyboard and mouse, at least for your home set up.

I use a Dell XPS, and have all the above external. I even treated myself to one of the Dell 43” monitors, which I love for development, but even the cheapest 24” with a stand is way better than staring down at a 13” display all day.

I use Windows, but do all my development in a putty terminal which ssh’s to my company’s cluster.

Agreed. I got myself one of these. https://www.takealot.com/adjustable-portable-laptop-stand/PLID52191568

100% worth the investment.
 
Websites should not matter, you should be using docker for that.

Might as well install kubernetes on a potato :p.

Docker is a nightmare. You'd scare off any newbie to learning Linux servers & deploying - which I believe is vital for any Dev.

My first experience with Docker was having to install Discourse on a client's Ubuntu server about 2 years ago - and I've been using Linux for 10 years and deploying api's / websites (PHP, Django, Rails, Nodejs, etc) and stuff for 5 years. Utterly brutal experience.

In future I'd have to use Discourse I'd go for the $100/m pro hosted one just to save blood sweat and tears. My theory is they make it deliberately hard to install / manage to get users to buy paid packages.
 
You're correct in as much as it relates to multi-paradigm languages; gaining familiarity with new syntax becomes substantially more easier over time; experience is far more a mix of mastery of paradigm(s), frameworks, algorithms, patterns / algebras, etc...

Instead of python... a newcomer IMO should consider F#; syntax similarity with OCaml, Haskell and Purescript; and not such a huge leap for a python programmer -- except that it's far more capable of exploiting code in both Functional and OOP paradigms.

Nobody works in those languages. In my nearly 13 years of development experience, I have come across one little tool written in F# and not a single job advert for any functional language.

I think we are all thoroughly confusing OP now! But, OP, long and short is that it doesn't matter too much. At this point, you don't know enough about programming for it to matter. Pick one or two of Java, Python or C# to start. Spend 6 months working with it. Write a website or two. Then choose another one of those three and learn it. You'll get the hang of it.
 
Might as well install kubernetes on a potato :p.

Docker is a nightmare. You'd scare off any newbie to learning Linux servers & deploying - which I believe is vital for any Dev.

My first experience with Docker was having to install Discourse on a client's Ubuntu server about 2 years ago - and I've been using Linux for 10 years and deploying api's / websites (PHP, Django, Rails, Nodejs, etc) and stuff for 5 years. Utterly brutal experience.

In future I'd have to use Discourse I'd go for the $100/m pro hosted one just to save blood sweat and tears. My theory is they make it deliberately hard to install / manage to get users to buy paid packages.
You'd not, literally find a pre built docker file and use that, on windows they even included a nice GUI a few years ago.

Can get e.g. A WordPress site up and running in a few seconds.
 
Are you suggesting that i begin with a Java and Phython Certificates?

Thought I'd reply to this directly.

So, as I said above, Python, Java or C# - it doesn't really matter. Pick one of the three, do it for 6 months, then do another. See which one you like best. You can get jobs in any language, and you can also retrain for another language, so it doesn't matter. What matters is which language you like the most.

If you were just starting out, I'd do a specialisation or two in Coursera. For instance, for Java, you could do:
Object oriented programming in Java
Once you have done that, you can do this which is a little more advanced, although there may be some overlap.

For Python, you could do Python for Everybody
There will be loads of other courses for Python.

So, a little bit about certifications and stuff. There are official Java certificates which may be worth getting. I don't know of any official Python certificates. If you want certificates, I would do all of them online. Why?

* It is cheaper
* You have to motivate yourself to do them - this is good because it shows to employers that you are willing to work
* There are theory and practical components to them
* At the end of the day, you get something you can put on your CV as well as real useful skills

Yes, a 3 year degree counts more. But if you don't have that, if you don't have the money or time for a 3 year degree, I'd go with Coursera. They have good courses, good content, well presented, with good practical components.
 
Thought I'd reply to this directly.

So, as I said above, Python, Java or C# - it doesn't really matter. Pick one of the three, do it for 6 months, then do another. See which one you like best. You can get jobs in any language, and you can also retrain for another language, so it doesn't matter. What matters is which language you like the most.

If you were just starting out, I'd do a specialisation or two in Coursera. For instance, for Java, you could do:
Object oriented programming in Java
Once you have done that, you can do this which is a little more advanced, although there may be some overlap.

For Python, you could do Python for Everybody
There will be loads of other courses for Python.

So, a little bit about certifications and stuff. There are official Java certificates which may be worth getting. I don't know of any official Python certificates. If you want certificates, I would do all of them online. Why?

* It is cheaper
* You have to motivate yourself to do them - this is good because it shows to employers that you are willing to work
* There are theory and practical components to them
* At the end of the day, you get something you can put on your CV as well as real useful skills

Yes, a 3 year degree counts more. But if you don't have that, if you don't have the money or time for a 3 year degree, I'd go with Coursera. They have good courses, good content, well presented, with good practical components.

Certs and degrees are nice, but everyone who've studied or worked with fresh grads knows that it doesn't mean that they can code.

If I had to interview people for their first jobs, and the one guy only had a degree, and the other had 2 or 3 working projects on Github, maybe even in 2 different languages, I would much rather hire the guy who has the projects on Github.
 
Certs and degrees are nice, but everyone who've studied or worked with fresh grads knows that it doesn't mean that they can code.

If I had to interview people for their first jobs, and the one guy only had a degree, and the other had 2 or 3 working projects on Github, maybe even in 2 different languages, I would much rather hire the guy who has the projects on Github.

I don't have much in the way of Github, and I managed to land a pretty good job in London.

The thing is, I see it as complementary. Having certs or a degree doesn't mean you are a coder. It just gets your foot in the door.

Remember, OP at this stage has no experience and no qualifications. He needs SOMETHING on his CV in order to at least get an interview. Some of these coursera courses have you publish your work to Github in order to be graded anyway.

Longer term, when he is more established, he can look at working on his own stuff for Github.

I don't think certificates are a replacement for Github or a replacement for a degree, but they are useful. Especially in the modern age, where education is pretty expensive.
 
Gigabyte AERO 15 connected to 2 x external monitors.
 
Nobody works in those languages. In my nearly 13 years of development experience, I have come across one little tool written in F# and not a single job advert for any functional language.

I think we are all thoroughly confusing OP now! But, OP, long and short is that it doesn't matter too much. At this point, you don't know enough about programming for it to matter. Pick one or two of Java, Python or C# to start. Spend 6 months working with it. Write a website or two. Then choose another one of those three and learn it. You'll get the hang of it.
That only means you have limited your "experience" :rolleyes: to what you know.

Its certainly not a reflection of the prevalence of functional programming, F# and any other FP language.
Worldwide incl. USA FP languages rank as the highest paying, and jobs are widely available incl. remote.
 
I second getting a desktop, unless if you need to be mobile for some reason.
You'll get a lot more PC for your R.
 
Top
Sign up to the MyBroadband newsletter
X