Hi,
I have just started my first semester in a Bachelor program 'Computer Engineering'. I have above basic knovledge in Java SE and currently am interested in Python. The problem is that I'm facing some difficulties in determing my purposes about my future career in IT field. I used to be recomended to pay a lot of attention to extracurricular activities and to get involved in a variety of projects as much as possible and form own portfolio. By now I haven't done anything important in Java or Python. But I've learned the syntax and some parts of the liblary of these languages enough to work as an assistant to team of developers. The problem is that I don't know how to hone my skills in programming with these languages. I understand that I should work in a team of developers on some project but I have not any idea how to join such teams. If it is possible I would join online such teams and could offer my assistance in anything which I can do. Please give me some guides how to act in my situation. Any advice would be appreciated.

Dani AI

Generated

Practical, hands-on steps that move language knowledge into team-ready work — building a portfolio and contributing to real projects. This complements the encouragement from and the “break concepts into chunks” idea from by turning those high-level tips into a concrete routine and entry path.

Recommended next steps:

  • Complete one end-to-end project (design → implementation → tests → README → simple deployment). Keep it small and finish it; finished work is far more persuasive than unfinished plans.
  • Learn the pull-request workflow and make tiny, frequent commits so history shows steady progress.
  • Start contributing to existing projects with low-risk changes (docs, tests, bugfixes) to get review experience and visible PRs.
  • Join on-campus teams, student research groups, hackathons, or language-specific communities for real teamwork and mentoring.

A minimal PR workflow example:

git clone REPO_URL
cd repo
git checkout -b feature/short-description
# implement changes, run tests locally
git add .
git commit -m "Add: short feature (tests included)"
git push origin feature/short-description
# open a pull request on the host and reference the issue number

Portfolio priorities (what to show): three to five complete projects with clear READMEs, unit tests, a short “what I learned” note for each, and commit history that demonstrates incremental development. One project should highlight collaboration (a paired repo or a merged PR into someone else’s project). Small demo videos or a README walkthrough help non-technical reviewers.

Practical cautions: avoid spreading effort across dozens of tiny unfinished experiments. A steady weekly cadence (e.g., one small project + one open-source PR per month) compounds quickly. For this path converts syntax knowledge into demonstrable team experience and makes joining real developer teams far easier.

Recommended Answers

All 3 Replies

I guess everything will come to you when you will be a little older. I can remember my situation which was very similar to yours. So - don't worry and just learn.

I guess everything will come to you when you will be a little older. I can remember my situation which was very similar to yours. So - don't worry and just learn.

Thanks for showing interest to my problem, but I expected more detailed and exact advice. Please, anybody who can help me I'm waiting for an advice from you

I don't think there is any solid advice anyone can give you in order to progress career wise, I hate to drag up over used phrases but sometimes it is who you know, not what you know.

But in terms of progressing your ability when it comes to programming, I've found the best way is to tackle things in small chunks. For example I imaging one of the things they will be teaching you if you're learning Java is polymorphism; if someone said to you "write a useful program that uses polymorphism" you'd probably struggle to think of a situation where it could be used, but if you just make sure you get your head around the actual concept you'll be able to put it to use when the time is right.

Some people will disagree with me (as everyone learns in different ways), but I think the best way to do it is by learning the various concepts and techniques that people use. At the same time however I find learning things on a slightly lower level to be more entertaining, so making stuff that does new things in terms of how it works is very rewarding for me, as opposed to making things that would be of use to people; so maybe you should just go along with whatever you find the most entertaining.

Hopefully my view is of some use to you, and the only advice I can give regarding progressing your career is keep your head down and work hard.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.