The beautiful thing about software is that it can be built anywhere. Build personal software projects to make yourself more lucrative to employers or even improve at your current job.
The applications our current team develop are targeted for individual users only and most of our projects are centered around building complex business logic rather than scale. So there is less scope to gain experience on concepts such as parallel processing, concurrency, caching or similar. What are my options to become really good at these skills if I am not working on these on a day-to-day basis?
I am a frontend focused full-stack engineer with 7 years of relevant experience in the frontend engineering space and a total of 12 years of experience. I am not able to decide where should I invest my time when working on side projects. Should I start picking up mobile(Android/iOS) or continue to sharpen my skills in the frontend development space? To put it another way, should I invest my time in going depth in my current domain or should I invest time learning mobile UI development as that has gained more traction and is viewed as more valuable skill?
I think I am unable to decide whether to go about developing my skills in breadth or depth.
When learning new things, I often find that I don't know this, don't know the best practice in that, and so on. If I go down these rabbit holes, a lot of time is spent and not much progress is made in the original project. If this is a scene at work, usually there are external factors to guide you not to go down these rabbit holes, be it the deadline on a task or advice from colleagues. But how to manage this while building side projects? Especially, time after work is equally precious that you sacrificed doing other things to build a skill, and progress gives motivation. But at the same time, going down these knowledge rabbit holes also builds knowledge, and be more niche. How would you trade off knowing everything vs progress in side projects?
The context: I am looking for a startup to join and realized that most of the opportunities are with NodeJS and TypeScript.
I've been working mostly with .NET for quite some time but JS/TS are not new to me. In fact, TS is written by Microsoft and probably because of that, the syntax is very close to C#. So, I don't see big issue here. But NodeJS is a different world. I have some professional experience with it but don't know it deeply.
I understand if you are a good SWE the stack doesn't matter that much. But we are talking about finding a job here. I will have to convince the interviewer I can do it. And the questions will go for sure deeply about Node env. My motto is if the interview is tough, there is a higher chance that there will be more talented people than usual. But tough interview will make it even more impossible to me.
What are the opportunities?
Or smth else?
I'm a Data Engineer looking to break into FAANG. As such, my time outside of work right now is spent applying to jobs, asking people for referrals, and networking. When I have interviews, my focus shifts to Leetcode.
I really want to build a side-project though both because it's fun and because it will help me perform better at future jobs.
My (common) issue is this: where do I start? Not in terms of the problem I am solving. I have a super-smart friend who's a lawyer and an MBA who's into fantasy sports and he has neither the time nor the ability to create an app. I feel like I could just generate a bunch of different ideas with him and pick the one most interesting to me.
I mean in terms of tech area. Alex and Rahul are both mobile developers and that naturally lends itself to great apps. I know Alex has mentioned that in a vacuum, it's better to focus on front-end for side-projects. I have no experience with front-end or mobile, some back-end dev experience and a fair bit of data.
I could build a data eng project. Start Data Engineering has some great projects on his blog () and there's definitely plenty of examples online (e.g. ).
My question is whether I should build a DE project. I'm not particularly wedded to DE because I feel like I want to do more SWE work and less business analyst work. Above all, I want to get into FAANG for the boost to my learning, career, and comp. DE is prob the easiest way of getting there but again, not wedded to it.
So I see my options as a) doing a DE project (maybe using the projects above to get my feet wet); b) doing a full-stack project (hard to do a back-end only project I think); c) mobile? (Alex and Rahul are tempting me).
Is there any advantage to mobile over a web-dev project?
If I do b or c, I'm concerned about falling into tutorial-hell or at least taking too long to learn before building. I'm tempted by a full-stack course like Zero To Mastery's full stack course, but it's 40 hrs, and I know it's prob not necessary.
Just want to add that I'm a newb for side-projects and I'm aware that I can and will experiment with multiple project types once I get started.
Sorry for the unstructured thoughts here. My brain works on NoSQL, not SQL ;)
I'm sure Alex and Rahul talk about this in their , but wondering how to write clean code, particularly in the context of someone who doesn't have technical people available to review my pull requests in my work or in side-projects.
I'm sure this skill is almost entirely developed by working with talented people and writing a lot of code, but is there a place for resources like "Clean Code" the book or courses on Udemy?
Even though starting to work for a big company like Meta, Amazon, Google, etc. I believe is a hard to achieve (I haven't work for) somehow it looks pretty straightforward. Learn for interview, get the job, level up. Yes, I am sure it's hard and not many will do it but still you know what should be done (yes, may don't know how). But let me tell you a different story:
I work in a not that famous country in the EU and non of the top tech companies is there. Actually 90+% of the companies are outsourcing companies. As a SE with 10 years of experience in the outsourcing world I can tell you how it works: you work on a legacy code which is so old and so bad (hundreds of people have tried write code there) you can't see good practice at all, no code reviews (sometimes there is bad it is very rare), no unit tests, performance review is only about client's feedback and so on, you got the point. It's about the money only and nobody cares if you are good or not if the client is happy. In very rare cases I have started something from scratch but all of my colleagues were so bad progmmers like myself that we messed up all. It's a deadlock. After 10 years I realized I am a bad programmer and I've seen so many bad practices that I have no passion to do anything anymore. Now to the questions:
The ultimate goal of my career (and maybe in life) is to fill the gap not only in my skills but to create a company (product based or outsourcing) where everyone who join to have a chance to become a great programmer. But before helping others, I need to help myslelf. This is how I found Taro.
My goal is to transition into a SWE role, but something I've struggled with is making the building of software projects more digestible. A lot of the time I'll look at some project I have to build, and I just don't know where to start or how to figure out what to do. Any tips on how to make this process less scary?
Hello! Just joined this community yesterday and the information I've seen so far is invaluable! This platform truly is unique!
My question is about the overwhelming and sometimes contradicting information for front-end engineering. I was a backend engineer for 1 year and then switched to a frontend engineer within Mastercard since I love the design and visual aspect of it. It is much more gratifying. We work with Angular in mastercard but I feel like my skillset is very specific to our codebase. I am good at debugging (cause that's what most of my work is recently) but I don't know how that can transfer to other jobs. I also feel like Angular is an older framework. I want to join a proper tech company next year (outside fin-tech) as a senior front-end engineer. What do I need to do to get there?
Should I dive deep into Angular and make tons of projects with Angular? Should I learn React or some other frameworks and make projects with those? Should I look into full-stack roles and brush up on backend (Java)? All of the above??
I am a bit lost and any guidance would be appreciated!
I am working on a side project. I may use GCP or AWS for it.
tldr of the system : Create a web ui to process input files and generate a tabular output giving the link to the dashboard .
I have a bunch of files generated , about 2GB in size in total , Account ID is the high level directory and inside each account there 50 log files each having specific content .
I want to create a UI using Angular framework . Using the UI I will upload the files to GCS /AWS S3 . Then the backend should trigger complex backend scripts, written will be written in Python or Java and then output file is generated. Using the output file a dashboard with few images embedded is generated.
In the end the UI should have a table which should indicate status of processing to COMPLETE and in another column show point to url of the dashboard.
I want to deal with least amount of security work as I want to avoid studying Oauth 2.0 authentication .
Few additional questions , non-system design questions =>
None of my team mates have filed patents. Some Engineers working on ML, Computer Vision have filed lot of patents. I don't have experience in ML and its difficult to get into these teams as a beginner in ML. I am working in Insights team and building recommendation systems(Its in primitive stage, hardcoded rules). I have been trying to read lots of articles, what other companies are doing, recent ML work on recommendation systems but I am failing to come up with an idea that I can apply to our use case as I don't see similar use case outside. I don't have research engineers/scientists to talk to in my org. Filing a patent is not a requirement for my job role. I just want to do it out of interest. I am stuck. Could someone please provide insights on how I can move forward to think bigger?
I appreciate the value of side projects mentioned on Taro, and I'd like give one a shot. Whenever I've looked before, I got caught up in not finding ones relevant to my work. I work on the backend side, working in the machine learning infrastructure/ops space. That's literally the example used in the side projects video of one where it's hard to do on your own... so is it still worth doing a side project? Maybe one in a similar language (C++), even if it's not related?
I feel like I'm just not being creative enough here, but I'd rather not do a side project that's super unrelated to my area (e.g. learning a ton of frontend to build an app that has a small machine learning component) unless it's still valuable. Maybe to make this more general, how did those of you working on the backend get started with side projects?
I'm applying for jobs now and am concerned that I don't know enough languages. I have a few years of work experience as a Data Engineer, so my bread and butter is Python and SQL. I'd like to get an entry-level role as a software engineer, but am concerned that I don't have the right languages. From what I can see, Java and C/C++/C# are the main languages asked for in job apps. Do I need to do a side project using these languages so I can add them to my resume? Or should I only apply to Data Engineer roles?
Currently working full time as an Android Developer but also running a small consulting gig on the side. Main reason at the time was to have another income stream.
Now I am torn between keeping both jobs, quiting the full time and going all in on my company or dropping my company.
For me personally it is a difficult choice because I am driven to achieve what my mind sets out to do but lately I have not been enjoying work like I used to. In the end the decision is mine to make but I would love some guidance.
For people who work on side projects: I was wondering what is your system when it comes to coding at work and then coding after work? How do you divide your time effectively between the two?
I'm a self-taught, aspiring Android engineer, looking to land my 1st full-time role. I have around 4 hours a day to learn software development, and I'm wondering how I can spend my time the most efficiently. Here are the 2 core things I want to understand how to balance my time between:
Lately, I have been finding myself with a lot of free time and am unable to shake this feeling that I am not "doing enough." After finishing my school work, I usually just go to the gym, hang out with friends, or play video games.
Is there anything else I can do to further improve myself as an engineer and set myself up for success later on? Perhaps some books or resources to read.
I've tried working on some side projects, but honestly find it hard to follow through with them due to lack of urgency with no deadlines and prior fatigue from working on school assignments.
For context, I mainly work on the web-side, building customer-facing surfaces. I don't want side projects to be something like DSA where it's good for interviews and that's it.
The concept of side projects makes me think of Flappy Bird when it came out. It seems like it started off as a side project, so this is all interesting to me and would love to learn more about the benefits.
I was inspired by the gamification on Duolingo, which is a language learning app with a "daily streak" mechanic. The incentive to do something in the app every day has been very powerful for me - I have a streak of 200+ days!
I want to bring this idea over to an engineering context, creating an app called "Leetfriends". The purpose of the app is to have friends share with one another their Leetcode streaks, using social pressure to encourage consistency for everyone. I’m hoping that the app does well, so I could include it in my portfolio and boost my job prospects. How do I best go about this app?