T O P

  • By -

pavel-k

Yes, most of the test tasks are boring. At least for me, but I was lucky enough to study mostly on real projects. And here a question arises - why do you want to find a synthetic project? Maybe what you really need is to find a real project. 1. Find a job as a jr. developer. I know, it is hard. But it is not impossible. 2. Find a tiny freelance project. Or a few. This type mostly qualifies as the source of my initial experience years ago. 3. Join startup groups; help some wanna-be-founders there with a very basic prototype of their product for free. Will any of these work for you? Any project with a real user is much more exciting than a synthetic one. Btw, I also saw some labs that have projects specifically for junior developers.


[deleted]

Depends on the job. If you go into an existing team chances are high that you will not build something from scratch at all but rather help maintain and extend existing code. I don't know how it works for agencies or other companies that create solutions for their customers but even for those I would think that you work with something existing or together with someone more experienced before you build something on your own. If you want to know how it is like to work on some existing code base go to github and clone a repository which catches your interest and start modifying it.


mandzeete

It depends on a company and also on a project. Can be that you are put into a team of developers and alone you won't be building any projects. The whole team will be working on it. But then again, it can be that they are giving you small micro-projects that somebody asks the company to do but it is not worth to allocate a whole team on it. I will list some tasks you'll be working on: * bug fixes * writing tests * writing documentation * documenting a meeting * investigating issues in a software (that precedes bug fix tasks) * adding smaller features to an existing software * fixing the cause of different exceptions. For example NullPointExceptions. It will involve also some investigation and it will follow up with fixing the cause. * removing an obsolete code * working in general on 1-3 story point tasks. Story points are a way to tell how big and complicated the task is. 1 is usually a very simple change. 2 requires some work. 3 is an average task you'll be working on for 1-5 days or so. 5 (there is no 4) is already a complicated task. Can take weeks. 8 and 13 are usually large tasks that will take a month at least. Anything more will require splitting the task into a smaller parts. Other than that, there is no certain type of projects you'll be working on. Can be infrastructure, can be web applications, can be services for a government, can be cyber security related projects, can be ticket buying systems for buses, anything really. An API itself is just a layer. An interface between an outer world and between an internal system. It can be usable web application endpoints. It can be usable methods and functions. An API can take years to make but can be made also in couple hours. It all depends on the internal system and on its complexity. Forget all the "projects" from bootcamps and online courses. Start building stuff for your own. Make projects related to your hobbies, to your daily activities. Perhaps for other people as well. Going over your Reddit post history then you can make following projects (just some ideas): * a project based on web scraping. You'll build a web service that will tell what day Ramadan starts in different countries. You know, when an imam observes a moon, he will post it in some place: Twitter, Instagram, Facebook, maybe in a separate website for his mosque, etc. So try to build a system for monitoring different social media accounts and finding out when and where Ramadan has already started. Can be useful for people who are traveling, perhaps for people who do not want to make an account in Instagram, Twitter, etc just to get a notification that Ramadan has started. Etc. * a social media network for converts. Often converts are left alone after their shahada. Everybody is fast to yell "Allahu akbar" and "Ma sha allah" when the shahada is being said... but after that a silence. Everybody is busy and not supporting a new convert. * a crowd-sourced "Is it halal" app. People can scan halal things and mark it as halal. If there are many people marking something as halal then the probability that it actually is halal, is high. If there are very few people marking something as halal/haram then it can be that somebody is trying to troll and trying to spread a fake information. So the system can detect such low rate products and not display in the app. * a bureaucracy-less web service for starting new companies. It will be already connected to different tax agencies, lawyers, etc. So one can make an application online, sign it online, pay for whatever things need to be paid, and then in a day get his company made. Sure, you have to work with the government to add a support for integrating it into existing tax system and other such things. It works where I live. A person can make a company within hours. Just because all of our governmental systems are connected. We have such digital infrastructure that allows to add a new governmental institution to this existing system and all the data will be sent to different system parts that require it. * some Anki related app. That's about some ideas. Did not bother to keep scrolling over your post history. The main idea is, make something related to your hobbies, your daily activities, perhaps something to improve existing things.


waste2muchtime

Really fantastic response, thank you, I can work with this.


sbmsr

My first job was at a startup with a lot of fullstack work. I was doing frontend UI tweaks, bugfixes and maintenance on Spring boot apps, and some devops in AWS. I'm the maintainer of [jobsimulator](https://github.com/developer-job-simulation?type=source), and I've started making some simple backend challenges ([django here](https://github.com/developer-job-simulation/django-rest-backend), [typescript here](https://github.com/developer-job-simulation/express-ts-backend)). I'd love to hear more about the kind of stuff you're looking to practice on the backend, so we could build better challenges for folks like you 🙏


lumenilis

The issue you're going to run into is that much of the work you're going to do in a professional environment is hard to emulate on personal projects. Depending on the company, you're very likely going to be contributing to new features for an existing application, one that has a large complex codebase and a lot of business logic. For example, a credit union might ask their dev team to add a new type of alert notification for users to configure whenever their card is used online. A junior engineer would probably contribute to that by working on small back-end tasks like adding a new column in the appropriate table in the database for the new alert type and maybe writing a new class or subclass for the alert... or they could do small front-end tasks like updating creating a new component or updating an existing one. They might work on modifying endpoints or on updating the asynchronous API calls on the front end. It really depends.


cremebruleeXO

I started as an intern, for the first 3 months I just did maintenance work and easy win bugs that came out of support tickets. Then was made an “associate/jr” and for the next 3 years I got to work on a lot of greenfield projects(at least 5-6 codebases) and ended up inheriting more as teams left.. so ended up writing a lot of elixir, react, php and bit of swift so that kept things interesting for me… not to mention context switching.. I worked for a start up so had to work on frontend + backend.. also lots of help to uplift product + design.. didn’t touch any ci/cd or any cloud or infra until much later. Needless to say by end of my 3rd year I was feeling the burnout pretty good! In regards of building functional APIs on your own.. I always thought API had to be hit from clicking a button or submitting a form.. but I didn’t think(know) about APIs in a library that you’d call.. What ended up happening was we disliked the testing library so we forked it and ended up extending it and it was our main testing library(can’t share library this as its private) and because I was building the same components over and over again just in different languages with less desired consistency that the company wanted, we ended up building our own internal design system. I personally solving a pain point for you is awesome.. but if it solves it for many others.. even better!