Forwarded from oleg_log (Oleg Kovalov)
A day in the life of a professional software engineer
If you’re a graduate interviewing for a software job and wondering what a typical day is like, here’s some notes from what I did last Tuesday. It was a pretty typical day.
First, as soon as I got to work I realized the night shift had set the linked list up backwards. Doh! I quickly went to the whiteboard to figure out how to reverse it. This won’t be a problem much longer as our team is switching to a double-ended linked list soon. We’re presenting to management about it next week.
I grabbed the first task from my work queue: One of our customers has a long string, and they need to find whether a smaller string is contained within it. This is our bread-and-butter as software engineers. I quickly coded up a Rabin-Karp search with a rolling hash, and had the answer for them by 10am.
Coffee, then task two: The QA team rejected the sort implementation I did last week. I’d written a basic Bubble Sort, and QA wanted to beat O(n2) for the average case. No problem, I switched to a Merge Sort and was done by lunchtime.
That reminded me that I hadn’t finished my Big O calculations for the design review later this week, so that was my first task after lunch. Junior engineers only do the ‘n’ part, but as a senior I do the constant as well. I have three more functions to calculate.
Greg, my colleague came over, he needed help balancing his tree. He’s using a Red-Black; those are tricky. After a quick consult with Dave our lead engineer, I helped Greg switch his design to an AVL. He has a lookup-intensive use case, so it’s a better match.
And that’s it, I headed for the bus station and home. But wait, my day wasn’t over! The bus driver’s watch was broken, and he needed to time 15 minutes. Luckily I had with me two ropes of varying density, both of which burn for exactly one hour…
https://www.darkcoding.net/software/a-day-in-the-life-of-a-professional-software-engineer/
If you’re a graduate interviewing for a software job and wondering what a typical day is like, here’s some notes from what I did last Tuesday. It was a pretty typical day.
First, as soon as I got to work I realized the night shift had set the linked list up backwards. Doh! I quickly went to the whiteboard to figure out how to reverse it. This won’t be a problem much longer as our team is switching to a double-ended linked list soon. We’re presenting to management about it next week.
I grabbed the first task from my work queue: One of our customers has a long string, and they need to find whether a smaller string is contained within it. This is our bread-and-butter as software engineers. I quickly coded up a Rabin-Karp search with a rolling hash, and had the answer for them by 10am.
Coffee, then task two: The QA team rejected the sort implementation I did last week. I’d written a basic Bubble Sort, and QA wanted to beat O(n2) for the average case. No problem, I switched to a Merge Sort and was done by lunchtime.
That reminded me that I hadn’t finished my Big O calculations for the design review later this week, so that was my first task after lunch. Junior engineers only do the ‘n’ part, but as a senior I do the constant as well. I have three more functions to calculate.
Greg, my colleague came over, he needed help balancing his tree. He’s using a Red-Black; those are tricky. After a quick consult with Dave our lead engineer, I helped Greg switch his design to an AVL. He has a lookup-intensive use case, so it’s a better match.
And that’s it, I headed for the bus station and home. But wait, my day wasn’t over! The bus driver’s watch was broken, and he needed to time 15 minutes. Luckily I had with me two ropes of varying density, both of which burn for exactly one hour…
https://www.darkcoding.net/software/a-day-in-the-life-of-a-professional-software-engineer/
Graham King
A day in the life of a professional software engineer
Just a normal day reversing linked lists on the whiteboard.
All of humanity’s problems come from man’s inability to sit quietly in a room alone.
(c) Blaise Pascal
(c) Blaise Pascal
Forwarded from Двач
This media is not supported in your browser
VIEW IN TELEGRAM
Владельцам кондиционеров привет, остальным соболезнуем
“If procedures and functions are verbs and pieces of data are nouns, a procedure-oriented program is organized around verbs while an object-oriented program is organized around nouns”
Звук и изображение можно представить, как матрицу. И это очень красиво! И к тому же удобно.
Вот тут несколько очень простых и наглядных примеров. И то, как с ними работает библиотека питона NumPy.
Один в один матлаб на питоне)
https://habr.com/ru/company/skillfactory/blog/564240/
Вот тут несколько очень простых и наглядных примеров. И то, как с ними работает библиотека питона NumPy.
Один в один матлаб на питоне)
https://habr.com/ru/company/skillfactory/blog/564240/
Jenkins and Glasgow observe that “most programmers work in one language and use only one programming style. They program in a paradigm enforced by the language they use. Frequently, they have not been exposed to alternate ways of thinking about a problem, and hence have difficulty in seeing the advantage of choosing a style more appropriate to the problem at hand”
Я давно слышал про разные типизации:
статическая\динамическая
строгая\слабая
явная\неявная
Но никак не мог сесть и разобраться. А вот тут нашел эту статью и все стало понятно. Великолепная статейка
https://habr.com/ru/post/161205/
статическая\динамическая
строгая\слабая
явная\неявная
Но никак не мог сесть и разобраться. А вот тут нашел эту статью и все стало понятно. Великолепная статейка
https://habr.com/ru/post/161205/
Polymorphism represents a concept in type theory in which a single name (such as a variable declaration) may denote objects of many different classes that are related by some common superclass. Any object denoted by this name is therefore able to respond to some common set of operations.
Поэтому я начинаю работать как раз в 23:45 и как попрет. И пропускаю время, когда я can't focus