I took a functional programming in Haskell course first year in Uni without having much previous programming experience at all. Quite early in the course we were tasked with implementing a huge bidirectional graph and an efficient shortest path algorithm for finding the fastest way between any two nodes.
I hadn’t taken any DSA course and was totally unaware of graphs and shortest path algorithms and the course material was pure Haskell syntax.
I failed miserably and so did most of the others.
Capital M is for Mega.
I would use duration_s and duration_ms.
const duration_ms = 1000 * duration_s
And _us for microsec.
const duration_us = 1000 * duration_ms
But then the tool would probably reject my code for not following the naming conventions which ”disallows using underscores in variable names”.
Guess what I wanted to say is that there are always exceptions to the rule and there should always be some way to turn off the automatic checker for certain sections of the code.
I second this. My impressions so far are pretty much the same.
Have been trying to get ChatGPT to generate code for some algorithms that are pretty close to well known implementations but with some twists and it absolutely fails no matter how much I tried to provide hints to change the suggestions it gave me. In the end I just went back to hand coding them since it actually saves me the frustration of trying to get ChatGPT to bend in the direction I need.
Agreed. A comment can also explain things that a function name cannot.
I’m all for splitting code into paragraphs with a well written comment above each.
Of course I also extract functions, but only when there are obvious benefit, like removing repetition.
I'm having a hard time believing that world's top talent in software development are fighting to get into Swiss banking. What makes you think that the brightest people are striving to get employment at your bank?
My experience is that the expectations on what your average engineer should be able to handle has grown enormously during the last 10 years or so.
Working both with large distributed systems and medium size monolithic systems I have seen the expectations become a lot higher in both.
When I started my career the engineers at our company were assigned a very specific part of the product that they were experts on. Usually there were 1 or 2 engineers assigned to a specific area and they knew it really well.
Then we went Agile(tm) and the engineers were grouped into 6 to 9 person teams that were assigned features that spanned several areas of the product. The teams also got involved in customer interaction, planning, testing and documentation. The days when you could focus on a single part of the system and become really good at it were gone.
Next big change came when the teams moved from being feature teams to devops teams. None of the previous responsibilities were removed but we now became responsible also for setting up and running the (cloud) infrastructure and deploying our own software.
In some ways I agree that these changes have empowered us. But it is also, as you say, exhausting. Once I was simply a programmer; now I'm a domain expert, project manager, programmer, tester, technical writer, database admin, operations engineer, and so on.
Thanks for this comment. A very interesting observation.
Do you have any thoughts regarding American companies that are established in Europe, shouldn't they be able to introduce that American culture in their European offices?
It's hard to answer your question without actually experiencing the differences first hand. It's not like we don't have visible poverty in Sweden. Almost every day I see people digging through the public trash bins for bottles and cans that pays a little for recycling and there are beggars in front of the stores and approaching you on the street asking for a money.
There is however a base pension that each senior citizen is entitled to. About 15% of the elderly only gets the minimal amount which in many cases doesn't cover basic expenses, like rent and food, so they need to be on social welfare as well.
But would I accept a 100% salary increase if it meant that social welfare had to be removed and people couldn't afford a place to live and to put food on the table? Of course not.
Would I like if people that study hard and get well educated also get well paid jobs? Yes!
It’s interesting to see these salary levels. A senior developer (10+ years of experience) here in Sweden is paid less than their entry level salary.
The difference in pay between Europe and the US seems huge. I wonder why.