243 karma · joined January 16, 2019
My blog: wrestlerman.me
to contact me: adam@wrestlerman.me or twitter: @wrestlermandev
To be honest, I am curious myself...
I don't hate CR. Someone below explained it better than me, that different people see the code differently. And you should respect that someone wrote it that way and not try to force your way upon them.
> If you getting bit architectural change problems in your code review, you obviously didn't collaborate with the team very well... People should roughly know what your approach is before the CR even arrives at their door
I agree with it a lot. I think that would solve a lot of problems, but not necessarily the small ones.
After thinking about it, I guess readability is a huge part of it, there are lots, lots of JS packages. And it makes sense for them to be readable, so they could be easily updated by new contributors to remain valid.
Personally, I have really hard time contributing to gems, because of so much metaprogramming in them, I don't feel like spending a week to understand what is connected with what and if my changes can break it.
Why? Writing types isn't that time-consuming... Types will tell you very easily what is expected to be passed to function. Why does it matter so much? Imo in Ruby it's not that common that service calls are deeply nested. In frontend it's opposite. Components are very nested and with all that prop passing sometimes you have search lots of files to understand what's being passed. There are proptypes yup, but if you write proptypes, why not types?
Also data on frontend mostly comes from backend, so many times there is no really good docs for data that is brought from backend. In backend you mostly access 3rd party APIs with docs or your DB, which you can easily access to see what it delivers: )
And I am not even going to mention editor plugins that show you docs with expected types. Much fewer mistakes and easier coding with external packages.
IMO Go is perfect for big companies and somewhat middle companies where they have some heavy traffic that needs to be addressed. I guess Golang is also easier to start with and craft something very fast as opposed to Elixir. (You can check multiple topics on elixirforum.com where people ask why their first-iteration code is slower than that in ruby/python.)
I can be wrong, but I haven't found any golang opinioned-matured web framework, because most of the community is okay with building from the ground up. This may suggest that golang would be preferable in complex/enterprise systems?
I'd choose Elixir for something that has to be done fast and be reliable and open for a lot of modifications that can be introduced without sweating.
My point of view is based on building some simple product in Elixir and doing research. Also, a previous company I worked for had Golang and Ruby stack.
But going back to your question, this is a hard one... Unfortunately, I guess most companies look for experience in a specific framework, not even in a language in senior roles. Probably you would have to find some company and consider pay cut/start yours with the new stack. I think smaller companies may be less picky about your stack. You could also look for team lead roles and practice new stack while leading a team. Sometimes companies let you introduce a new stack, but it has to have a good reason. If you work with django I see no reason for rails.
https://about.gitlab.com/handbook/people-operations/global-c...
Also working on some startup in the cybersecurity industry. The vision we have is really cool, there is a lot of new stuff to learn for me and I feel that contributing to this project will make me a better web dev in general, but especially in understanding web security problems that big companies face. Working along with a somewhat veteran in that field feels really cool. Think when you last worked with a guy that was very passionate about the subject you worked on. Now, this is the type of my guy. A great story is about to unfold: )
I am finishing my first product in Elixir. It has some rough edges like deployment, but I start to like it more than ruby&rails - the code is much more readable and imo easier to write. Surprisingly I feel a bit more productive in it than rails.
I'd say the best tool is the one you know. If you don't know any tool for your specific problems, look for the simplest and most sane solution.
Personally, I am that kind of person that likes to experiment with a lot of languages to have a bigger toolset. So when I visit some subreddit related to a new language and I look for topics that would help me decide if that language is good for what I am looking for, I always find topics with people adoring the language and there is rarely any downsides mentioned. That kind of praise is just counterproductive and I don't understand why other people don't see it that way.
1. Does she really want to learn to code, or does it come from you? 2. Can she write any code? Does she have trouble with just defenitions or coding in general? 3. Maybe JS isn't for her? Maybe show her Python or another language? What I mean is that maybe syntax is a bit confusing to her. 4. Has she tried any books? How does she learn other stuff most efficient? 5. Maybe just let her code and search for problems on the Web? Maybe you are trying to teach her too much stuff at once.
IMO give her more space and help only in the most critical errors at the moment. Let her code, code, and code. You could help her by creating some snippets or cheatsheet that she could print and use next to a keyboard.
When I was first learning Java (at college) I had trouble with understanding a lot of concepts and it took me a long time to finally grasp them. Don't think about that clickbait articles that are all over the internet about people that have learned to code in a few months. They are just clickbait articles, that's all they are. Learning to code is not easy, it takes time, for some a lot of time. If it was easy, a lot more people would be programmers and that's not the case.