contact
kedzierskidawid [email protected] +48 732 005 558about me
since i've learnt display: grid
and display: flex
i've forgotten how to center elements vertically other ways
i often confuse Array.prototype.includes()
with Array.prototype.contains()
and i almost never remember if Array.prototype.filter()
gives elements which passed the test or the opposite
i'm yet to drop a prod database
i'm very good at doing R&D and PoC
under my leadership many professionals have been promoted to positions such as principal developer, team leader, tech lead, senior developer, and more
i know how to manage multiple projects simultaneously
i know how to work under pressure, when deals worth many $$$ are at risk
i know how to optimize stuff (-70% of bundle size in my former projects, TTM faster up to 2.7 times, or CI/CD from ~2.5 hours to ~25 minutes)
i think we focus way too much on managing complexity, rather than on achieving simplicity
i use only dark themes because bugs are attracted to light
i was a speaker on NG Poland and JS Poland confs, a guest in tech podcast, an so-called expert in public radio
visit my LinkedIn profile or blog archive, or email me for more
guideline
- it depends
- new systems mean new problems
-
[a]ny large system is going to be operating most of the time in failure mode
- there's no silver bullet, but my partner is always right
- any practice taken to the extreme can by harmful
- DRY, but only with The Rule of Three
- The Boy Scout Rule, but only as first make the change easy, then make the easy change
- prefer duplication over wrong abstraction
-
[p]remature optimization is the root of all evil
- simplicity - the art of maximizing the amount of work not done - is essential
-
[e]asy things should be easy and hard things should be possible
- good enough architecture, because everything in software architecture is a trade-off
- consistency is king (until it's not)
- don't put pressure on things you measure
-
[t]est coverage is a team metric, not a management metric
- slow is smooth, smooth is fast
- Continuous Integration only works if you integrate continuously
- the schedule should be primarily managed by manipulating scope
- PM shouldn't attend daily Stand Ups
- collective intelligence beats individual intelligence
- people need recognition more often than feedback
- done is better than perfect
- clear is better than clever
- beautiful is better than ugly
- explicit is better than implicit
- simple is better than complex
- complex is better than complicated
- prefer compile-time checking over run-time checking
- ideally, a program should be statically type safe
- prefer immutable data over mutable data
- prefer composition over inheritance
(not so) FAQ
- are you in Snickers or Milky Way team?
- Milky what?
- what do you think of Micro Frontend?
- it's a pure evil
- what's your favourite music album for cooking?
- Infinite Disco by Kylie Minogue - impossible not to move your butt
- how do you evaluate source code quality?
- classic WTF per Minute works for me
- do you experience Impostor Syndrome sometimes?
- yup, nothing cool
- do you play any video games?
- for some irrational reasons i love simulators, bus, train, euro truck, and my fav - farming; i have lots of ideas for harbor crane simulator, i can be your product manager with easy
- what's Brutalist Design?
-
LMGTFY.
Brutalism in web design is a crude, plain, and transparent style that prioritizes functionality over form and effectivity over aesthetics. It's characterized by its raw appearance and extremely simplistic and minimalist approach.
also, it's my fav - do you like Open Source?
- especially under Don't Be a Dick Public License and Do What the Fuck You Want To Public License although it's sad how many multi-million or billion dollar companies only get from, never put into
- what to do with that annoying yet super rare issue in my application?
- have you heard of Ostrich Algorithm? works for me
- what do you think of “throw early, catch late” strategy?
- why even bother? try Crash-only Software
- progressive enhancement or graceful degradation?
- rapid unscheduled disassembly is too easy with graceful degradation
- what is SOLID?
- it's an acronym of principles rarely, properly understood by devs; when asked, everyone follows SOLID of course, but do they follow TDD, or don't make shortcuts in a hurry? Robert C. Martin isn't always right apparently
- if not SOLID, then what?
- CUPID? common sense?
favourite tech
- distributed algorithms because i love everything what's distributed
- TCL was the most pleasant language i worked with so far
- Angular because it gives me everything i need and because it's opinionated; and since v14 it's better and better
- Lit 3 because it's simple and elegant, and i like the way it utilizes Web Platform features and concepts
- Astro because it has it all, love at first sight
- Cloudflare because it gives blazing fast experience, is very generous in its free plan, and that's the only platform i'm not getting lost into
- TypeScript because just look at my guideline
- WebRTC because P2P is awesome, especially in mesh model
- WASM because it's freaking amazing that we can run C library to convert video, and run an AI model with a C++ runtime directly in the browser
from others
-
[Dawid is] a humble individual who asks the right questions, shares openly and delivers in the "right" way rather than a formulaic & prescribed approach - there is much to be admired in Dawid.
-
One of Dawid's standout qualities is their courage in decision-making. They fearlessly tackle challenges and make well-informed decisions, even in uncertain situations. Their ability to take calculated risks and stand by their choices has inspired us to approach obstacles with confidence and resilience. (...) They are transparent and forthright in their communication with the team, fostering an atmosphere of trust and authenticity.
-
Dawid's unique blend of approachability and methodical precision in tackling intricate technical challenges while simplifying processes has been truly remarkable. Throughout our collaboration on multifaceted projects, Dawid consistently demonstrated his ability to craft approaches that harmonize user experience without compromise, consistently delivering valuable features ahead of schedule.
-
Dawid is straightforward and honest, while remaining tactful and respectful. (...) He's not afraid to take (calculated) risks and to experiment with various approaches before deciding on the best one. (...) He makes sure everyone feels heard and empowered. (...) [A] truly inspirational leader with a high level of emotional intelligence, beli[e]ving in his team and in himself.
-
I wholeheartedly recommend Dawid as a phenomenal team leader and Angular developer. (...) [Dawid] inspire[s], educate[s], and foster[s] collaboration, making [him] an invaluable asset to any team.
visit my LinkedIn profile for many more
wishlist
list of things i would love to try someday
- Blazor because i was always repeating that i miss WASM-based framework for web applications
- probabilistic data structures because it's so cool! just think, non-deterministic and unprecise data structures?!
- blockchain because i love everything what's distributed
- Javy because the idea of compiling JS to WASM is ridiculous at first glance, but the more i think about it, the more i like it, and the more cases i see
- OpenFGA because relationship-based access control seems so refreshing
- WebAuthn because regular passwords were the wrong choice from the beginning
favourite packages
- patch-package saved me many times and many $$$
- kill-port who remembers all those Linux commands anyway
- thefuck just brilliant
- Shittier so ridiculous, love it
- Partytown for its synchronuos DOM access from Web Workers
- Motion One for its hardware acceleration and the fact that it's built on top of Web Animations API
favourite links
favourite quotes
-
The major problems of our work are not so much technological as sociological in nature. (...) The main reason we tend to focus on the technical rather than the human side of the work is not because it's more crucial, but because it's easier to do.
-
In software development, “perfect” is a verb, not an adjective. There is no perfect process. There is no perfect design. There are no perfect stories. You can, however, perfect your process, your design, and your stories.
-
We choose to go to the moon. We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organise and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.
-
If you keep your code clean during normal times but make messes in a crisis, then you don't really believe that messes slow you down. If you pair in a crisis but don't normally pair, then you believe pairing is more efficient than non-pairing.
-
Simplicity only makes sense in context. If I'm writing a parser with a team that understands parser generators, then using a parser generator is simple. If the team doesn't know anything about parsing and the language is simple, a recursive descent parser is simpler.
-
From time to time in the years to come, I hope you will be treated unfairly, so that you will come to know the value of justice. I hope that you will suffer betrayal because that will teach you the importance of loyalty. Sorry to say, but I hope you will be lonely from time to time so that you don't take friends for granted. I wish you bad luck, again, from time to time so that you will be conscious of the role of chance in life and understand that your success is not completely deserved and that the failure of others is not completely deserved either. And when you lose, as you will from time to time, I hope every now and then, your opponent will gloat over your failure. It is a way for you to understand the importance of sportsmanship. I hope you'll be ignored so you know the importance of listening to others, and I hope you will have just enough pain to learn compassion. Whether I wish these things or not, they're going to happen. And whether you benefit from them or not will depend upon your ability to see the message in your misfortunes.