🗞 Dev Newsletters
Staying up to date with the latest news and resources in your field can be a challenge, but thanks to the power of the internet, it's never been easier. In this article, I'll introduce you to some of the newsletters that we're following and the valuable resources they offer.
First up is the Hacker Newsletter, a weekly newsletter that provides a roundup of the best articles, podcasts, and news related to the tech industry. Whether you're a developer, designer, or tech enthusiast, the Hacker Newsletter is a great way to stay on top of the latest trends and developments.
https://hackernewsletter.com/
Next, we have the Coding Heroes Newsletter, which is packed with resources and tips for developers of all levels. From beginner-friendly tutorials to advanced topics like front-end and back-end development, the Coding Heroes Newsletter has something for everyone.
https://codingheroes.io/resources/
Another great newsletter to check out is Josh Comeau's newsletter, which focuses on web development and design. With a mix of technical tutorials and insights into the latest web design trends, this newsletter is a must-read for anyone working in the web development space. The way Josh makes an effort and pays attention to the details is incredible!
https://www.joshwcomeau.com/subscribe/
Finally, we have the Total TypeScript Newsletter, which is dedicated to all things TypeScript. If you're a TypeScript wizard or interested in learning more about this popular programming language, this newsletter is a fantastic resource.
https://www.totaltypescript.com/newsletter
Of course, newsletters aren't the only way to stay up to date. Twitter can be an invaluable resource for finding and sharing helpful resources, tips, and insights. By following the right people and using relevant hashtags, you can quickly discover a wealth of information on any topic.
Staying up to date with the latest news and resources in your field can be a challenge, but thanks to the power of the internet, it's never been easier. In this article, I'll introduce you to some of the newsletters that we're following and the valuable resources they offer.
First up is the Hacker Newsletter, a weekly newsletter that provides a roundup of the best articles, podcasts, and news related to the tech industry. Whether you're a developer, designer, or tech enthusiast, the Hacker Newsletter is a great way to stay on top of the latest trends and developments.
https://hackernewsletter.com/
Next, we have the Coding Heroes Newsletter, which is packed with resources and tips for developers of all levels. From beginner-friendly tutorials to advanced topics like front-end and back-end development, the Coding Heroes Newsletter has something for everyone.
https://codingheroes.io/resources/
Another great newsletter to check out is Josh Comeau's newsletter, which focuses on web development and design. With a mix of technical tutorials and insights into the latest web design trends, this newsletter is a must-read for anyone working in the web development space. The way Josh makes an effort and pays attention to the details is incredible!
https://www.joshwcomeau.com/subscribe/
Finally, we have the Total TypeScript Newsletter, which is dedicated to all things TypeScript. If you're a TypeScript wizard or interested in learning more about this popular programming language, this newsletter is a fantastic resource.
https://www.totaltypescript.com/newsletter
Of course, newsletters aren't the only way to stay up to date. Twitter can be an invaluable resource for finding and sharing helpful resources, tips, and insights. By following the right people and using relevant hashtags, you can quickly discover a wealth of information on any topic.
🗣 Engineering Jargons
As a self-taught software engineer with a couple of years of experience under my belt, I've come across my fair share of jargon that might not be familiar to the uninitiated. In this post, I want to shed some light on a few common words in the engineering world that might not be known in daily life.
Polyfill
A polyfill is a piece of code that provides modern functionality on older browsers or platforms that don't support it natively. For example, if you wanted to use the latest features of JavaScript in a web app, but some of your users are still on older versions of Internet Explorer that don't support those features, you might use a polyfill to provide that functionality for those users.
Dogfooding
Dogfooding is a term that refers to using your own product or service as a way to test and improve it. The idea is that if you're using your own product every day, you'll be more likely to spot bugs and usability issues, and you'll have a better sense of how to improve it.
Iterator
An iterator is an object that allows you to traverse a collection of items one by one, without having to know the details of how the collection is structured. For example, you might use an iterator to loop through the elements of an array or the keys of an object.
Generator
A generator is a function that allows you to pause and resume the execution of a function, which can be useful for things like lazy evaluation and asynchronous programming. In JavaScript, for example, you might use a generator to generate an infinite sequence of numbers or to simulate a long-running operation that needs to yield control back to the event loop.
Mutation
Mutation is a term that refers to changing the state of an object or variable. In some programming paradigms, like functional programming, mutation is discouraged because it can make code harder to reason about and debug. In other paradigms, like object-oriented programming, mutation is more common.
".io" Domains
The ".io" domain is a top-level domain (TLD) in the domain name system (DNS) of the internet. The letters "io" stand for the British Indian Ocean Territory, which is a territory that is under the jurisdiction of the United Kingdom. However, the ".io" domain has become increasingly popular among startups and technology companies, who see it as a way to project a modern, tech-savvy image.
Footguns
A footgun is a term that refers to mistakes or decisions that create problems for software developers and teams, causing them to "shoot themselves in the foot" with avoidable errors. Ex. Overcomplicating a software design by trying to include too many features or functionality, leading to a bloated and difficult-to-maintain codebase.
Pitfalls
"Pitfalls" are common mistakes or oversights that can cause problems or delays in software development and project management. Being aware of potential pitfalls can help developers and teams avoid costly mistakes and increase their chances of success. Ex. Underestimating the time or resources needed to complete a project, leading to delays or missed deadlines.
As a self-taught software engineer with a couple of years of experience under my belt, I've come across my fair share of jargon that might not be familiar to the uninitiated. In this post, I want to shed some light on a few common words in the engineering world that might not be known in daily life.
Polyfill
A polyfill is a piece of code that provides modern functionality on older browsers or platforms that don't support it natively. For example, if you wanted to use the latest features of JavaScript in a web app, but some of your users are still on older versions of Internet Explorer that don't support those features, you might use a polyfill to provide that functionality for those users.
Dogfooding
Dogfooding is a term that refers to using your own product or service as a way to test and improve it. The idea is that if you're using your own product every day, you'll be more likely to spot bugs and usability issues, and you'll have a better sense of how to improve it.
Iterator
An iterator is an object that allows you to traverse a collection of items one by one, without having to know the details of how the collection is structured. For example, you might use an iterator to loop through the elements of an array or the keys of an object.
Generator
A generator is a function that allows you to pause and resume the execution of a function, which can be useful for things like lazy evaluation and asynchronous programming. In JavaScript, for example, you might use a generator to generate an infinite sequence of numbers or to simulate a long-running operation that needs to yield control back to the event loop.
Mutation
Mutation is a term that refers to changing the state of an object or variable. In some programming paradigms, like functional programming, mutation is discouraged because it can make code harder to reason about and debug. In other paradigms, like object-oriented programming, mutation is more common.
".io" Domains
The ".io" domain is a top-level domain (TLD) in the domain name system (DNS) of the internet. The letters "io" stand for the British Indian Ocean Territory, which is a territory that is under the jurisdiction of the United Kingdom. However, the ".io" domain has become increasingly popular among startups and technology companies, who see it as a way to project a modern, tech-savvy image.
Footguns
A footgun is a term that refers to mistakes or decisions that create problems for software developers and teams, causing them to "shoot themselves in the foot" with avoidable errors. Ex. Overcomplicating a software design by trying to include too many features or functionality, leading to a bloated and difficult-to-maintain codebase.
Pitfalls
"Pitfalls" are common mistakes or oversights that can cause problems or delays in software development and project management. Being aware of potential pitfalls can help developers and teams avoid costly mistakes and increase their chances of success. Ex. Underestimating the time or resources needed to complete a project, leading to delays or missed deadlines.
👀 I'm leaving Exadel
Hey there! I hope I've caught your attention. Now, let me share the reasons behind my decision to leave Exadel and join a new company.
First and foremost, it's important to understand the two main players in the IT market: product-based companies and outsourcing companies. Product-based companies focus on developing their own software products, while outsourcing companies provide services to clients. Each type has its own advantages and disadvantages.
Product-based companies often offer more stability and the opportunity to work on cutting-edge technologies. On the other hand, outsourcing companies can provide immediate project assignments, but it's crucial to ensure that the project aligns with your interests and offers genuine excitement.
During my time at Exadel, I found myself without a project for nine months, which meant I was placed on the bench and had to focus on self-study. Although I was paid during this period, the lack of meaningful work took a toll on my motivation and energy. This experience taught me the importance of joining an outsourcing company only if they can immediately provide an engaging project that truly matches your interests.
In general, I appreciate the ecosystem that Exadel has built around its brand. They offer some fantastic perks that are not commonly found in most local product-based companies. These perks include compensation for online courses, internet expenses, gym memberships, and team-building activities.
However, after nine months of being without project at Exadel, I decided it was time to explore new job opportunities in the market. Interestingly, I didn't even have to actively search because I received two offers on LinkedIn from recruiters. One offer came from an outsourcing company, but the project they proposed had questionable viability and was based in Africa. The second offer was from a local product-based company called "Apex Bank," a new player in the financial industry. Intrigued, I decided to take the opportunity and interview with the bank to test my skills.
In the past few months, I had been focusing on learning React and its associated ecosystem. Surprisingly, Apex Bank offered me an "Angular position." Although I hadn't actively used Angular in a while, I refreshed my knowledge by revisiting relevant topics, making me reasonably prepared for the interview. Eventually, I received a job offer from Apex Bank, and after some negotiation, I secured a pleasant job offer. While the position is not remote and doesn't offer additional benefits at the moment, I saw it as an exciting opportunity to venture into the fintech domain. Moreover, considering the scarcity of frontend developer positions in the market, I didn't hesitate much before accepting the offer. I plan to continue exploring React and Angular while dedicating my free time to self-study in backend development.
And that's how I found myself joining Fincube to contribute to the creation of a new bank in Uzbekistan!
Hey there! I hope I've caught your attention. Now, let me share the reasons behind my decision to leave Exadel and join a new company.
First and foremost, it's important to understand the two main players in the IT market: product-based companies and outsourcing companies. Product-based companies focus on developing their own software products, while outsourcing companies provide services to clients. Each type has its own advantages and disadvantages.
Product-based companies often offer more stability and the opportunity to work on cutting-edge technologies. On the other hand, outsourcing companies can provide immediate project assignments, but it's crucial to ensure that the project aligns with your interests and offers genuine excitement.
During my time at Exadel, I found myself without a project for nine months, which meant I was placed on the bench and had to focus on self-study. Although I was paid during this period, the lack of meaningful work took a toll on my motivation and energy. This experience taught me the importance of joining an outsourcing company only if they can immediately provide an engaging project that truly matches your interests.
In general, I appreciate the ecosystem that Exadel has built around its brand. They offer some fantastic perks that are not commonly found in most local product-based companies. These perks include compensation for online courses, internet expenses, gym memberships, and team-building activities.
However, after nine months of being without project at Exadel, I decided it was time to explore new job opportunities in the market. Interestingly, I didn't even have to actively search because I received two offers on LinkedIn from recruiters. One offer came from an outsourcing company, but the project they proposed had questionable viability and was based in Africa. The second offer was from a local product-based company called "Apex Bank," a new player in the financial industry. Intrigued, I decided to take the opportunity and interview with the bank to test my skills.
In the past few months, I had been focusing on learning React and its associated ecosystem. Surprisingly, Apex Bank offered me an "Angular position." Although I hadn't actively used Angular in a while, I refreshed my knowledge by revisiting relevant topics, making me reasonably prepared for the interview. Eventually, I received a job offer from Apex Bank, and after some negotiation, I secured a pleasant job offer. While the position is not remote and doesn't offer additional benefits at the moment, I saw it as an exciting opportunity to venture into the fintech domain. Moreover, considering the scarcity of frontend developer positions in the market, I didn't hesitate much before accepting the offer. I plan to continue exploring React and Angular while dedicating my free time to self-study in backend development.
And that's how I found myself joining Fincube to contribute to the creation of a new bank in Uzbekistan!
🍾5⚡1
Westminster University | 2st semester, level 5
Reflecting on my second semester at Westminster International University in Tashkent, I successfully completed Level 5, undertaking three modules: Information Systems Management, Web Applications Development, and Database System Development.
The Information Systems Management module delved into the business aspects of systems utilized by companies to optimize their daily operations. However, I found the module lacking practical relevance, as we worked with hypothetical data to calculate expenses for hardware and software, which seemed disconnected from real-world scenarios. In my personal opinion, it was the least enjoyable module of my entire academic experience.
Moving on to the Web Applications Development module, we focused on building full-stack applications using .NET and Angular for the front end. I found it puzzling to employ the .NET framework for this module since we were essentially developing a similar full-stack application in the Database System Development module. Additionally, considering our prior exposure to Node.js a year ago, it would have made more sense to deepen our knowledge of the Node ecosystem rather than transitioning to .NET. Overall, I found this module to be somewhat underwhelming.
On the other hand, the Database System Development module spanned an entire year, and I have previously discussed its content in my previous post. During the second semester, we applied our theoretical knowledge to develop a web-based application. This module proved to be the most valuable among the three as it introduced us to triggers, stored procedures, and the utilization of C#'s ORMs. We explored three distinct approaches to writing SQL queries: raw queries, the Dapper framework, and the Entity framework. I consider this module to be the most beneficial and applicable to real-world scenarios.
Although my personal experience with this semester was rather disappointing, my academic performance tells a different story. Surprisingly, I achieved my highest marks during this level. I am hopeful that my final year will offer more engaging and fulfilling experiences.
Reflecting on my second semester at Westminster International University in Tashkent, I successfully completed Level 5, undertaking three modules: Information Systems Management, Web Applications Development, and Database System Development.
The Information Systems Management module delved into the business aspects of systems utilized by companies to optimize their daily operations. However, I found the module lacking practical relevance, as we worked with hypothetical data to calculate expenses for hardware and software, which seemed disconnected from real-world scenarios. In my personal opinion, it was the least enjoyable module of my entire academic experience.
Moving on to the Web Applications Development module, we focused on building full-stack applications using .NET and Angular for the front end. I found it puzzling to employ the .NET framework for this module since we were essentially developing a similar full-stack application in the Database System Development module. Additionally, considering our prior exposure to Node.js a year ago, it would have made more sense to deepen our knowledge of the Node ecosystem rather than transitioning to .NET. Overall, I found this module to be somewhat underwhelming.
On the other hand, the Database System Development module spanned an entire year, and I have previously discussed its content in my previous post. During the second semester, we applied our theoretical knowledge to develop a web-based application. This module proved to be the most valuable among the three as it introduced us to triggers, stored procedures, and the utilization of C#'s ORMs. We explored three distinct approaches to writing SQL queries: raw queries, the Dapper framework, and the Entity framework. I consider this module to be the most beneficial and applicable to real-world scenarios.
Although my personal experience with this semester was rather disappointing, my academic performance tells a different story. Surprisingly, I achieved my highest marks during this level. I am hopeful that my final year will offer more engaging and fulfilling experiences.
⚡4
holy shit..
this dude got served in the middle of his intro to database systems class
https://www.youtube.com/clip/Ugkx9H1k66WE4tYqZnvYDA8_sBT3iXOb_V9S
this dude got served in the middle of his intro to database systems class
https://www.youtube.com/clip/Ugkx9H1k66WE4tYqZnvYDA8_sBT3iXOb_V9S
🤣2
Forwarded from Влад Тен (Vlad Ten)
https://t.me/vladnineplusone
https://www.youtube.com/@vladnineplusone/videos
Computer Architecture
http://csapp.cs.cmu.edu/3e/home.html
https://www.cs.cmu.edu/afs/cs/academic/class/15213-f16/www/schedule.html
OS + Networking
https://pages.cs.wisc.edu/~remzi/OSTEP/
https://beej.us/guide/bgnet/
http://gaia.cs.umass.edu/kurose_ross/index.php
Databases
https://www.youtube.com/@CMUDatabaseGroup/playlists
Security
https://pwn.college
https://web.stanford.edu/class/cs253/
Algo + Math
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/video_galleries/lecture-videos/
https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-fall-2010/video_galleries/video-lectures/
Distributed Systems
https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable-ebook/dp/B06XPJML5D/?redirectFromSmile=1
https://www.youtube.com/watch?v=cQP8WApzIQQ&list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB
https://teachyourselfcs.com
https://www.youtube.com/@vladnineplusone/videos
Computer Architecture
http://csapp.cs.cmu.edu/3e/home.html
https://www.cs.cmu.edu/afs/cs/academic/class/15213-f16/www/schedule.html
OS + Networking
https://pages.cs.wisc.edu/~remzi/OSTEP/
https://beej.us/guide/bgnet/
http://gaia.cs.umass.edu/kurose_ross/index.php
Databases
https://www.youtube.com/@CMUDatabaseGroup/playlists
Security
https://pwn.college
https://web.stanford.edu/class/cs253/
Algo + Math
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/video_galleries/lecture-videos/
https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-fall-2010/video_galleries/video-lectures/
Distributed Systems
https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable-ebook/dp/B06XPJML5D/?redirectFromSmile=1
https://www.youtube.com/watch?v=cQP8WApzIQQ&list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB
https://teachyourselfcs.com
so, today I accidentally remembered about my old portfolio websities, a bit cringy 😅
https://mansur-isakov.vercel.app/#/
https://mansur-isakov.netlify.app/
https://old-mansur-isakov.netlify.app/
https://mansur-isakov.vercel.app/#/
https://mansur-isakov.netlify.app/
https://old-mansur-isakov.netlify.app/
Thriving Uzbek IT Communities: Connecting Developers and Fostering Growth
In this post, I am excited to delve into the IT communities in Tashkent, where I have been a participant. These communities provide an excellent platform for developers to connect, exchange knowledge, and expand their professional network. Engaging with like-minded individuals not only keeps us up-to-date with the latest trends but also cultivates an atmosphere of camaraderie and support.
NgTashkent - Uniting Frontend Developers:
One of the most welcoming and engaging IT communities in Tashkent is NgTashkent, which focuses on Angular-based development. This community primarily caters to frontend developers, offering a supportive environment where they can share ideas and collaborate on projects. NgTashkent organizes weekly meetups, aptly named ngZavtrak, where members gather for breakfast, further fostering a sense of community and bonding.
AWS User Group Tashkent - Unleashing the Power of AWS:
For those passionate about cloud services and AWS, the AWS User Group Tashkent is the perfect destination. This community provides invaluable opportunities to learn about AWS services and engage in practical workshops. By joining this group, developers can enrich their skills in cloud computing and stay ahead in the fast-evolving world of technology.
tasdev.talks - The Ultimate Developer Hub:
Tasdev.talks stands out as the go-to community for all developers in Tashkent. Here, members can freely inquire about anything related to IT, programming, or even seek advice on the best table for work! It serves as an invaluable resource for discovering job opportunities and staying informed about upcoming meetups and events. The collaborative spirit within tasdev.talks empowers developers to thrive and create lasting professional relationships.
Beyond local communities, I frequently follow English-speaking bloggers like Primeagen and Theo T3. Spend your lunchtime with videos which offer a delightful blend of humor and practical insights, making them an enjoyable and educational way to spend time.
In this post, I am excited to delve into the IT communities in Tashkent, where I have been a participant. These communities provide an excellent platform for developers to connect, exchange knowledge, and expand their professional network. Engaging with like-minded individuals not only keeps us up-to-date with the latest trends but also cultivates an atmosphere of camaraderie and support.
NgTashkent - Uniting Frontend Developers:
One of the most welcoming and engaging IT communities in Tashkent is NgTashkent, which focuses on Angular-based development. This community primarily caters to frontend developers, offering a supportive environment where they can share ideas and collaborate on projects. NgTashkent organizes weekly meetups, aptly named ngZavtrak, where members gather for breakfast, further fostering a sense of community and bonding.
AWS User Group Tashkent - Unleashing the Power of AWS:
For those passionate about cloud services and AWS, the AWS User Group Tashkent is the perfect destination. This community provides invaluable opportunities to learn about AWS services and engage in practical workshops. By joining this group, developers can enrich their skills in cloud computing and stay ahead in the fast-evolving world of technology.
tasdev.talks - The Ultimate Developer Hub:
Tasdev.talks stands out as the go-to community for all developers in Tashkent. Here, members can freely inquire about anything related to IT, programming, or even seek advice on the best table for work! It serves as an invaluable resource for discovering job opportunities and staying informed about upcoming meetups and events. The collaborative spirit within tasdev.talks empowers developers to thrive and create lasting professional relationships.
Beyond local communities, I frequently follow English-speaking bloggers like Primeagen and Theo T3. Spend your lunchtime with videos which offer a delightful blend of humor and practical insights, making them an enjoyable and educational way to spend time.
I've joined Payme as a Software Engineer!
https://www.linkedin.com/feed/update/urn:li:activity:7099287922360614913/
https://www.linkedin.com/feed/update/urn:li:activity:7099287922360614913/
Linkedin
Mansur Isakov on LinkedIn: #newjob #softwareengineer #payme | 21 comments
🚀 Thrilled to share that I've joined Payme.uz as a Software Engineer! Excited to contribute my skills to this dynamic team and create impactful solutions… | 21 comments on LinkedIn
Here's the #1 mistake of junior developers who are looking for a job/internships - no one gonna help u find a job in such a way.
change my mind
and here are some of the ways that could possible help u to find your first job
- Go to IT events alone, like seriously, do not invite your close friends -why? Because you can talk with them at cafe, university and so on. However, at such events, try to talk to strangers as much as possible! Tell them about your current experience and get their contacts (not on instagram, get their github or linkedin). Ask about possible opportunities in their companies, ask for a possible interview/internship
- Contribute and talk on online communities. Find telegram/discord communites based on your stack or general and communicate with them, share useful materials that may interest others. And the best part is that these guys are likely to share an open position in their companies in these communities, because they may already know u. Some smart Recruters can even hide among community members and call them to an interview to their company, if u act actively.
- Networking is the most efficient way from this list, because the power of knowing someone is like brilliant. Talk to other experienced developers, ask for advice and roadmaps to get better and once their company would decided to hire juniors they will definetly recommend u. Furthemore, for a company to grow junior specialists is a very difficult moment, after good training and growth, a junior specialist begins to look for more profitable offers, and companies are afraid of this. That's why they prefer to call someone that they already know, which may mean less chance of leaving companig after growing up with it, kinda win-win situation.
- And my personal advice, find the companies that u like and where u want to work, then find a specialist who works in the same position as your stack and just talk to him. Find out what kinda challenges he is facing, what kinda duties he/she has, and show interest in their companies. But dont be annoying and dont ask "Hello" questions! Be polite and remain professional. This way, you will get into their field of vision, and at least they will remember you as a potential aspiring candidate.
change my mind
and here are some of the ways that could possible help u to find your first job
- Go to IT events alone, like seriously, do not invite your close friends -why? Because you can talk with them at cafe, university and so on. However, at such events, try to talk to strangers as much as possible! Tell them about your current experience and get their contacts (not on instagram, get their github or linkedin). Ask about possible opportunities in their companies, ask for a possible interview/internship
- Contribute and talk on online communities. Find telegram/discord communites based on your stack or general and communicate with them, share useful materials that may interest others. And the best part is that these guys are likely to share an open position in their companies in these communities, because they may already know u. Some smart Recruters can even hide among community members and call them to an interview to their company, if u act actively.
- Networking is the most efficient way from this list, because the power of knowing someone is like brilliant. Talk to other experienced developers, ask for advice and roadmaps to get better and once their company would decided to hire juniors they will definetly recommend u. Furthemore, for a company to grow junior specialists is a very difficult moment, after good training and growth, a junior specialist begins to look for more profitable offers, and companies are afraid of this. That's why they prefer to call someone that they already know, which may mean less chance of leaving companig after growing up with it, kinda win-win situation.
- And my personal advice, find the companies that u like and where u want to work, then find a specialist who works in the same position as your stack and just talk to him. Find out what kinda challenges he is facing, what kinda duties he/she has, and show interest in their companies. But dont be annoying and dont ask "Hello" questions! Be polite and remain professional. This way, you will get into their field of vision, and at least they will remember you as a potential aspiring candidate.
❤7👍2