This is a weekly roundup of awesome DEV comments that you may have missed. You are welcome and encouraged to boost posts and comments yourself using the #bestofdev tag.
In response to What advice would you give to an unemployed software developer? @jmfayard
outlines a really powerful system:
My wife is in the middle of a career change.
She wants to get inside the IT sector.
I can show you how we are doing it.
1) First we defined a list of job titles that might be a good fit for her: product manager, project manager, product owner, agile coach, ...
2) Next we looked up for people around us that are currently employed with one of those job titles.
One way to do this is via a LinkedIn search:
Search > People
area=Berlin ; title="product manager" ; sectors="..."
3) Next we created a list on Trello of the companies where those people work.
We went on their website to collect basic metadata. For example the
Zalando card contains this:
Zalando: Product As Europe’s leading online fashion platform we deliver to customers in 17 countries. In our fashion store, they can find a wide range of clothing, shoes, and accessories from more than 2,000 brands. Founded in 2008 in Berlin, Zalando SE is Europe's leading online fashion platform and connects customers, brands and partners. https://corporate.zalando.com/en/company/company https://www.linkedin.com/company/zalando/about/ Career https://jobs.zalando.com/en/?gh_src=4n3gxh1 Imprint Zalando SE, Valeska-Gert-Straße 5, 10243 Berlin, Germany E-Mail: firstname.lastname@example.org
4) Then my wife reviewed all of this and asked herself in which companies she would like to be. Asking questions like
- what problem is this company solving?
- is that something that I am genuinely interested in?
- does that sound like a place where I could fit in?
In the end we have three lists, the top-tier where she would really love to work, the third tier where she is explicitly not interested, and the second tier "Why not?".
5) The crucial point is that we do not focus on what online job offers are or not available at any random moment. We focus on which companies she would like to work, and getting to know them very well.
Hi everyone! So, there's quite a large number of misconceptions in this post that I feel the strong need to address. These are coming from someone that has worked with most of the technologies on this list over the years first hand;
- Angular (versions 2-8): 2 things here. For starters, just a quick FYI that 2-way databinding was primarily AngularJS (1) big party trick. And it was strongly discouraged from Angular 2+ onwards as incorrect usage of it led to extreme performance problems. Also, a common trend I've noticed is that Angular 2+ is usually commonly used by extremely large companies and clients (think corporate clients) where Strict Type Checking is far more useful to build scalable applications. So a notable Pro of Angular is it helps build ultra-large applications with less risk.
- AngularJS: As someone that has worked with Angular 1 and +2, there is no way Angular 2-8 is easier to learn than older AngularJS. If learning TypeScript itself isn't a huge hurdle, what will be is the amount of abstractions and reliance on Code Bundlers like Webpack that Angular 2-8 introduced. This itself is a large reason why so many Angular 1 developers chose React instead of Angular 2 as their next framework. A more correct rating would have been setting Angular 2-8 as hard, and AngularJS as medium. Also, you should probably mention that the major reason why AngularJS was dropped was it performed horribly in DOM changes VS newer frameworks like React, Vue, and subsequently Angular 2+.
- Vue and React: Given both Vue and React are both primarily used as the View in most MVC patterns, it makes little sense to have differing cons for both of them. They both need separate libraries to be scalable, and they both allow for incredible amounts of flexibility. However, this also means that too much flexibility can be daunting to beginners.
- Vue: A really nice thing about Vue that is not nearly enough being talked about, is that it takes the very best things of React/Angular (1), and creates a new better, simpler, but still powerful tool. It brings React's flexibility and component driven nature, while adding Angular's custom DOM directives to remove the reliance on often messy HTML-in-JS (JSX) React addd. This brings an unexpected benefit that by learning Vue.js first, you will often have an easier time moving later to React and Angular.
- Backbone: One of the grandaddy's of Front End frameworks, Backbone.js was created as it's name implies, to serve as "the backbone" of your application. It was never intended to be an all-in-one tool like the author assumes. Think of Backbone like another React/Vue. And like React/Vue, Backbone also has libraries that allow building scalable, large applications (see Marionette.js)
- jQuery: I'm kind of worried that this was included on the list to begin with, given it's not even a framework, how quickly it's being phased out, and how what little use cases jQuery had for quick DOM manipulation are now covered by Vue.js
Hope this helps clear up some confusion, other than that it's a great article!
chimed into Which non-computer science degrees apply to skills needed for a career in software development? to talk about the immense power of soft skills:
Degrees regarding knowledge on empathy, conversation & communication — They’re pillars for developers who want to excel at their job. Communication is simply so important!
I'd take a look at TestCafe too. It's similar to Cypress in that it's a non-Selenium based E2E testing tool.
Anecdotally, at my job we initially tried using Cypress but found some limitations that were unfortunately deal-breakers. Cypress seems to have an opinionated view of how you should write your tests. After switching to TestCafe we haven't had any problems.
A downside to Cypress in my opinion is that it seems like it's trying to do too much. In addition to being a full E2E tool, you can write unit/integ tests with it. Which is really nice, but it's hard enough to get that piece of the puzzle right let alone get the E2E piece right too. Mocha and Jest, for example, are solely unit/integ testing tools and both of those tools still have issues...
See you next week for more great comments ✌