Тёмный
Fredrik Christenson
Fredrik Christenson
Fredrik Christenson
Подписаться
I talk about programming and sometimes I even say something.
Is OOP a thing in JavaScript?
10:28
2 часа назад
Feature flags vs feature branches?
10:46
9 часов назад
How to fix constant regressions?
10:53
12 часов назад
How to plan for tight deadlines?
10:57
14 часов назад
When do you coach software devs?
14:02
День назад
How to deal with slow devs?
11:09
14 дней назад
How to write code with few bugs?
13:16
21 день назад
How to overcome the loss of motivation?
10:16
28 дней назад
Комментарии
@brianhourigan
@brianhourigan 21 час назад
Yes I have and I do. More importantly, I never bomb in system design/architecture, low-level design, specific problem solving based on my experience or project based questions.....and those are always of higher value - it's like proving you have worked in large scale systems in production vs studying some algorithm horsehit. I'll take the battle hardened engineer who has broken and fixed production over a theoretical CS goon. (I have a CS bachelors and an AI Masters btw)
@federicobau8651
@federicobau8651 День назад
I agree . One personal opinion about specifically Java devs (or similarly as you say about "mainly javascript" mainly who write Java only), not sure if C# have the same but..they tend to be the dev type that you describe often as "philosphycal" . They tend to have their head full of abstractions patterns, theories and so and in many cases they are blind to understand some scenarios or make things harder than what they are.
@stefantholet4036
@stefantholet4036 День назад
What would your advise be for self-taught javascript developers who have a lot of the knowledge gaps that you describe in this video and are already employed and therefore may not necessarily have all the energy and time to devote to filling those gaps in their free time? How would you use your work environment to get there, given that of course you can also devote some of your free time here and there? Thank you for the videos!
@FredrikChristenson
@FredrikChristenson День назад
A lot of companies care about the personal development of their devs. Usually it is enough to mention to your manager that you want to learn more about backend work. Request to pick up a few stories for backend work as part of your development plan.
@creativedeveloper6921
@creativedeveloper6921 День назад
Having classes in react/redux codebase considers as an anti pattern right ?
@GeneraluStelaru
@GeneraluStelaru День назад
Redux is an antipattern in itself. I've seen projects where the combo has been applied like it's some sort of panacea for every front-end problem.
@majorhumbert676
@majorhumbert676 День назад
In JavaScript/TypeScript, you don't really need classes because you have closures, mapped types, and union types. These features kind of correspond to private fields, open classes, and sealed classes. But the functional style makes more mathematical sense than the object-oriented style.
@SimplyBeingAqui
@SimplyBeingAqui 2 дня назад
I revise to death but 95% of my bombings have been during the programming test. Having a handfull of strangers watch me write some arbitary algorithims on a laptop (first 2 times I used a Mac were in interviews) and environments I'm unfamiliar with can send me up in flames.
@johnm9910
@johnm9910 2 дня назад
these videos exude focus and clarity. very different than most yt channels
@michaelkaren4075
@michaelkaren4075 2 дня назад
I'm quite seasoned with about 20 years of experience but I still bomb some interviews. For example one time I got an unexpected code challenge and got so nervous that I couldn't solve it. Another time I think the interviewer had googled some hard interview questions that really dug deep down into specific knowledge and I got stomped on many of them. I'm also the one that interviews candidates and I usually try to get a conversation going with some open ended questions. Maybe because I like these kinds of interviews best myself where it's not about putting the other one the spot but instead poking around to see where their level is. I mean if you already know you are not going to hire them, why keep tormenting them with hard questions?
@turculaurentiu91
@turculaurentiu91 2 дня назад
The problem I have with feature flags is that it won't shield you from regressions. If you need to re-organise your database in order to enable the new feature, if the re-organisation is buggy, it will break the application in some other part and you ship it directly to production :/
@GeneraluStelaru
@GeneraluStelaru 14 часов назад
Sounds like a project-specific problem.
@datboyquincy
@datboyquincy 2 дня назад
Great vid
@Donnydyrano
@Donnydyrano 2 дня назад
learned a lot, having fun building this though
@GeneraluStelaru
@GeneraluStelaru 2 дня назад
The longest time I've worked on a project is 2 years (and going). The challenge is expanding legacy code (CGI style) and implementing small architectural solutions around it. Neither deal with the problems presented in coding interviews. In a sense, I feel like my experience will not trump somebody who's really practiced solving these coding challenges.
@RedSpark_
@RedSpark_ 2 дня назад
really useful, thanks!
@cuca_dev
@cuca_dev 3 дня назад
I really like your way of thinking and explaining things, can say I agree with most of it and I think it’s really important to newer developers understand what you said about every workplace having their own quirks and tools that being able to work with when inside could possibly be more important than knowing things from the interview. I had successful hiring process where I admitted that I didn’t knew a lot of things they asked for, how much I have read on them and overall just being honest about it.
@datboyquincy
@datboyquincy 3 дня назад
Great vid!
@chralexNET
@chralexNET 3 дня назад
My first thought was that they should use automated tests, especially if they describe that they are experiencing regressions. Interesting to start out with the argument that the developers or technical leadership must be incompetent. It is definitely important to have the people that can solve the issues and tasks that you have. Although, from my experience the incompetence isn't necessarily with the technical staff/management, but the business side of things not letting the technical staff/management implement the appropriate testing "measures". On top of that you can have "developers" that don't have the maturity or integrity to tell management exactly what they need to hear, they'd rather just pretend that they're doing good work earn their wage and then go-off to another company once they feel like they can't hide from the damage they've done anymore, or get so fed up with the shoddy work that they make so that they decide to leave.
@db.....
@db..... 5 дней назад
Go .
@Gingakiller
@Gingakiller 6 дней назад
When starting a new role as a lead what are the first things you would try to figure out/set up in the teams work & workflow?
@FredrikChristenson
@FredrikChristenson 6 дней назад
I usually start with inventory. I spend my onboarding process looking over where the code is, pipelines, integrations, docs and third party services. Once I have these I usually have a rough idea of the state the team is in. Then I try to change something small about the work process to see what the reaction is. Depending on the team they will be open to changes or strongly against it. If I am able to change anything I usually start with getting the basics right, testing is mandatory and code coverage is checked in the CI pipelines. If this goes well, I move on to bigger things.
@jeroenadamdevenijn4067
@jeroenadamdevenijn4067 7 дней назад
I love your videos, keep going, I came up with a question :) I work in a small software company, my boss is very talented and prefers to build many internal tools himself instead of using standardized software. I said himself, but I meant himself and an assisting senior dev. Although he subscribes to the idea of KISS, it makes it too complicated for junior devs who not only are doing dev work for our clients, but also have to use all this non-standardized internal tooling. My boss sees that as an investment, he owns the code repository, but sometimes it sets junior devs and the testers their brains on fire because of the many non-standardized approaches. So the question is, does it reward a company enough to own its own tools or is it better to focus on client needs?
@FredrikChristenson
@FredrikChristenson 6 дней назад
I argue that it comes down to cost vs value. If third party tools are unlrealiable, pricy or in some other way not a great choice for the problem being solved, then it may be worth making your own tools. However it is usually the case that senior devs let their own passion get the better of them. The cost is usually that the system becomes harder to work on for other devs. The true sign of seniority imo, is when a developer is aware of that people of different skill need to work on the code and they make an effort to design their code to be easy to work on regardless of who is doing the work. The easiest way to check if they are doing this imo, is to check if they ask other developers for feedback before they "force" everyone to use their new idea and if they are open to changing their solution if people don't agree with them.
@recycle-bin-camp
@recycle-bin-camp 7 дней назад
Hey Frederick, does it happen at your job that someone writes code with security flaws or doesn't implement the specification completely, but when you talk to them, they don't understand because they can't see the flaw? They don't get it and convinced that it was done in a good way
@FredrikChristenson
@FredrikChristenson 7 дней назад
ofc, software development is a talent industry and some people are better at it than others. Most developers struggle to write "good" code. It is almost unheard of that they know how secure their code is.
@RedSpark_
@RedSpark_ 7 дней назад
Great video, the woodland walk is a very relaxing! :D Where does python fit in this list? I've been learning it for about a year and I'm not sure where to go from here. I have learnt some OOP and have used big OOP frameworks like Django and PyQt but I still have a lot to learn. I'm not sure if it's best to build on my experience with python, or swap to java/c#. I'm also tempted to learn some c++ to build more general programming depth (and build some high performance bits for my python code), but I dont know if that would be better spent on focusing more on backend specifically. Thanks
@Sam-dc9bg
@Sam-dc9bg 7 дней назад
Its interesting because the "successful slacker" narrative takes up much of the bandwidth in SW career advice.
@rexoverwatch
@rexoverwatch 8 дней назад
yes
@taiyc4
@taiyc4 8 дней назад
thanks! yes i think oop is harder than functional programming and hence js is easier to understand than php
@vabalokis
@vabalokis 8 дней назад
What do you think are important features in your mentioned complied languages such as c# or java have over something like php? When i look at the modern php and modern c# for example i dont see that many differences (except for async or generics)
@datboyquincy
@datboyquincy 8 дней назад
Great vid.
@TheMaymu
@TheMaymu 8 дней назад
Thank you so much, that “solid junior” hits so much, ive always felt that way and I thought it was a bad thing…
@DataPastor
@DataPastor 9 дней назад
The guy has a caring boss who wants to motivate his/her people to evolve, and also to make their CV better. If the guy already excels in Azure, then (s)he can pass the test easily. Why complain then? If (s)he has a room for improvement, then the course has a sense.
@xyczz
@xyczz 9 дней назад
or possibly if the person in question is working for a consulting firm and need to convince the companies that are actually in need of the consultants, then it really doesn't matter what your boss or you believe and if you are not willing to adapt to the situation, your company may have difficulties finding jobs for you and that will cost them.
@ikilledthemoon
@ikilledthemoon 9 дней назад
Well I know a great deal about web dev, and I pass the tests that test your ability to build things, but I struggle with LC because I never practice those. The tests are kind of arbitrary a lot of the time.
@recycle-bin-camp
@recycle-bin-camp 10 дней назад
Have you met beginners with graphomania? Developers who think more files are better, more checks against schemas are better, and who can overengineer things to parse a simple .env file into three files, etc.? The path of least resistance is a no-go for them. What do you think?
@FredrikChristenson
@FredrikChristenson 9 дней назад
ofc, there are usually a few in every company. The easiest way to deal with them is to practice your social skills. To stop the impact they have you simply need to disagree with their approach, offer a simpler alternative and then ask them to showcase their solutions to more people. Finally you agree as a team on a solution. Usually the simpler option wins but if you have a whole team of these people, you mention it to your manager and then you move on with your life.
@husenali-b9d
@husenali-b9d 11 дней назад
What's your opinion on game development? I have previous frontend experience. I found its hard to grasp especially c# script of game action. Thanks love from Nepal
@FredrikChristenson
@FredrikChristenson 11 дней назад
Depends on what type of game development you want to do. Various studios use different setups but if you want to get something that will be "easy" to start you off I would suggest Unit or Unreal Engine. These platforms have good support, lots of learning materials and they are used in professional projects. Though it will be very different from FE development. Web FE has little to do with game development, it is usually the backend devs who have the easiest to transition here since most of the code written is done in languages such as C++ or C#. There are ofc more but Javascript isn't really used to the same extent depending ofc on what type of games you are making. If they are browser games, that is another story.
@husenali-b9d
@husenali-b9d 11 дней назад
@@FredrikChristenson Thanks I am learning Unity game engine with c# script. My main focus on mobile games. I m trying to develop 2D small and mini games in the beginning.
@Donnydyrano
@Donnydyrano 5 дней назад
@@husenali-b9d lets build something, I like your thinking
@bladekiller2766
@bladekiller2766 11 дней назад
Hey Fredrik, it looks like you are talking about Microservice architecture and the cross-team communication. I have one question on the blocker problem that you mentioned. How do you resolve scenarios when one (microservice team A) needs to work on changes that depend on other (microservice team B) features that are in-progress? Is the usual resolution to mock the API, or even let the team B to push some of the changes in dev environment so they are usable by team A at least in dev env? Or this is purely management problem, and should've been decided beforehand? BTW, I'm aware of testing patterns such as mocking the other microservices, having local container infra (Docker/Docker-compose/Kubernetes) or even shared remote testing server that is used in dev env.
@FredrikChristenson
@FredrikChristenson 11 дней назад
In my experience the best approach is to mock the interface on your end. You can't finish the feature but you can create a simple stub and create an in memory api client that returns some mocked data. You can i.e build the entire feature on your end and when the other team is done you just need to make the call "for real". The main thing is that you know roughly what the schema will be for the other system so you can can create a faked version that will be roughly the same when they are done.
@cm3462
@cm3462 12 дней назад
Hey Fredrik. Thanks as always for your lovely videos. I have a question: Are product managers for the most part just parasites? From what I've heard, it seems like non-coders are more often than not "in charge" of the actual talent, and furthermore they're the ones making the C-Suite money. Is there such thing as a developer-led company, where the business-school types are relegated to sales and other "support" roles, rather than occupying all the top management spots? And would this be the just and correct order of things in a perfect world? Would love your thoughts, thanks for reading.
@FredrikChristenson
@FredrikChristenson 12 дней назад
Here the key element is who you have as your PM. The wrong PM is about as useful as any administrator in IT. It is a person who can't do much more than host a meeting. The right PM is as important as the right senior. Sadly, there are a lot of development teams who lack the soft skills and business mindset needed to develop IT products in collaboration with their customers and thus they actually need a PM to manage them or they will not know what to deliver. I promote that rather than just hire people based on their role, we should hire people with the needed skillset and that very much depends on the type of project you are working on. I was the PM a while back due to that the product we where making was highly technical and my boss understood that a regular PM would not know how to manage it.
@cm3462
@cm3462 12 дней назад
@@FredrikChristenson Awesome. That's a much more positive scenario than my previous understanding. Thanks for replying.
@003Shashank
@003Shashank 13 дней назад
For me making money is the best feeling as a software engineer 😅.
@peta-stewart
@peta-stewart 13 дней назад
Sound advice
@druidwtf
@druidwtf 13 дней назад
Very well said
@ovatsug5324
@ovatsug5324 13 дней назад
Great video thanks!
@JAMMIM19
@JAMMIM19 14 дней назад
Thank you for taking the time to create these incredible videos. I believe the you have outlined this in this video, but what are some great things that stands out on a front end dev portfolio that separates a junior from mid level dev ? In my previous role I was a jack of all trades dev, but I'm trying to specialise in front-end (React.js)
@FredrikChristenson
@FredrikChristenson 14 дней назад
I have a few videos on this topic. I suggest you treat portfolio projects as a way to get interest for your CV. Most companies determine your seniority level in the personal interview. Make sure you know your tools and the most common ways people use them before you go in to the interview. Not all companies care about your portfolio but they all care if you know your tools or not.
@viscom999
@viscom999 14 дней назад
Tell to the mirror
@Coco__not
@Coco__not 15 дней назад
Beautiful landscape, what country is it from ?
@traviswatson6527
@traviswatson6527 15 дней назад
Biology analogy: you might want to be a really good brain cell, but that's pretty useless when you're still a single-celled organism.
@mntwana64
@mntwana64 15 дней назад
This is the type of advice i find useful, well thought-out and true. Thank you.
@sertenejoacustic
@sertenejoacustic 16 дней назад
Nice video, thanks!
@egor.okhterov
@egor.okhterov 16 дней назад
How to do vocal fry? I can do it only in the morning
@recycle-bin-camp
@recycle-bin-camp 16 дней назад
Fredrik, how long do you think it will take to implement OAuth2 for my full-stack app? It seems like the task is too big; the OAuth2 specification is described in around 17-20 RFCs.
@FredrikChristenson
@FredrikChristenson 16 дней назад
Usually you don't build your own oauth2 server. There are several providers already. Google, Facebook, Github and so on are already available. I have a video where I made a simple one just for fun you can look at. It only has basic features and took a few hours.
@woodmon122
@woodmon122 16 дней назад
It is your job to learn what tools are available to make these implementations. Find out how to setup a keycloak server to implement oidc providers and oauth providers
@Jallallalla
@Jallallalla 17 дней назад
Hi Fredrik, is there an objective way to know if one is a solid developer or on its way to become one?
@FredrikChristenson
@FredrikChristenson 17 дней назад
Depend on if we can agree on that there is an objective way to determine if someone is "good" or "bad" at anything. In sports we compete at various levels and determine skill by a number of factors but we do agree, to some extent, that some athletes perform better than others. The same can be applied to development. If you are able to produce code mostly on time, with few bugs and in accordance with what the desired results are. Then you are a solid developer for most people. Here there is another dimension that needs to be accounted for, width. In sports you can focus on a single activity but in software your job can be as wide as the whole delivery process. Knowing how "good" you are and if you are on track is imo easiest to figure out by knowing if you can do what most of us do in our job and how much of the delivery process you can handle.
@Guruprasad_Bhat
@Guruprasad_Bhat 17 дней назад
Also, not to forget, expectations regarding productivity are never ending. More productive the employee is, better for the company. The next question would be how to effectively deal with being dumped more unrealistic expectations and responsibilities which do not align with developer's interests
@stefantholet4036
@stefantholet4036 17 дней назад
Great video! Maybe you can continue the series by providing some thoughts on what a developer in this position can do to better meet the requirements and become a valuable asset to the company.
@FredrikChristenson
@FredrikChristenson 17 дней назад
I have a few videos on this topic. i.e I suggest that you work at your tech skills and learn the company system domain. The most valuable devs are usually those who can deliver and know how the system ecosystem works.
@m0r4ag
@m0r4ag 18 дней назад
Nothing to do with the video but that place is beautiful.
@bladekiller2766
@bladekiller2766 18 дней назад
What do you mean by "lack of talent"? That's pretty ambiguous word, and I think we should be very careful before judging/deciding whether someone has it. I agree for the other points.
@FredrikChristenson
@FredrikChristenson 18 дней назад
The term can be summed up by asking. Does the person performing the job meet expectations? The same is true regardless of context, I would argue. If they can't do the job in accordance with expectations we have to ask ourselves, are our expectations reasonable given that all factors we can help with have been dealt with? If a unfit person shows up to a marathon, the other runners can try their best to support them and encourage them but it is ultametely the runner who needs to be fit enough to compete at the level needed to finnish the race. Since the other runners are finishing the race we know the expecations are not unreasonable so what is left is the runners capacity. The runner is possibly able to finnish a shorter race but unless we are willing to adjust the entire context to fit that runners level we have to ask them to come back when they are fitter.
@bart5557
@bart5557 18 дней назад
@@FredrikChristenson I'd have to disagree. It is definitely reasonable to discuss their lack of performance and how it is holding others back. However, you cannot judge them for their 'talent' because you cannot possibly judge that "all factors have been dealt with". You don't know what's going on in their lives that are impacting their peformance. It's reasonable to argue that there is only so much we can help with and that they are more of a burden than an asset. However, I'd be very careful with giving value judgement such as "they lack talent".
@bladekiller2766
@bladekiller2766 17 дней назад
@@FredrikChristenson But you are completely misusing the phrase "lack of talent". Talent is a word that is referred to something that usually comes genetically, and something you are born with, but you are talking about things that can be developed and improved. There are a lot of factors that need to be considered before blatantly giving someone "lack of talent". Couple of things that need to be considered: - Missing Technical knowledge - Missing Domain Knowledge (this is very often the reason for new employees if the domain is large) - Bad habits that require correction - Missing knowledge about best practices - Missing debugging skills - Personal issues that have to be addressed, and find ways to fix them - Overloaded with tasks - Motivation issues (lacking proactivity,... etc) - Careless mindset about the job (so many underperformers fall into this one from my experience) If the candidate checks all the boxes above, then there is a possibility for improvement. As last resort you can claim that he lacks talent and it's not gifted enough for the job, but this is rarely the case, and employees are almost firing someone that does not check something from the boxes above, but most of the things above can be improved, unless that person really lacks talent to improve at those. If the "lack of talent" is usually the case for underperforming employee, then you should revise your interview process.
@FredrikChristenson
@FredrikChristenson 17 дней назад
When we appriciate art, do we specificly credit someones "talent", or do we credit "skill"? I am open to split these terms but I would argue that when we evaluate performance the terms are ambigious as they both are needed to produce results. We can also agree that not every factor can be accounted for. However, I hope we can also agree that there is a limit for how much slack we can cut someone before we feel that they have to take some personal accountability. If we did not, criminals would all be forgiven and no child would ever fail a subject in school. Any decent person will try their best to accomodate a fellow human being but however you want to slice it, there is a point where we can no longer excuse poor performance, either because we loose our patience or because we run out of resources.
@bladekiller2766
@bladekiller2766 17 дней назад
@FredrikChristenson in any field usually you can't objectively know what produced the result, whether it's talent or skill/training, usually is mix of both. Of course, you can try to figure out bad performance by helping the employee in the things he lacks. Of course, if after multiple tries, you are not able to help him to be on the right path, you can have a reason to fire him, but that does not mean that he lacks talent. He just does not fit the standard that you require in his position, and ofc, time, resources do not allow you to invest more time. But always, when it comes to that, I would revise the quality of the interview process.
@LukeAvedon
@LukeAvedon 18 дней назад
Good advice!