Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

What is your personal favourite tech stack?

Options
  • 31-08-2017 10:34am
    #1
    Registered Users Posts: 25


    I used to write a bit of frontend code 15 years ago (not now anymore), and I would like to pick up again. Apart from Java and Python, do you have any specific suggestions as to what I should learn?

    On a separate note, what is your personal favourite tech stack? (E.g. Angular or React? Pepsi or Coca Cola?)


Comments

  • Registered Users Posts: 1,148 ✭✭✭punk_one82


    Not sure if you're only looking for web stuff, but my favourite at the minute is Swift/iOS.


  • Registered Users Posts: 11,264 ✭✭✭✭jester77


    punk_one82 wrote: »
    Not sure if you're only looking for web stuff, but my favourite at the minute is Swift/iOS.

    I'll counter that with kotlin/android :D really nice language to work with and it is very very similar to swift


  • Registered Users Posts: 177 ✭✭username2013


    If your looking to get into web development nodejs is a good place to start. Starting off id learn Express as it's an unopinionated framework

    Not saying javscrtipt/node/express is the best framework or anything, but there is a huge community out there if you need any support when you are developing. Also some good courses on udemy for javascript so getting started is fairly easy.


  • Registered Users Posts: 403 ✭✭counterpointaud


    currently liking react/redux on the client, node/hapi on the back-end, postgres for the db, auth0 for authentication


  • Registered Users Posts: 586 ✭✭✭Aswerty


    I can honestly say, as a C#/.NET developer, nothing else out there looks more attractive. The one size fits all approach of this tech stack (e.g. Entity Framework, MS SQL, Azure, etc.) means that everyone in this space works to the same beat. That'd be a problem except most of the major components are as good, if not better, than what you'll find in any other stack. The standard library is phenomenal (so much so that using Node makes me cry when I see what they consider acceptable) and Visual Studio is a very good IDE as long as you're running a decent rig. It's main drawback is up unitl recently you had to use the piece of **** that is the Windows OS - excuse my hyperbole - but now with .NET Core hopefully this beautiful stack can be brought outside the walled garden.

    Of course from a commerical perspective licensing was always a big issue with this stack but considering you'll get MS SQL on Azure for cheaper than you get Postgres on Heroku the cost implications aren't really all that relevant anymore.

    C# itself is just the bees knees - a delighful blend of functional and procedural development styles give you a lot of flexibility in how problems can be approached. Each release of the language brings a blend of conservatism and progression such that I can't but be excited about it's future.

    I mainly do backend web development - and for that - this stack feels rock solid.


  • Advertisement
  • Registered Users Posts: 1,148 ✭✭✭punk_one82


    jester77 wrote: »
    I'll counter that with kotlin/android :D really nice language to work with and it is very very similar to swift

    It definitely shares a lot of concepts with Swift. Our Android app is written in Kotlin, as well as one of our new API's,


  • Registered Users Posts: 25 kenjicpl


    Thanks a mil for the feedback.

    I've heard some of my friends talk about mobile dev as becoming obsolete or niche... do you think Swift or Kotlin (or a next-gen version of them) will be around a decade from now? C# looks sharp.

    Database-wise, should I start with SQL? How did ye go about practicing queries?


  • Closed Accounts Posts: 1,758 ✭✭✭Pelvis


    kenjicpl wrote: »
    I've heard some of my friends talk about mobile dev as becoming obsolete or niche...

    wha?


  • Closed Accounts Posts: 5,482 ✭✭✭Hollister11


    I'm in college atm.

    Is a full stack js, and Mysql good for employees?


  • Registered Users Posts: 6,169 ✭✭✭Talisman


    I'm in college atm.

    Is a full stack js, and Mysql good for employees?
    Generally MySQL goes hand in hand with PHP. Almost every time I have asked the question about why a stack uses it as the database it has been because the tech/developers evolved out of the PHP realm.

    PostgreSQL is worth exploring if you want to diversify your skills - for example projects developed on Python or Rails are more likely to use Postgres. It's a different beast and once you realise the power it offers you might never want to use another RDBMS.

    As for full stack JS - you should know its limits - the NodeJS application crashes when sh!t happens that is unexpected. Knowing how to utilise in memory data stores like Redis and message passing systems such as RabbitMQ is vital to overcome the shortcomings of Node. A lot of the hype around the platform focuses on coding the happy path and leaves the freaky stuff to be discovered by the unsuspecting developer!


  • Advertisement
  • Registered Users Posts: 403 ✭✭counterpointaud


    Talisman wrote: »

    As for full stack JS - you should know its limits - the NodeJS application crashes when sh!t happens that is unexpected.

    I agree with most of your points, but what runtime doesn't crash when some unhandled exception happens? Node does have some shortcomings (tricky to write CPU-bound stuff effectively for example), but not sure it's fair to list this as one of them.


  • Registered Users Posts: 6,169 ✭✭✭Talisman


    I agree with most of your points, but what runtime doesn't crash when some unhandled exception happens? Node does have some shortcomings (tricky to write CPU-bound stuff effectively for example), but not sure it's fair to list this as one of them.
    It wasn't meant as a criticism of Node but to make the poster aware of the environment.

    NodeJS brings with it a level of performance expectation but the developer has to provide the intelligence to make it a reality, sometimes that means knowing when to take a part of the problem out of Node and hand it over to technology that was designed to solve that aspect of the problem. In my experience the inexperienced developers try to do everything in Node and this can be problematic.

    In one instance an ordering system was migrated from PHP to NodeJS to increase the potential throughput. Years before the system had been built using the solid dependable technology of Java and XML, real-time hadn't been invented and data was written to disk. It didn't matter if the backend went offline because the system processed the data in batches. The system was changed to PHP when the company decided to abandon the phone and fax machine in favour of the Internet and PHP was cheaper than using Java.

    The migration to Node was performed by a kid fresh out of college, they knew PHP and had used Node for a college project - what could possibly go wrong? At first things went swimmingly, the new system was much faster than the PHP dinosaur. A few weeks/months later the backend glitched and some data was lost. They rolled their own heartbeat system and all was good again - a second server monitored the first, if the application went down the instance on the second server took over.

    One day there was a glitch in the matrix and file system on the second server went read-only. This was never a consideration and due to the heartbeat implementation the affected server took control - chaos followed. To the outside world the server and application was dead.

    Naive developers or those that don't come with the baggage of previous industry experience can fall into the trap of assuming that if you fire data off to another party that they are going to catch it and everything is okay - this is how the developer achieved a massive speed bump when replacing PHP with Node. The initial data loss incident occurred because they had assumed that the backend service would be always on.

    RabbitMQ and a few lines of code was all that was required and resulted in no data loss.

    The issue could have arisen on any technology stack but it was the "real-time speed" hype and the fact that it could be implemented by a kid who had followed a few online tutorials that put NodeJS in the frame.


  • Registered Users Posts: 1,148 ✭✭✭punk_one82


    kenjicpl wrote: »
    Thanks a mil for the feedback.

    I've heard some of my friends talk about mobile dev as becoming obsolete or niche... do you think Swift or Kotlin (or a next-gen version of them) will be around a decade from now? C# looks sharp.

    Database-wise, should I start with SQL? How did ye go about practicing queries?

    Both Swift and Kotlin can be used on the backend so yeah, I think they'll be around in some form or the other. I don't think mobile will be niche or obsolete in 10 years, but maybe the landscape will look different.


  • Registered Users Posts: 25 kenjicpl


    Thanks a mil. So, mobile also looks like an interesting direction to take!

    There are websites like techstacks[dot]io where they list the most popular tech stacks in industry - do you find these reliable?

    Also, would be great if you could share how you improved your SQL skills.


  • Registered Users Posts: 5,856 ✭✭✭Valmont


    Aswerty wrote: »
    I mainly do backend web development - and for that - this stack feels rock solid.
    I'm kind of starting out in a career along these lines so it is good to hear some optimism about the Microsoft environment.


  • Registered Users Posts: 1,148 ✭✭✭punk_one82


    kenjicpl wrote: »
    Also, would be great if you could share how you improved your SQL skills.

    Like with anything, the only way to improve is to practice. Get good at the basics then progress. Get some well known books/online courses and work through them.


  • Registered Users Posts: 5,856 ✭✭✭Valmont


    punk_one82 wrote: »
    Like with anything, the only way to improve is to practice. Get good at the basics then progress. Get some well known books/online courses and work through them.
    I had only completed some online courses in SQL before getting my current job which asked for 'a strong background in SQL'. I took a chance and created my own small database in a week out of the adventure works stuff and I wrote different queries, updates, deletes, and one basic function. They seemed happy enough that I'd get up to speed based on that.

    You really just have to sit down and write some code, no matter how silly it seems. When I decided to learn to code I spent a day writing a python program to pick my lottery numbers. Codecademy is a great resource for this sort of thing.


  • Registered Users Posts: 1,298 ✭✭✭off.the.walls


    Frontend I mainly work with
    -- Angular
    -- Redux
    -- SCSS
    -- HTML

    Backend I like to mix it up
    -- Python Flask
    -- Node / Express
    -- MongoDB
    -- MySQL

    Packaging and Bundling
    -- Webpack

    Mobile Work
    -- Nativescript + Angular


    I mainly use typescript in my apps now as opposed to pure JS. It makes debugging / type checking much nicer, allows me to more clearly define structures in my apps. In terms of building simple Wordpress stuff I'd still use Angular and use their new REST api in order to interact with the backend, requires minimal PHP. Sometimes if I want to experiment I'll also switch into react to try something new out and try learn new stuff.


  • Registered Users Posts: 8,449 ✭✭✭Call Me Jimmy


    As a computer science graduate who didn't go straight into the industry and is trying to get back into things, I'm finding the whole process of deciding what to learn overwhelming. So many stacks, technologies etc. I know it has always been the case but I never thought about it too seriously when I was younger because a) I wasn't planning a career, b) I used java and then spring mvc in my work experience. So I only had one path. Now I'm not sure whether to stick with what I 'know' or start on some new path. Mainly interested in web development, learning to build web apps backed by databases.

    So many options, any advice in general?


  • Registered Users Posts: 7,498 ✭✭✭BrokenArrows


    renovating my house at the moment so my preferred tech stack is a hammer and spirit level :D


  • Advertisement
  • Registered Users Posts: 177 ✭✭username2013


    As a computer science graduate who didn't go straight into the industry and is trying to get back into things, I'm finding the whole process of deciding what to learn overwhelming. So many stacks, technologies etc. I know it has always been the case but I never thought about it too seriously when I was younger because a) I wasn't planning a career, b) I used java and then spring mvc in my work experience. So I only had one path. Now I'm not sure whether to stick with what I 'know' or start on some new path. Mainly interested in web development, learning to build web apps backed by databases.

    So many options, any advice in general?

    Check out udemy.com. They have loads of great courses, they're not free but a lot of the time you will get 90% off them. Generally always seems to be about $10 or $15.


  • Closed Accounts Posts: 4,436 ✭✭✭c_man


    C++ :) Really happy with the way the language has come along since '11. Bit of Python for the glue of necessary chores but am open to anything comparable.

    C# looks alright, wouldn't mind getting a bit more into it.


  • Registered Users Posts: 2,467 ✭✭✭SweetCaliber


    I currently have a love for Node.js. It's incredibly fast, clean, powerful and scalable.

    Other than that I grew up around PHP (heh) and still love it to date, frameworks such as Slim, Laravel are powerful.

    Don't like Java, never did, never will but it's still a major language.


  • Registered Users Posts: 25 kenjicpl


    Thanks a mil for all the amazing insights!

    These days, I am bumping into a lot of different JavaScript frameworks (Vue, Ember, React etc. etc.) and am a bit confused as to how to choose among them. I am slightly leaning toward React, but would Angular or any other framework be a better choice for a beginner?


  • Registered Users Posts: 768 ✭✭✭14ned


    c_man wrote: »
    C++ :) Really happy with the way the language has come along since '11. Bit of Python for the glue of necessary chores but am open to anything comparable.

    C++ 20 looks to be the next major release, followed by more bugfix dribs and drabs until C++ 26 when the next lot of big features like Metaclasses may land.

    We're still hoping for v2 exception throws for C++ 23. That plus the iostreams v2 should finally eliminate all non-determinism from C++ 26, if all goes to plan.

    I know Rust and Swift are the big fashion recently, but they've been great motivators for pushing C++ forwards. We'll be far behind Rust especially, but coming late to the party means we won't make so many bad design choices as Rust has.

    Edit: Whoops, replied to an old post. Sorry!

    Niall


  • Registered Users Posts: 6,169 ✭✭✭Talisman


    kenjicpl wrote: »
    Thanks a mil for all the amazing insights!

    These days, I am bumping into a lot of different JavaScript frameworks (Vue, Ember, React etc. etc.) and am a bit confused as to how to choose among them. I am slightly leaning toward React, but would Angular or any other framework be a better choice for a beginner?
    React is the best place to start because it is simply a library that is focused on the UI layer.

    Angular is a different beast, there's a lot more to learn and with every release there have been breaking changes. It also relies on TypeScript so there's an additional learning requirement.

    Vue is like a hybrid of the React and Angular. It's a lightweight and more flexible alternative to Angular that uses ES5/ES6 instead of TypeScript.

    Ember is a very opinionated framework which means it has a steep learning curve to become a productive developer. Vue kicks its ass in terms of performance.

    So start with React, after you get a handle on it you may never want to leave its comfort zone. If you are feeling brave move on to Vue and if you are a sucker for punishment tackle Angular. I definitely would not recommend Angular to a beginner.


  • Registered Users Posts: 4,946 ✭✭✭red_ice


    Right now for me its

    Firebase/Firestore for Auth and DB
    ExpressJS API serving ReactJS with Redux
    React-Native with Redux/React-Navigation

    I could just go straight to firebase from reactJS, but I prefer to have that extra degree of separation from my DB

    I'm done with Angular at this point I'm sick of working with it. Vue is just the new thing in dev imo and it doesn't inspire me at all. For me React is the best way to go for dev, it covers all bases and is really easy to get into if you have a basic understanding of components.


  • Closed Accounts Posts: 1,698 ✭✭✭kenmm


    trying out node and ts on the backend right now, as a .net dev of years I am liking it


Advertisement